AWS CLI를 사용하여 Client VPN을 구성하려면 어떻게 해야 하나요?

3분 분량
0

AWS Command Line Interface(AWS CLI)를 사용하여 AWS Client VPN을 구성하고 싶습니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요. Client VPN 서비스에 대한 API 작업은 최신 AWS CLI 버전에서만 사용할 수 있습니다.

상호 인증으로 Client VPN 구성

상호 인증으로 Client VPN을 구성하려면 다음 단계를 완료하세요.

  1. 서버 및 클라이언트 인증서를 생성한 다음, 인증서를 AWS Certificate Manager(ACM)에 업로드합니다.
  2. 서버 인증서 ARN 및 클라이언트 인증서 ARN에 유의하세요.
  3. create-client-vpn-endpoint 명령을 실행합니다. 예를 들어, 다음 명령은 172.16.0.0/16의 클라이언트 CIDR 블록과 상호 인증을 사용하는 엔드포인트를 만듭니다.
    $ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=certificate-authentication,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678} --connection-log-options Enabled=false

참고:

  • 클라이언트 IPv4 CIDR 블록의 경우, 클라이언트 IP 주소를 할당하려면 CIDR 표기법에 IP 주소 범위를 지정합니다.
  • ClientRootCertificateChainArn는 클라이언트 인증서의 ARN입니다. 인증 기관(CA)이 인증서에 서명해야 하며, ACM에서 인증서를 생성해야 합니다.
  • AWS Client VPN은 AWS 리전별로 다릅니다. VPN의 지역은 인증서의 지역과 일치해야 합니다.

사용자 기반 인증으로 Client VPN 구성

Active Directory 인증

Active Directory 인증을 사용하여 Client VPN을 구성하려면 다음 단계를 완료합니다.

  1. 디렉터리 ID에 AWS Active Directory의 ID를 지정합니다.
  2. create-client-vpn-endpoint 명령을 실행합니다. 예를 들어, 다음 명령은 클라이언트 CIDR 블록이 172.16.0.0/16인 Active Directory 기반 인증을 사용하는 엔드포인트를 만듭니다.
    $ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=directory-service-authentication,ActiveDirectory={DirectoryId=d-1234567890} --connection-log-options Enabled=false

참고:

  • DNS 확인을 위해 사용자 지정 DNS 서버를 전달하려면 -dns-servers 옵션을 사용합니다. Client VPN 엔드포인트는 최대 2개의 DNS 서버를 가질 수 있습니다. DNS 서버를 지정하지 않으면 로컬 장치에 구성된 DNS 주소가 사용됩니다.
  • —transport-protocol 옵션을 사용하여 VPN 세션의 전송 프로토콜을 설정합니다.

페더레이션 인증(SAML 기반 연합 인증의 경우)

페더레이션 인증을 사용하여 Client VPN을 구성하려면 다음 단계를 완료합니다.

  1. SAML 공급자 ARN의 경우, AWS Identity and Access Management(IAM) Security Assertion Markup Language(SAML) ID 공급자의 ARN을 지정합니다.
  2. create-client-vpn-endpoint 명령을 실행합니다. 예를 들어, 다음 명령은 172.16.0.0/16의 클라이언트 CIDR 블록으로 페더레이션 인증을 사용하는 엔드포인트를 만듭니다.
    $ aws --region us-east-1 ec2 create-client-vpn-endpoint --client-cidr-block 172.16.0.0/16 --server-certificate-arn arn:aws:acm:us-east-1:1234567890:certificate/abc1d23e-45fa-678b-9cd0-ef123a45b678 --authentication-options Type=federated-authentication,FederatedAuthentication={SAMLProviderArn=arn:aws:iam::123456789012:saml-provider/MySAMLProvider} --connection-log-options Enabled=false
    참고: SAMLProviderArn을 IAM에 있는 SAML 공급자 리소스의 ARN으로 바꾸고 MySAMLProvider를 사용자의 SAML 공급자 이름으로 바꿉니다.

서브넷을 Client VPN과 연결

associate-client-vpn-target-network 명령을 실행하여 서브넷을 Client VPN 엔드포인트와 연결합니다.

$  aws --region us-east-1 ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --subnet-id subnet-0123456789abc123

이 작업은 Client VPN의 상태를 사용 가능으로 변경합니다. Virtual Private Cloud(VPC)의 로컬 경로는 Client VPN 엔드포인트 라우팅 테이블에 자동으로 추가됩니다. 서브넷 연결 시 VPC의 기본 보안 그룹이 자동으로 적용됩니다. 서브넷을 연결한 후 보안 그룹을 수정할 수 있습니다.

클라이언트에 대상 VPC에 대한 액세스 권한을 부여하는 권한 부여 규칙 추가

권한 부여 규칙을 추가하려면 사용하는 인증에 대해 authorize-client-vpn-ingress 명령을 실행합니다.

상호 인증

$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --authorize-all-groups

Active Directory 인증

$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id S-1-2-34-1234567890-1234567890-1234567890-1234

페더레이션 인증(SAML 2.0)

$ aws --region us-east-1 ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --target-network-cidr 10.0.0.0/16 --access-group-id MyAccessGroup

참고: MyAccessGroup을 공급자 그룹의 액세스 그룹 ID로 바꿉니다.

(선택 사항) create-client-vpn-route 명령을 실행하여 Client VPN 엔드포인트의 대상 네트워크에 추가 경로를 추가합니다.

$ aws --region us-east-1 ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abcabca

Client VPN 엔드포인트 구성 파일 내보내기

Client VPN 엔드포인트 구성 파일을 내보냅니다. 이 파일을 사용하여 클라이언트에 배포합니다.

참고: 상호 인증을 사용하여 Client VPN을 구성한 경우 export-client-vpn-client-configuration 명령을 실행하여 클라이언트 인증서 및 클라이언트 키를 구성 파일에 추가합니다.

$ aws --region us-east-1 ec2 export-client-vpn-client-configuration --client-vpn-endpoint-id cvpn-endpoint-0ab1cd234ef567ab890 --output text > client-config.ovpn
AWS 공식
AWS 공식업데이트됨 8달 전