상호 인증 (Mutual)
클라이언트 인증서로 기기를 인증합니다. 인증서 해지 목록으로 분실 기기의 접속을 막고, 클라이언트 연결 핸들러로 기기 상태를 평가할 때도 이 방식이 필요합니다.
ACMCRL 20,000 entriesAWS Client VPN · 관리형 원격 접속
AWS Client VPN은 OpenVPN 기반 클라이언트로 AWS와 온프레미스 리소스에 접속하는 관리형 VPN입니다. 인증은 인증서, Active Directory, SAML 2.0 IdP로 하고, 접근 범위는 사용자 그룹과 목적지 CIDR 단위로 정합니다. VPN 서버를 직접 운영하거나 증설하지 않아도 됩니다.
Mutual certActive DirectorySAML 2.0UDPTCP443119410.100.0.0/22enabled10.0.0.0/16172.16.0.0/24VPC subnetsTransit Gateway강조된 값이 이 예시에서 선택한 설정입니다. 전송 프로토콜은 엔드포인트를 만든 뒤 바꿀 수 없습니다.
리전별 월간 가동률 SLA
인증 방식 (인증서 · AD · SAML)
지원 포트, TCP · UDP
클라이언트 IPv4 CIDR 크기 범위
Why Client VPN
VPN 어플라이언스를 직접 운영하면 용량 계획, 패치, 이중화를 모두 챙겨야 합니다. Client VPN은 접속자 수에 맞춰 확장되고, 인증과 접근 제어를 기존 ID 체계에 연결합니다.
엔드포인트를 만들고 서브넷이나 Transit Gateway를 연결하면 됩니다. 접속자 수에 따라 AWS가 용량을 관리합니다.
AWS Directory Service의 Active Directory나 SAML 2.0 IdP를 쓰고, IdP의 MFA를 그대로 적용합니다.
권한 규칙으로 그룹마다 접근할 수 있는 네트워크를 정합니다. 규칙이 없는 목적지는 기본적으로 차단됩니다.
Authentication
어떤 방식이든 서버 인증서는 엔드포인트와 같은 리전의 AWS Certificate Manager(ACM)에 있어야 합니다. 인증서 기반 인증은 사용자 기반 인증과 함께 쓸 수 있습니다.
클라이언트 인증서로 기기를 인증합니다. 인증서 해지 목록으로 분실 기기의 접속을 막고, 클라이언트 연결 핸들러로 기기 상태를 평가할 때도 이 방식이 필요합니다.
ACMCRL 20,000 entriesAWS Directory Service에 연결된 디렉터리의 사용자 자격 증명으로 인증합니다. 디렉터리는 엔드포인트와 같은 계정에 있어야 합니다.
AWS Directory ServiceMFAAD groupsIAM SAML 자격 증명 공급자로 Okta 같은 외부 IdP와 연동해 SSO로 접속합니다. 이 방식은 AWS 제공 클라이언트로 접속합니다.
SAML 2.0IAM SAML providerSSO조합할 수 있는 방식Mutual + Active DirectoryMutual + SAML함께 설정하면 두 인증을 모두 통과해야 접속됩니다.
Authorization rules
권한 규칙은 목적지 CIDR과 그룹 ID(또는 모든 사용자)의 조합입니다. 허용 규칙만 만들 수 있고, 가장 구체적인 접두사가 우선합니다.
Features
Routing
켜면 엔드포인트 라우팅 테이블의 경로만 클라이언트에 푸시되어 해당 트래픽만 터널로 보냅니다. 기본값은 꺼짐으로, 모든 트래픽이 터널을 지납니다.
Visibility
접속 시도와 연결, 종료 기록을 Amazon CloudWatch Logs로 보냅니다. 사용량 분석과 사고 조사에 씁니다.
Custom logic
인증 뒤, 권한 규칙 평가 전에 Lambda 함수로 접속을 허용하거나 거부합니다. 함수 이름은 AWSClientVPN- 으로 시작해야 하고 제한 시간은 30초입니다.
Device posture
CrowdStrike, Jamf, JumpCloud 기기 신뢰 공급자의 정보로 Cedar 기반 정책을 평가합니다. 접속할 때와 세션 중 5분마다 다시 평가하며, 차단 없이 기록만 하는 shadow mode로 먼저 검증할 수 있습니다. AWS 제공 클라이언트 6.2.0 이상이 필요합니다.
Distribution
사용자가 포털에서 AWS 제공 클라이언트와 엔드포인트 구성 파일을 직접 내려받습니다. 구성 파일을 따로 배포하지 않아도 됩니다. 클라이언트 6.x는 CLI와 관리자용 프로필 제어도 지원합니다.
Session
최대 세션 시간(8·10·12·24시간, 기본 24시간)과 만료 시 재접속 방식을 정하고, 접속 시 보여줄 배너(최대 1,400자)를 설정합니다.
Target network
엔드포인트를 만들 때 한 가지 연결 방식을 고릅니다. 두 방식을 한 엔드포인트에 섞을 수 없습니다.
| 연결 방식 | 접근 범위 | 클라이언트 IP | 접근 제어 | 어떤 경우에 맞나 |
|---|---|---|---|---|
| VPC 서브넷 연결 Subnet association |
연결한 VPC와, 그 VPC에서 라우팅되는 네트워크 | 엔드포인트 네트워크 인터페이스 주소로 SNAT | 권한 규칙과 보안 그룹 | 한 VPC를 중심으로 원격 접속을 제공하는 경우 |
| Transit Gateway 연결 client-vpn attachment |
같은 리전 Transit Gateway에 연결된 여러 VPC와 온프레미스 | SNAT 없이 원본 클라이언트 IP 유지 | 네트워크 기반 권한 규칙 (보안 그룹 미적용) | 중계용 VPC 없이 여러 VPC에 접속하고, 사용자별 트래픽을 추적해야 하는 경우 |
Reference architecture
사용자는 OpenVPN 기반 클라이언트로 엔드포인트에 TLS 터널을 맺고, 엔드포인트는 IdP나 디렉터리로 인증합니다. Transit Gateway에 연결한 엔드포인트는 원본 클라이언트 IP를 유지한 채 여러 VPC와 온프레미스로 트래픽을 보냅니다.
좁은 화면에서는 다이어그램을 좌우로 밀어서 보세요.
Getting started
ACM에 서버 인증서를 두고, 클라이언트 인증서나 디렉터리, SAML 공급자를 준비합니다.
클라이언트 CIDR, 전송 프로토콜, Split tunnel, 연결 로그를 정합니다.
VPC 서브넷을 연결하거나 Transit Gateway 어태치먼트가 available이 될 때까지 기다립니다.
그룹별 권한 규칙과 목적지 라우트를 추가하고, VPC에 클라이언트 CIDR로 가는 복귀 경로를 둡니다.
구성 파일을 내보내거나 셀프 서비스 포털을 켜서 사용자에게 안내합니다.
Pricing
엔드포인트에 연결한 대상 네트워크 수와 동시에 활성화된 클라이언트 연결 수가 시간 단위로 과금됩니다. 로그, Lambda, 데이터 전송은 각 서비스 요금으로 더해집니다.
| 과금 항목 | 과금 기준 | 참고 |
|---|---|---|
| 엔드포인트 연결 | 대상 네트워크 연결(association)마다 시간당 | IPv6·듀얼 스택 엔드포인트도 IPv4와 같은 단가입니다. |
| 클라이언트 연결 | 활성 VPN 연결마다 시간당 | 접속한 사용자 수에 비례합니다. |
| 데이터 전송 | EC2에서 인터넷으로 나가는 데이터 전송(DTO) | Full tunnel로 인터넷 트래픽까지 보내면 이 비용이 늘어납니다. |
| 퍼블릭 IPv4 주소 | 클라이언트 연결의 터널에 쓰이는 퍼블릭 IPv4 주소 | 표준 퍼블릭 IPv4 주소 요금(VPC 요금 페이지)이 적용됩니다. |
| 연결 로그 | CloudWatch Logs 로그 그룹 사용량 | CloudWatch 요금으로 청구됩니다. |
| 클라이언트 연결 핸들러 | Lambda 함수 호출 | AWS Lambda 요금으로 청구됩니다. |
| Transit Gateway 연결 | Transit Gateway 표준 요금 | Transit Gateway 통합 자체에는 추가 요금이 없습니다. |
요금 단가는 리전과 사용량에 따라 다릅니다. 최신 단가는 AWS VPN 요금 페이지에서 확인하세요.
Next step
사용자 규모, 쓰고 있는 IdP나 디렉터리, 접속해야 할 네트워크를 정리해 오시면 인증 방식과 권한 규칙 설계를 함께 검토합니다.