VPC 엔드포인트 서비스 연결 구성 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

VPC 엔드포인트 서비스 연결 구성

이 섹션의 지침에 따라 VPC 엔드포인트 서비스 연결을 사용하는 외부 키 스토어에 필요한 AWS 리소스 및 관련 구성 요소를 생성하고 구성할 수 있습니다. 이 연결 옵션에 대해 나열된 리소스는 모든 외부 키 스토어에 필요한 리소스를 보충하는 것입니다. 필요한 리소스를 생성하고 구성한 후 외부 키 스토어를 생성할 수 있습니다.

Amazon VPC에서 외부 키 스토어 프록시를 찾거나 AWS 외부에서 프록시를 찾고 VPC 엔드포인트 서비스를 사용하여 통신할 수 있습니다.

시작하기 전에 외부 키 스토어가 필요한지 확인합니다. 대부분의 고객은 AWS KMS 키 구성 요소에서 지원하는 KMS 키를 사용할 수 있습니다.

참고

VPC 엔드포인트 서비스 연결에 필요한 일부 요소가 외부 키 관리자에 포함될 수 있습니다. 또한 소프트웨어에 추가 구성 요구 사항이 있을 수 있습니다. 이 섹션에서 AWS 리소스를 생성하고 구성하기 전에 프록시 및 키 관리자 설명서를 참조하세요.

VPC 엔드포인트 서비스 연결 요구 사항

외부 키 스토어에 대해 VPC 엔드포인트 서비스 연결을 선택하는 경우 다음 리소스가 필요합니다.

네트워크 지연 시간을 최소화하려면 외부 키 관리자와 가장 가까운 지원되는 AWS 리전에 AWS 구성 요소를 생성합니다. 가능하면 네트워크 왕복 시간(RTT)이 35밀리초 이하인 리전을 선택합니다.

  • 외부 키 관리자에 연결된 Amazon VPC. 두 개의 서로 다른 가용성 영역에 두 개 이상의 프라이빗 서브넷이 있어야 합니다.

    외부 키 스토어와 함께 사용하기 위한 요구 사항을 충족하는 경우 외부 키 스토어에 기존 Amazon VPC를 사용할 수 있습니다. 여러 외부 키 스토어가 Amazon VPC를 공유할 수 있지만 각 외부 키 스토어에는 자체 VPC 엔드포인트 서비스와 프라이빗 DNS 이름이 있어야 합니다.

  • Network Load Balancer대상 그룹과 함께 AWS PrivateLink로 구동되는 Amazon VPC 엔드포인트 서비스.

    엔드포인트 서비스에서 수락을 요구할 수 없습니다. 또한 AWS KMS를 허용된 보안 주체로 추가해야 합니다. 이를 통해 AWS KMS는 외부 키 스토어 프록시와 통신할 수 있도록 인터페이스 엔드포인트를 생성할 수 있습니다.

  • AWS 리전에서 고유한 VPC 엔드포인트 서비스의 프라이빗 DNS 이름.

    프라이빗 DNS 이름은 상위 수준 퍼블릭 도메인의 하위 도메인이어야 합니다. 예를 들어 프라이빗 DNS 이름이 myproxy-private.xks.example.com인 경우 xks.example.com 또는 example.com과 같은 퍼블릭 도메인의 하위 도메인이어야 합니다.

    프라이빗 DNS 이름에 대한 DNS 도메인의 소유권을 확인해야 합니다.

  • 외부 키 스토어 프록시에 대해 지원되는 공인 인증 기관에서 발급한 TLS 인증서.

    TLS 인증서의 주체 일반 이름(CN)은 프라이빗 DNS 이름과 일치해야 합니다. 예를 들어 프라이빗 DNS 이름이 myproxy-private.xks.example.com인 경우 TLS 인증서의 CN은 myproxy-private.xks.example.com 또는 *.xks.example.com이어야 합니다.

외부 키 스토어의 모든 요구 사항은 사전 조건 수집을 참조하세요.

1단계: Amazon VPC와 서브넷 생성

VPC 엔드포인트 서비스 연결에는 프라이빗 서브넷이 2개 이상 있는 외부 키 관리자에 연결된 Amazon VPC가 필요합니다. Amazon VPC를 생성하거나 외부 키 스토어의 요구 사항을 충족하는 기존 Amazon VPC를 사용할 수 있습니다. 새 Amazon VPC를 생성하는 방법에 대한 도움말은 Amazon Virtual Private Cloud 사용 설명서VPC 생성을 참조하세요.

Amazon VPC의 요구 사항

VPC 엔드포인트 서비스 연결을 사용하여 외부 키 스토어로 작업하려면 Amazon VPC에 다음 속성이 있어야 합니다.

  • 외부 키 스토어와 동일한 AWS 계정 및 지원되는 리전에 있어야 합니다.

  • 각각 다른 가용 영역에 있는 두 개 이상의 프라이빗 서브넷이 필요합니다.

  • Amazon VPC의 프라이빗 IP 주소 범위는 외부 키 관리자를 호스팅하는 데이터 센터의 프라이빗 IP 주소 범위와 겹치지 않아야 합니다.

  • 모든 구성 요소는 IPv4를 사용해야 합니다.

Amazon VPC를 외부 키 스토어 프록시에 연결하기 위한 많은 옵션이 있습니다. 성능과 보안 요구 사항에 맞는 옵션을 선택합니다. 목록을 보려면 다른 네트워크에 VPC 연결네트워크와 Amazon VPC 간 연결 옵션을 참조하세요. 자세한 내용은 AWS Direct ConnectAWS Site-to-Site VPN 사용 설명서를 참조하세요.

외부 키 스토어용 Amazon VPC 생성

다음 지침에 따라 외부 키 스토어용 Amazon VPC를 생성하세요. Amazon VPC는 VPC 엔드포인트 서비스 연결 옵션을 선택한 경우에만 필요합니다. 외부 키 스토어의 요구 사항을 충족하는 기존 Amazon VPC를 사용할 수 있습니다.

다음 필수 값을 사용하여 VPC, 서브넷 및 기타 VPC 리소스 생성 주제의 지침을 따르세요. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.

필드
IPv4 CIDR block VPC의 IP 주소를 입력합니다. Amazon VPC의 프라이빗 IP 주소 범위는 외부 키 관리자를 호스팅하는 데이터 센터의 프라이빗 IP 주소 범위와 겹치지 않아야 합니다.
가용 영역 수 2 이상
퍼블릭 서브넷 수

필요 없음(0)

프라이빗 서브넷 수 각 AZ에 대해 하나씩
NAT 게이트웨이 필요 없음
VPC 엔드포인트 필요 없음
Enable DNS hostnames
DNS 확인 활성화

VPC 통신을 테스트해야 합니다. 예를 들어 외부 키 스토어 프록시가 Amazon VPC에 없는 경우 Amazon VPC에서 Amazon EC2 인스턴스를 생성하고 Amazon VPC가 외부 키 스토어 프록시와 통신할 수 있는지 확인합니다.

외부 키 관리자에 VPC 연결

Amazon VPC가 지원하는 네트워크 연결 옵션을 사용하여 외부 키 관리자를 호스팅하는 데이터 센터에 VPC를 연결합니다. VPC의 Amazon EC2 인스턴스 또는 외부 키 스토어 프록시(VPC에 있는 경우)가 데이터 센터 및 외부 키 관리자와 통신할 수 있는지 확인합니다.

2단계: 대상 그룹 생성

필수 VPC 엔드포인트 서비스를 생성하기 전에 필수 구성 요소, Network Load Balancer(NLB) 및 대상 그룹을 생성합니다. Network Load Balancer(NLB)는 요청을 서비스할 수 있는 여러 정상 대상에 요청을 분산합니다. 이 단계에서는 외부 키 스토어 프록시에 사용할 호스트가 두 개 이상 있는 대상 그룹을 만들고 대상 그룹에 IP 주소를 등록합니다.

다음 필수 값을 사용하여 대상 그룹 구성 주제의 지침을 따르세요. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.

필드
대상 유형 IP 주소
프로토콜 TCP
Port

443

IP 주소 유형 IPv4
VPC 외부 키 스토어에 대한 VPC 엔드포인트 서비스를 생성할 VPC를 선택합니다.
상태 확인 프로토콜 및 경로

상태 확인 프로토콜 및 경로는 외부 키 스토어 프록시 구성에 따라 달라집니다. 외부 키 관리자 또는 외부 키 스토어 프록시의 설명서를 참조하세요.

대상 그룹의 상태 확인 구성에 대한 일반 정보는 Elastic Load Balancing - Network Load Balancer 사용 설명서대상 그룹에 대한 상태 확인을 참조하세요.
네트워크 다른 프라이빗 IP 주소
IPv4 주소 외부 키 스토어 프록시의 프라이빗 주소
포트 443

3단계: 새 Network Load Balancer 생성

Network Load Balancer는 AWS KMS에서 외부 키 스토어 프록시로의 요청을 포함하여 네트워크 트래픽을 구성된 대상으로 분산합니다.

로드 밸런서 및 리스너 구성 주제의 지침에 따라 리스너를 구성 및 추가하고 다음 필수 값을 사용하여 로드 밸런서를 생성합니다. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.

필드
스킴 Internal(내부)
IP 주소 유형 IPv4
네트워크 매핑

외부 키 스토어에 대한 VPC 엔드포인트 서비스를 생성할 VPC를 선택합니다.

Mapping VPC 서브넷용으로 구성한 가용 영역(최소 2개)을 모두 선택합니다. 서브넷 이름과 프라이빗 IP 주소를 확인합니다.
프로토콜 TCP
Port 443
Default action: Forward to(기본 작업: 다음으로 전달) Network Load Balancer의 대상 그룹을 선택합니다.

4단계: VPC 엔드포인트 서비스 생성

일반적으로 서비스에 대한 엔드포인트를 생성합니다. 그러나 VPC 엔드포인트 서비스를 생성할 때는 사용자가 제공업체이고 AWS KMS는 사용자 서비스에 대한 엔드포인트를 생성합니다. 외부 키 스토어의 경우 이전 단계에서 생성한 Network Load Balancer를 사용하여 VPC 엔드포인트 서비스를 생성합니다. VPC 엔드포인트 서비스가 외부 키 스토어와 동일한 AWS 계정 및 지원되는 리전에 있어야 합니다.

여러 외부 키 스토어가 Amazon VPC를 공유할 수 있지만 각 외부 키 스토어에는 자체 VPC 엔드포인트 서비스와 프라이빗 DNS 이름이 있어야 합니다.

엔드포인트 서비스 생성 주제의 지침에 따라 다음과 같은 필수 값으로 VPC 엔드포인트 서비스를 생성합니다. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.

필드
로드 밸런서 유형 네트워크
사용 가능한 로드 밸런서 이전 단계에서 생성한 Network Load Balancer를 선택합니다.

새 로드 밸런서가 목록에 나타나지 않으면 해당 상태가 활성인지 확인합니다. 로드 밸런서 상태가 프로비저닝에서 활성으로 변경되는 데 몇 분 정도 걸릴 수 있습니다.

수락 필요 False. 확인란 선택을 취소합니다.

수락 불필요. AWS KMS는 수동 수락 없이는 VPC 엔드포인트 서비스에 연결할 수 없습니다. 수락이 필요한 경우 외부 키 스토어를 생성하려는 시도는 XksProxyInvalidConfigurationException 예외와 함께 실패합니다.

프라이빗 DNS 이름 활성화 프라이빗 DNS 이름을 서비스와 연결
프라이빗 DNS 이름 AWS 리전에서 고유한 프라이빗 DNS 이름을 입력합니다.

프라이빗 DNS 이름은 상위 수준 퍼블릭 도메인의 하위 도메인이어야 합니다. 예를 들어 프라이빗 DNS 이름이 myproxy-private.xks.example.com인 경우 xks.example.com 또는 example.com과 같은 퍼블릭 도메인의 하위 도메인이어야 합니다.

이 프라이빗 DNS 이름은 외부 키 스토어 프록시에 구성된 TLS 인증서의 주체 일반 이름(CN)과 일치해야 합니다. 예를 들어 프라이빗 DNS 이름이 myproxy-private.xks.example.com인 경우 TLS 인증서의 CN은 myproxy-private.xks.example.com 또는 *.xks.example.com이어야 합니다.

인증서와 프라이빗 DNS 이름이 일치하지 않으면 외부 키 스토어 프록시에 외부 키 스토어를 연결하려는 시도가 연결 오류 코드(XKS_PROXY_INVALID_TLS_CONFIGURATION)와 함께 실패합니다. 세부 정보는 일반 구성 오류을 참조하세요.

지원되는 IP 주소 유형 IPv4

5단계: 프라이빗 DNS 이름 도메인 확인

VPC 엔드포인트 서비스를 생성할 때 해당 도메인 확인 상태는 pendingVerification입니다. VPC 엔드포인트 서비스를 사용하여 외부 키 스토어를 생성하기 전에 이 상태는 verified여야 합니다. 프라이빗 DNS 이름과 연결된 도메인을 소유하고 있는지 확인하려면 퍼블릭 DNS 서버에 TXT 레코드를 생성해야 합니다.

예를 들어 VPC 엔드포인트 서비스의 프라이빗 DNS 이름이 myproxy-private.xks.example.com인 경우 xks.example.com 또는 example.com과 같은 퍼블릭 도메인에서 TXT 레코드를 생성해야 합니다. AWS PrivateLink는 먼저 TXT 레코드를 xks.example.com에서 찾은 다음 example.com에서 찾습니다.

작은 정보

TXT 레코드를 추가한 후 Domain verification status(도메인 확인 상태) 값이 pendingVerification에서 verify로 변경되는 데 몇 분 정도 걸릴 수 있습니다.

시작하려면 다음 방법 중 하나를 사용하여 도메인의 확인 상태를 찾습니다. 유효한 값은 verified, pendingVerification, failed입니다.

  • Amazon VPC 콘솔에서 Endpoint services(엔드포인트 서비스)를 선택하고 엔드포인트 서비스를 선택합니다. 세부 정보 창에서 Domain verification status(도메인 확인 상태)를 봅니다.

  • DescribeVpcEndpointServiceConfigurations 작업을 사용합니다. State 값은 ServiceConfigurations.PrivateDnsNameConfiguration.State 필드에 있습니다.

확인 상태가 verified가 아니면 도메인 소유권 확인 주제의 지침에 따라 도메인의 DNS 서버에 TXT 레코드를 추가하고 TXT 레코드가 게시되었는지 확인합니다. 그런 다음 인증 상태를 다시 확인합니다.

프라이빗 DNS 도메인 이름에 대한 A 레코드를 생성할 필요는 없습니다. AWS KMS가 VPC 엔드포인트 서비스에 대한 인터페이스 엔드포인트를 생성하면 AWS PrivateLink는 AWS KMS VPC에서 프라이빗 도메인 이름에 필요한 A 레코드를 사용하여 호스팅 영역을 자동으로 생성합니다. VPC 엔드포인트 서비스 연결이 있는 외부 키 스토어의 경우 외부 키 스토어 프록시에 외부 키 스토어를 연결할 때 이러한 작업이 수행됩니다.

6단계: VPC 엔드포인트 서비스에 연결하도록 AWS KMS에 권한 부여

VPC 엔드포인트 서비스에 대한 Allow principals(보안 주체 허용) 목록에 AWS KMS를 추가해야 합니다. 이를 통해 AWS KMS는 VPC 엔드포인트 서비스에 대한 인터페이스 엔드포인트를 생성할 수 있습니다. AWS KMS가 허용된 보안 주체가 아닌 경우 외부 키 스토어를 생성하려는 시도는 XksProxyVpcEndpointServiceNotFoundException 예외와 함께 실패합니다.

AWS PrivateLink 가이드Manage permissions(권한 관리) 주제에 나와 있는 지침을 따르세요. 다음 필수 값을 사용합니다.

필드
ARN cks.kms.<region>.amazonaws.com

예제: cks.kms.us-east-1.amazonaws.com

다음: 외부 키 저장소 생성