본문 바로가기
클라우드

AWS Client VPN이란? 원격 사용자를 AWS VPC에 안전하게 연결하는 관리형 VPN

by gasbugs 2026. 6. 13.
반응형

AWS에서 VPN이라고 하면 보통 Site-to-Site VPN을 먼저 떠올리는 경우가 많습니다. 하지만 Site-to-Site VPN은 회사 IDC, 지점, 온프레미스 네트워크와 AWS VPC를 연결할 때 사용하는 방식입니다. 반면 개발자, 운영자, 협력사 담당자처럼 “개인 사용자 단말”에서 AWS 내부 리소스에 접속해야 하는 경우에는 AWS Client VPN을 사용할 수 있습니다.

 

AWS Client VPN은 사용자의 노트북이나 데스크톱에서 AWS VPC 또는 온프레미스 네트워크로 안전하게 접속할 수 있도록 제공되는 관리형 클라이언트 기반 VPN 서비스입니다. 쉽게 말하면, 사용자가 VPN 클라이언트를 실행해 AWS 안쪽 네트워크에 들어가는 방식입니다.

 

왜 AWS Client VPN이 필요한가?

AWS VPC 내부에는 외부 인터넷에서 직접 접근하면 안 되는 리소스가 많습니다.

예를 들어 다음과 같은 리소스가 있을 수 있습니다.

Private EC2
Private RDS
Internal ALB
EKS Private Endpoint
관리용 웹 콘솔
사내 업무 시스템
모니터링 대시보드

 

이런 리소스에 접속하기 위해 Public IP를 부여하거나 보안그룹에서 22번, 3389번, 3306번 같은 포트를 외부에 열어두는 것은 보안상 좋지 않습니다.

 

전통적으로는 Bastion Host를 두고 다음과 같이 접근했습니다.

사용자 PC
  -> Bastion Host
      -> Private EC2 / RDS / 내부 서비스

 

하지만 사용자 단말에서 VPC 내부 네트워크 자체에 접속해야 하는 경우에는 Client VPN 방식이 더 자연스러울 수 있습니다.

사용자 PC
  -> AWS Client VPN Endpoint
      -> VPC 내부 리소스

AWS Client VPN의 기본 구조

AWS Client VPN의 핵심 구성은 다음과 같습니다.

사용자 PC
  -> VPN Client
      -> Client VPN Endpoint
          -> Target Network
              -> VPC 내부 리소스

여기서 Client VPN Endpoint는 사용자의 VPN 연결이 종료되는 지점입니다. 사용자는 VPN 클라이언트를 통해 이 엔드포인트에 접속하고, AWS는 설정된 라우팅과 권한 규칙에 따라 VPC 내부 리소스로 접근을 허용합니다.

 

주요 구성 요소

AWS Client VPN을 이해하려면 다음 구성 요소를 알아야 합니다.

구성 요소 설명
Client VPN Endpoint 사용자의 VPN 세션이 연결되는 AWS 측 VPN 엔드포인트
Target Network Client VPN Endpoint와 연결되는 VPC Subnet
Client CIDR VPN 접속 사용자에게 할당할 IP 대역
Route Table VPN 사용자가 어느 네트워크로 갈 수 있는지 정의
Authorization Rule 어떤 사용자 또는 그룹이 어떤 네트워크에 접근 가능한지 정의
Security Group VPC 리소스 접근을 제어하는 네트워크 방화벽
Client Configuration File 사용자가 VPN 클라이언트에 가져와서 사용하는 설정 파일

 

예를 들어 VPC CIDR이 10.0.0.0/16이고, VPN 사용자에게 172.16.0.0/22 대역을 할당한다고 가정하면 다음과 같은 구조가 됩니다.

사용자 PC VPN IP: 172.16.0.10
VPC 내부 대역: 10.0.0.0/16

사용자 PC
  -> Client VPN Endpoint
      -> Private EC2 10.0.1.10
      -> RDS 10.0.2.20

인증 방식

Client VPN은 사용자가 VPN에 접속할 수 있는지 확인하기 위해 인증 방식을 사용합니다.

대표적인 인증 방식은 다음과 같습니다.

인증 방식 설명
Mutual Authentication 클라이언트 인증서와 서버 인증서를 사용하는 방식
Active Directory Authentication AWS Directory Service 또는 AD 기반 사용자 인증
Federated Authentication SAML 기반 IdP를 통한 사용자 인증

 

실무에서는 단순 테스트나 실습에서는 인증서 기반 Mutual Authentication을 많이 사용하고, 기업 환경에서는 SAML 기반 연동이나 Active Directory 기반 인증을 검토하는 경우가 많습니다.

 

중요한 점은 인증이 “VPN 접속 가능 여부”를 판단한다는 것입니다. 인증이 성공해야 사용자는 Client VPN Endpoint에 연결할 수 있습니다.

 

권한 부여와 접근 제어

Client VPN에서는 인증만으로 모든 접근이 허용되는 것이 아닙니다. 접속 후에는 Authorization Rule과 Security Group을 통해 접근 범위를 제어해야 합니다.

 

예를 들어 운영팀은 전체 VPC에 접근 가능하지만, 개발팀은 개발 서버 대역만 접근하도록 나눌 수 있습니다.

운영팀:
  10.0.0.0/16 전체 접근 허용

개발팀:
  10.0.10.0/24 개발 서버 대역만 접근 허용

협력사:
  10.0.20.10/32 특정 서버만 접근 허용

 

이런 식으로 사용자 그룹별 접근 범위를 나누면 VPN을 열어주더라도 내부 전체 네트워크가 무조건 노출되는 것을 막을 수 있습니다.

 

라우팅 방식: Full Tunnel과 Split Tunnel

Client VPN에서 중요한 개념 중 하나가 라우팅 방식입니다.

기본적으로는 모든 사용자 트래픽이 VPN 터널을 통해 전달될 수 있습니다. 이를 Full Tunnel 방식이라고 볼 수 있습니다.

사용자 인터넷 트래픽
사용자 AWS 접속 트래픽
모두 VPN 터널 경유

 

반면 Split Tunnel을 활성화하면 AWS로 향하는 트래픽만 VPN 터널을 타고, 일반 인터넷 트래픽은 사용자 PC의 기존 인터넷 경로를 사용합니다.

AWS VPC 트래픽 -> VPN 터널
일반 인터넷 트래픽 -> 사용자 로컬 인터넷

 

실무에서는 대부분 Split Tunnel을 선호하는 경우가 많습니다. AWS 내부 리소스 접근만 VPN으로 보내고, 사용자의 일반 인터넷 트래픽까지 AWS를 경유시키지 않기 때문입니다. 이 방식은 트래픽 경로가 단순해지고, 불필요한 데이터 전송 비용을 줄이는 데도 도움이 됩니다.

 

다만 보안 정책상 모든 트래픽을 중앙 보안 장비나 프록시를 통해 통제해야 하는 조직이라면 Full Tunnel을 선택할 수도 있습니다.

 

Client VPN 연결 흐름

사용자 관점에서 Client VPN 연결 흐름은 다음과 같습니다.

1. 관리자가 Client VPN Endpoint 생성
2. 인증 방식과 서버 인증서 설정
3. Target Network로 VPC Subnet 연결
4. Route Table에 접근 대상 네트워크 추가
5. Authorization Rule로 접근 허용 범위 설정
6. 필요한 Security Group 규칙 설정
7. Client Configuration File 다운로드
8. 사용자가 VPN Client에 설정 파일 가져오기
9. VPN 연결 후 Private 리소스 접속

 

예를 들어 사용자가 VPN에 연결한 뒤 Private EC2에 SSH로 접속하거나, Internal ALB 주소로 웹 애플리케이션에 접속할 수 있습니다.

ssh ec2-user@10.0.1.10

 

또는 내부 웹 서비스에 접속할 수 있습니다.

http://internal-service.example.local

Bastion Host와 Client VPN의 차이

Bastion Host와 Client VPN은 모두 내부 리소스 접근을 위한 방법이지만 사용 목적이 조금 다릅니다.

항목 Bastion Host AWS Client VPN
접근 방식 점프 서버 경유 사용자 PC가 VPN으로 VPC에 접속
주 사용 목적 서버 SSH/RDP 접속 VPC 내부 네트워크 접근
운영 대상 Bastion EC2 관리 필요 AWS 관리형 VPN Endpoint 사용
사용자 경험 Bastion 접속 후 내부 서버 접속 VPN 연결 후 내부 리소스 직접 접근
접근 범위 보통 서버 접속 중심 VPC, Peering VPC, 온프레미스까지 확장 가능
보안 통제 SG, OS 계정, SSH Key, PAM 등 인증, 권한 규칙, SG, 라우팅 제어

 

단순히 EC2 셸 접속만 필요하다면 Session Manager가 더 적합할 수 있습니다. 반면 사용자가 VPC 내부의 여러 서비스, 웹 콘솔, 데이터베이스, 내부 API 등에 접근해야 한다면 Client VPN이 더 자연스러운 선택입니다.

Session Manager와 Client VPN의 차이

AWS Systems Manager Session Manager는 Bastion 없이 EC2에 접속하는 기능입니다. 하지만 접속 대상은 주로 EC2 셸입니다.

 

반면 Client VPN은 사용자의 단말을 AWS 내부 네트워크에 연결합니다.

항목 Session Manager AWS Client VPN
목적 EC2 관리 접속 VPC 내부 네트워크 접속
접속 대상 EC2 인스턴스 중심 EC2, RDS, Internal ALB, EKS, 사내망 등
사용자 단말 IP VPC에 직접 들어오는 구조는 아님 VPN Client CIDR IP를 할당받음
SSH Key 불필요 접근 대상에 따라 필요할 수 있음
적합한 상황 운영자가 EC2 셸에 접속 사용자가 내부 서비스 여러 개에 접근

 

따라서 둘 중 하나만 정답이라고 보기는 어렵습니다.

 

운영자가 EC2에 접속해야 한다면 Session Manager가 좋고, 사용자 단말에서 VPC 내부 서비스에 접근해야 한다면 Client VPN이 적합합니다.

 

실무 설계 시 주의할 점

AWS Client VPN을 설계할 때는 다음 사항을 주의해야 합니다.

  • 첫째, Client CIDR은 VPC CIDR이나 온프레미스 네트워크 대역과 겹치면 안 됩니다. VPN 사용자에게 할당되는 IP 대역이 기존 네트워크와 겹치면 라우팅 문제가 발생할 수 있습니다.
  • 둘째, Authorization Rule을 너무 넓게 열지 않는 것이 좋습니다. 테스트에서는 10.0.0.0/16 전체 접근을 허용할 수 있지만, 운영에서는 사용자 그룹별로 접근 범위를 나누는 것이 좋습니다.
  • 셋째, Security Group도 함께 설계해야 합니다. Client VPN에서 접근을 허용했다고 해서 대상 EC2나 RDS의 보안그룹이 자동으로 열리는 것은 아닙니다. 대상 리소스의 보안그룹에서도 Client VPN 경로에서 들어오는 트래픽을 허용해야 합니다.
  • 넷째, Split Tunnel 여부를 신중하게 결정해야 합니다. 일반적인 운영 접속은 Split Tunnel이 효율적이지만, 모든 사용자 트래픽을 중앙에서 통제해야 하는 보안 정책이 있다면 Full Tunnel을 고려해야 합니다.
  • 다섯째, 연결 로그를 활성화하는 것이 좋습니다. 누가 언제 VPN에 연결했는지, 어떤 사용자가 접속했는지 추적할 수 있어야 보안 감사와 장애 분석에 유리합니다.

 

비용 관점

AWS Client VPN은 일반적으로 Client VPN Endpoint 연결 시간과 활성 VPN 연결 시간을 기준으로 비용이 발생합니다. 여기에 데이터 전송, CloudWatch Logs, Public IPv4 주소, Lambda 기반 연결 핸들러 등을 사용하면 추가 비용이 발생할 수 있습니다.

 

따라서 테스트 후에는 사용하지 않는 Client VPN Endpoint와 Subnet Association을 정리해야 합니다. 특히 교육 실습 환경에서는 실습이 끝난 뒤 Endpoint를 삭제하지 않으면 시간 단위 비용이 계속 발생할 수 있습니다.

 

언제 AWS Client VPN을 쓰면 좋은가?

AWS Client VPN은 다음과 같은 상황에 적합합니다.

원격 근무자가 AWS VPC 내부 서비스에 접근해야 할 때
개발자가 Private RDS 또는 Internal ALB에 접속해야 할 때
협력사에게 제한된 내부 시스템 접근을 제공해야 할 때
Bastion Host 없이 내부 네트워크 접근 환경을 제공하고 싶을 때
온프레미스와 AWS 내부 자원을 함께 접근해야 할 때

 

반대로 단순히 EC2 한두 대에 셸 접속만 하면 되는 경우라면 Session Manager가 더 단순하고 안전할 수 있습니다.

결론

AWS Client VPN은 원격 사용자가 AWS VPC 내부 리소스에 안전하게 접근할 수 있도록 해주는 관리형 VPN 서비스입니다. Bastion Host처럼 특정 서버를 거쳐 들어가는 방식이 아니라, 사용자의 단말이 VPN을 통해 AWS 내부 네트워크에 연결되는 구조입니다.

 

따라서 단순 서버 관리 접속은 Session Manager, VPC 내부 서비스 접근은 Client VPN, 지점이나 IDC와 AWS 연결은 Site-to-Site VPN으로 구분해서 이해하면 좋습니다.

 

한 문장으로 정리하면 다음과 같습니다.

AWS Client VPN은 원격 사용자 PC를 AWS VPC 내부 네트워크에 안전하게 연결해주는 관리형 클라이언트 VPN 서비스다.

 

반응형