AWS Client VPN 구성해보기

2025. 4. 12. 19:55AWS

이번에 회사에서 네트워크 망 분리에 따른 AWS의 SSL VPN을 구성하게 되어 내용을 공유한다.
내용 자체는 크게 어렵지 않고, 여기를 클릭해서 확인할 수 있다.

요약하자면 간단하다.

Client VPN의 특징

  • 보안 연결: OpenVPN 클라이언트를 사용하여 어디에서든 안전한 TLS 연결을 제공한다.
  • 관리형 서비스 : AWS에서 관리하는 서비스이기 때문에, 타사의 VPN 솔루션을 배포하고 관리하는 데 따른 운영상의 부담을 제거한다.
  • 높은 가용성과 탄력성 : AWS 리소스와 On-premiss 리소스에 연결하는 사용자 수에 따라 자동으로 확장된다.
  • 인증 : Active Directory, 인증서 기반 인증 등을 사용하여 클라이언트 인증을 지원한다.
  • 세분화된 제어 : 네트워크 기반 엑세스 규칙을 정의하여 사용자 지정 보안 제어를 구현할 수 있고, Active Directory 그룹 단위로도 구성이 가능하다. 우리에게 익숙한 보안 그룹으로도 제어가 가능하다.
  • 사용 편의성 : 단일 VPN 터널을 이용하여 AWS 리소스와 On-premiss 리소스에 엑세스 할 수 있다.
  • 관리 기능 : 클라이언트 연결 시도에 대한 세부 정보를 제공하는 연결 로그를 볼 수 있다. 그리고 활성화된 클라이언트의 연결을 관리하고 연결을 종료할 수 있다.
  • 심층적 통합 : AWS Directory Service & Amazon VPC를 포함한 기존 AWS Service와 통합된다.

구성

우리는 상호 인증방식을 사용할 예정이여서, AWS 에서도 OpenVPN easy-rsa 유틸리티를 사용해 서버 및 클라이언트 인증서를 생성하라고 한다. 이후 AWS Certificate Manager(ACM)으로 프로비저닝 하거나 가져와야 한다고 한다.

OpenVPN의 easy-rsa는 여기를 클릭하여 사이트의 Release 부분에서 OS에 맞는 내용을 다운로드 한다.

윈도우는 압축을 해제하고 EasyRSA-Start.bat를 터미널에서, Linux 환경에서는 easyrsa를 사용한다.

밑에 내용처럼 입력하자.

./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa --san=DNS:server build-server-full server nopass
./easyrsa build-client-full client1.domain.tld nopass

exit

 

pki\ca.crt, pki\issued\, pki\private\ 폴더를 확인해 ACM에 인증서를 등록한다.

 

정상적으로 등록되었는지 확인한다.

 

이후 VPC > Client VPN 엔드포인트로 접근한다.

 

클라이언트 VPN 엔드포인트 생성을 클릭하여 설정을 진행한다.

클라이언트 IPv4 CIDR은 정해진대로 하면 된다.

우리의 경우 IPSec VPN은 192 대역을, 서버는 10 대역을 사용하고 있어 SSL VPN(Client VPN)은 172를 사용하기로 했다.

 

기타 파라미터도 VPC ID를 선택하고 Client VPN에 적용 할 보안그룹을 선택한 후 생성한다.

 

이후 Available 상태로 변경 해야하는데,

대상 네트워크 연결에서 서브넷을 연결한다.

 

이후 권한 부여 규칙에서 접근하고자 하는 서버의 CIDR을 추가한다.

우리는 10.0.0.0/8 대역을 사용하므로 해당 대역을 추가했다.

 

이후 라우팅 테이블을 상황에 맞춰 추가하면 되긴 하는데, 대상 네트워크 연결을 추가할 때 자동으로 추가된다.

서울 리전의 a, b zone을 연결했는데, 2개의 라우팅 테이블이 추가되었다.

 

생성 이후 클라이언트 구성을 다운로드 한 이후, 여기를 클릭 해 Client VPN 프로그램을 다운로드 한 뒤 설치한다.

 

구성 파일(.ovpn)을 다운로드 하고, 파일을 열어보면 <ca> 부분에 CA 인증서가 적혀있다.

그 밑에 순차적으로 <cert></cert> 안에 클라이언트 인증서를 집어 넣고,

<key></key> 안에 클라이언트 private key를 집어넣으면 된다.

 

 

 

이후 프로필을 생성하고, 구성 파일을 집어넣어 SSL VPN (Client VPN Endpoint) 기능을 이용할 수 있다.

반응형

'AWS' 카테고리의 다른 글

Pulumi로 인프라 구축하기 (1)  (0) 2025.04.28
Amazon Linux 2023에서 Google Authenticator 적용하기  (0) 2025.04.18