[Cloud] VPN, Load Balancer

조성열·2025년 11월 3일

Toss - Cloud

목록 보기
3/3
post-thumbnail

1. VPN

VPN은 사용자 기기와 인터넷 사이에 터널을 만들어주는 기술이다. VPN을 설정하면 외부에서 내부 네트워크전용 회선이 놓인 것 같은 효과를 얻을 수 있다.
VPN이 지원하는 주요 기능은 다음과 같다.

  • 데이터 암호화: VPN 기술 자체는 암호화를 지원하지 않지만, 암호화 프로토콜(IPSec)을 함께 사용하여 사용자의 모든 인터넷 트래픽을 암호화하여, 해커, 인터넷 서비스 제공업체(ISP), 또는 제3자가 데이터를 엿보는 것을 방지한다.
  • IP 주소 마스킹: 사용자의 실제 IP 주소 대신 VPN 서버의 IP 주소를 사용하여 접속한다. 이를 통해 사용자의 실제 위치와 온라인 활동을 숨겨 익명성을 높인다.
  • 지리적 제한 우회: 인터넷 트래픽이 VPN 서버를 거치도록 경로를 변경함으로써, 특정 지역에서만 접근 가능한 콘텐츠(예: 해외 스트리밍 서비스, 검열된 웹사이트)에 접속할 수 있게 해준다.
  • 원격 접근: 기업 환경에서는 외부에서 회사 내부 네트워크에 안전하게 접속하는 용도로 사용된다.

1.1. Type of VPN

  • Site to Site VPN(Gateway to Gateway VPN)

양단 통신이 가능하도록 정책을 허용하여 종단이 다른 네트워크로 구성되어 있지만 동일 네트워크에 있는 거처럼 동작한다. 기존에는 Port Forwarding을 통해 내부 네트워크에 접근했지만 해당 VPN을 이용함으로서 더 안전하게 통신이 가능해졌다.
하지만 계정이 탈취된다면 다른 이용자가 쉽게 내부 네트워크로 접근이 가능해진다. 그래서 기업 환경에서는 SIEM(Security Information and Event Management), EDR(Endpoint Detection and Response) 같은 솔루션을 지원한다.

SIEM, EDR

SIEM은 '보안 정보 및 이벤트 관리'를 하는 기술로 시스템에서 발생하는 로그와 이벤트 데이터를 수집하고 분석하여 보안 위협을 탐지, 대응, 관리하는 사이버 보안 솔루션이다.
EDR은 기기에서 발생하는 사이버 위협을 탐지하고 대응하는 보안 솔루션으로 악성코드를 파일이 아닌 기기의 행위를 분석하여 탐지하며, 위협의 전 과정을 추적하고 분석하는 보안 솔루션이다.

  • IPSec VPN

IPSec VPN은 인터넷 프로토콜(IP) 계층에서 작동하며, IPSec이라는 보안 프로토콜 그룹을 사용하여 데이터를 암호화하고 인증함으로써 VPN을 구성하는 기술이다.


2. Load Balancer

먼저 HA 네트워크란 시스템의 단일 장애 지점(Single Point of Failure, SPOF) 을 제거하여 장애가 발생하더라도 서비스가 중단 없이 지속되도록 보장하는 네트워크 환경을 의미하고, 이러한 고가용성이 보장되는 네트워크 환경을 위해 네트워크 트래픽에 의한 부하를 분산하고 서버 하나에 장애가 발생해도 서비스의 지속성을 보장하는 Fail Over기능을 하는 것이 Load Balancer이다.

2.1 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이 잘 되고 있음을 확인할 수 있다.

0개의 댓글