VPN은 사용자 기기와 인터넷 사이에 터널을 만들어주는 기술이다. VPN을 설정하면 외부에서 내부 네트워크로 전용 회선이 놓인 것 같은 효과를 얻을 수 있다.
VPN이 지원하는 주요 기능은 다음과 같다.
양단 통신이 가능하도록 정책을 허용하여 종단이 다른 네트워크로 구성되어 있지만 동일 네트워크에 있는 거처럼 동작한다. 기존에는 Port Forwarding을 통해 내부 네트워크에 접근했지만 해당 VPN을 이용함으로서 더 안전하게 통신이 가능해졌다.
하지만 계정이 탈취된다면 다른 이용자가 쉽게 내부 네트워크로 접근이 가능해진다. 그래서 기업 환경에서는 SIEM(Security Information and Event Management), EDR(Endpoint Detection and Response) 같은 솔루션을 지원한다.
SIEM, EDR
SIEM은 '보안 정보 및 이벤트 관리'를 하는 기술로 시스템에서 발생하는 로그와 이벤트 데이터를 수집하고 분석하여 보안 위협을 탐지, 대응, 관리하는 사이버 보안 솔루션이다.
EDR은 기기에서 발생하는 사이버 위협을 탐지하고 대응하는 보안 솔루션으로 악성코드를 파일이 아닌 기기의 행위를 분석하여 탐지하며, 위협의 전 과정을 추적하고 분석하는 보안 솔루션이다.
IPSec VPN은 인터넷 프로토콜(IP) 계층에서 작동하며, IPSec이라는 보안 프로토콜 그룹을 사용하여 데이터를 암호화하고 인증함으로써 VPN을 구성하는 기술이다.
먼저 HA 네트워크란 시스템의 단일 장애 지점(Single Point of Failure, SPOF) 을 제거하여 장애가 발생하더라도 서비스가 중단 없이 지속되도록 보장하는 네트워크 환경을 의미하고, 이러한 고가용성이 보장되는 네트워크 환경을 위해 네트워크 트래픽에 의한 부하를 분산하고 서버 하나에 장애가 발생해도 서비스의 지속성을 보장하는 Fail Over기능을 하는 것이 Load Balancer이다.
실습환경 세팅
- ec2 인스턴스 2개 (하나는 그냥 생성 나머지는 이미지로 만들어서 올리기)
- vpc는 default 이용
- 보안 그룹에서 http 연결 정책 추가
- 생성한 두 인스턴스를 대상 그룹(target group)으로 설정
- Load Balancer 생성시 대상 그룹 지정 및 서브넷은 인스턴스 설정시 했던 서브넷 지정
- auto scaling을 위해 시작 템플릿 생성 후 auto scaling 생성

로드 밸런서 사용 실습을 위해 Ec2 인스턴스 2개를 만들어준다.

생성한 인스턴스들을 Target Group으로 지정한다.

그리고 로드밸런서를 생성 해준다.

생성한 로드 밸런서 DNS 주소로 접속하면 Ec2 인스턴스에 올려놓은 웹서버 페이지를 볼 수 있고, 다른 설정을 하지 않으면 기본적으로 Round-Robin으로 로드 밸런서가 작동하기 때문에 페이지 새로고침만 해줘도 각각 인스턴스에 설정한 웹 페이지로 바뀌는것을 확인할 수 있다.

로드밸런서에 Auto-Scaling 기능을 추가 해보자. Auto Scaling 그룹을 원하는 사양에 맞춰 설정하여 생성 해준다. 인스턴스 관리 탭에 들어가면 할당되어 있는 인스턴스를 확인할 수 있다.

각 인스턴스에 ssh 접속을 해주고 모니터링용 터미널도 켜준 상태에서 stress 패키지를 활용하여 각 인스턴스에 부하를 줄 것이다. 컴퓨팅 리소스 사용량 모니터링은 top 명령으로 확인 가능하다.

부하를 주기 전 각 인스턴스의 cpu 사용량이다. stress --cpu 2 --timeout 600 명령으로 cpu에 부하를 줘보자.

cpu 사용량이 100% 가까이 증가됨을 확인할 수 있고, Auto Scaling이 됐는지 확인해보자.

추가적으로 인스턴스가 할당된 것으로 보아 Auto Scaling이 잘 되고 있음을 확인할 수 있다.