

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

# VPC 엔드포인트 서비스 연결 구성
<a name="vpc-connectivity"></a>

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

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

시작하기 전에 [외부 키 스토어가 필요한지 확인합니다](keystore-external.md#do-i-need-xks). 대부분의 고객은 키 구성 요소가 지원하는 KMS AWS KMS 키를 사용할 수 있습니다.

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

**Topics**
+ [

## VPC 엔드포인트 서비스 연결 요구 사항
](#xks-vpce-service-requirements)
+ [

## 1단계: Amazon VPC와 서브넷 생성
](#xks-create-vpc)
+ [

## 2단계: 대상 그룹 생성
](#xks-target-group)
+ [

## 3단계: 새 Network Load Balancer 생성
](#xks-nlb)
+ [

## 4단계: VPC 엔드포인트 서비스 생성
](#xks-vpc-svc)
+ [

## 5단계: 프라이빗 DNS 이름 도메인 확인
](#xks-private-dns)
+ [

## 6단계: VPC 엔드포인트 서비스에 AWS KMS 연결하도록 권한 부여
](#xks-vpc-authorize-kms)

## VPC 엔드포인트 서비스 연결 요구 사항
<a name="xks-vpce-service-requirements"></a>

외부 키 스토어에 대해 VPC 엔드포인트 서비스 연결을 선택하는 경우 다음 리소스가 필요합니다.
+ 외부 키 관리자에 연결된 Amazon VPC. 두 개의 서로 다른 가용성 영역에 두 개 이상의 프라이빗 [서브넷](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)이 있어야 합니다.

  외부 키 스토어와 함께 사용하기 위한 [요구 사항을 충족](#xks-vpc-requirements)하는 경우 외부 키 스토어에 기존 Amazon VPC를 사용할 수 있습니다. 여러 외부 키 스토어가 Amazon VPC를 공유할 수 있지만 각 외부 키 스토어에는 자체 VPC 엔드포인트 서비스와 프라이빗 DNS 이름이 있어야 합니다.
+ [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 및 [대상 그룹](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html)과 함께 [AWS PrivateLink로 구동되는 Amazon VPC 엔드포인트 서비스](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html).

  엔드포인트 서비스에서 수락을 요구할 수 없습니다. 또한 AWS KMS 를 허용된 보안 주체로 추가해야 합니다. 이렇게 하면 AWS KMS 가 인터페이스 엔드포인트를 생성하여 외부 키 스토어 프록시와 통신할 수 있습니다.
+  AWS 리전에서 고유한 VPC 엔드포인트 서비스의 프라이빗 DNS 이름.

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

  프라이빗 DNS 이름에 대한 DNS 도메인의 [소유권을 확인](#xks-private-dns)해야 합니다.
+ 외부 키 스토어 프록시에 대해 [지원되는 공인 인증 기관](https://github.com/aws/aws-kms-xksproxy-api-spec/blob/main/TrustedCertificateAuthorities)에서 발급한 TLS 인증서.

  TLS 인증서의 주체 일반 이름(CN)은 프라이빗 DNS 이름과 일치해야 합니다. 예를 들어 프라이빗 DNS 이름이 `myproxy-private.xks.example.com`인 경우 TLS 인증서의 CN은 `myproxy-private.xks.example.com` 또는 `*.xks.example.com`이어야 합니다.
+ 네트워크 지연 시간을 최소화하려면 [외부 키 관리자와](keystore-external.md#concept-ekm) 가장 가까운 [지원되는 AWS 리전](keystore-external.md#xks-regions)에서 AWS 구성 요소를 생성합니다. 가능하면 네트워크 왕복 시간(RTT)이 35밀리초 이하인 리전을 선택합니다.

외부 키 스토어의 모든 요구 사항은 [사전 조건 수집](create-xks-keystore.md#xks-requirements)을 참조하세요.

## 1단계: Amazon VPC와 서브넷 생성
<a name="xks-create-vpc"></a>

VPC 엔드포인트 서비스 연결에는 프라이빗 서브넷이 2개 이상 있는 외부 키 관리자에 연결된 Amazon VPC가 필요합니다. Amazon VPC를 생성하거나 외부 키 스토어의 요구 사항을 충족하는 기존 Amazon VPC를 사용할 수 있습니다. 새 Amazon VPC를 생성하는 방법에 대한 도움말은 Amazon Virtual Private Cloud 사용 설명서**의 [VPC 생성](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC)을 참조하세요.

### Amazon VPC의 요구 사항
<a name="xks-vpc-requirements"></a>

외부 키 저장소와 함께 사용하려면 Amazon VPC 엔드포인트 서비스는 다음과 같은 속성을 갖추어야 합니다.
+ 외부 키 저장소와 동일한 [지원 리전](keystore-external.md#xks-regions)에 있어야 합니다.
+ 각각 다른 가용 영역에 있는 두 개 이상의 프라이빗 서브넷이 필요합니다.
+ Amazon VPC의 프라이빗 IP 주소 범위는 [외부 키 관리자](keystore-external.md#concept-ekm)를 호스팅하는 데이터 센터의 프라이빗 IP 주소 범위와 겹치지 않아야 합니다.
+ 모든 구성 요소는 IPv4를 사용해야 합니다.

Amazon VPC를 외부 키 스토어 프록시에 연결하기 위한 많은 옵션이 있습니다. 성능과 보안 요구 사항에 맞는 옵션을 선택합니다. 목록을 보려면 [다른 네트워크에 VPC 연결](https://docs.aws.amazon.com/vpc/latest/userguide/extend-intro.html) 및 [네트워크와 Amazon VPC 간 연결 옵션](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html)을 참조하세요. 자세한 내용은 [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)와 [AWS Site-to-Site VPN 사용 설명서](https://docs.aws.amazon.com/vpn/latest/s2svpn/)를 참조하세요.

### 외부 키 스토어용 Amazon VPC 생성
<a name="xks-vpc-create"></a>

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

다음 필수 값을 사용하여 [VPC, 서브넷 및 기타 VPC 리소스 생성](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#create-vpc-and-other-resources) 주제의 지침을 따르세요. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.


| Field | 값 | 
| --- | --- | 
| IPv4 CIDR block | VPC의 IP 주소를 입력합니다. Amazon VPC의 프라이빗 IP 주소 범위는 [외부 키 관리자](keystore-external.md#concept-ekm)를 호스팅하는 데이터 센터의 프라이빗 IP 주소 범위와 겹치지 않아야 합니다. | 
| 가용 영역 수 | 2 이상 | 
| 퍼블릭 서브넷 수 |  필요 없음(0)  | 
| 프라이빗 서브넷 수 | 각 AZ에 대해 하나씩 | 
| NAT 게이트웨이 | 필요 없음 | 
| VPC 엔드포인트 | 필요 없음 | 
| Enable DNS hostnames | 예 | 
| DNS 확인 활성화 | 예 | 

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

### 외부 키 관리자에 VPC 연결
<a name="xks-vpc-to-ekm"></a>

Amazon VPC가 지원하는 [네트워크 연결 옵션](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html)을 사용하여 외부 키 관리자를 호스팅하는 데이터 센터에 VPC를 연결합니다. VPC의 Amazon EC2 인스턴스 또는 외부 키 스토어 프록시(VPC에 있는 경우)가 데이터 센터 및 외부 키 관리자와 통신할 수 있는지 확인합니다.

## 2단계: 대상 그룹 생성
<a name="xks-target-group"></a>

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

다음 필수 값을 사용하여 [대상 그룹 구성](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html#configure-target-group) 주제의 지침을 따르세요. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.


| Field | 값 | 
| --- | --- | 
| 대상 유형 | IP 주소 | 
| 프로토콜 | TCP | 
| 포트 |  443  | 
| IP 주소 유형 | IPv4 | 
| VPC | 외부 키 스토어에 대한 VPC 엔드포인트 서비스를 생성할 VPC를 선택합니다. | 
| 상태 확인 프로토콜 및 경로 | 상태 확인 프로토콜 및 경로는 외부 키 스토어 프록시 구성에 따라 달라집니다. 외부 키 관리자 또는 외부 키 스토어 프록시의 설명서를 참조하세요.대상 그룹의 상태 확인 구성에 대한 일반 정보는 Elastic Load Balancing - Network Load Balancer 사용 설명서의 [대상 그룹에 대한 상태 확인](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html)을 참조하세요. | 
| Network | 다른 프라이빗 IP 주소 | 
| IPv4 주소 | 외부 키 스토어 프록시의 프라이빗 주소 | 
| 포트 | 443 | 

## 3단계: 새 Network Load Balancer 생성
<a name="xks-nlb"></a>

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

[로드 밸런서 및 리스너 구성](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html#configure-load-balancer) 주제의 지침에 따라 리스너를 구성 및 추가하고 다음 필수 값을 사용하여 로드 밸런서를 생성합니다. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.


| Field | 값 | 
| --- | --- | 
| 스킴 | Internal(내부) | 
| IP 주소 유형 | IPv4 | 
| 네트워크 매핑 |  외부 키 스토어에 대한 VPC 엔드포인트 서비스를 생성할 VPC를 선택합니다.  | 
| 매핑 | VPC 서브넷용으로 구성한 가용 영역(최소 2개)을 모두 선택합니다. 서브넷 이름과 프라이빗 IP 주소를 확인합니다. | 
| 프로토콜 | TCP | 
| 포트 | 443 | 
| Default action: Forward to(기본 작업: 다음으로 전달) | Network Load Balancer의 [대상 그룹](#xks-target-group)을 선택합니다. | 

## 4단계: VPC 엔드포인트 서비스 생성
<a name="xks-vpc-svc"></a>

일반적으로 서비스에 대한 엔드포인트를 생성합니다. 그러나 VPC 엔드포인트 서비스를 생성하면 공급자가 되고 서비스에 대한 엔드포인트가 AWS KMS 생성됩니다. 외부 키 스토어의 경우 이전 단계에서 생성한 Network Load Balancer를 사용하여 VPC 엔드포인트 서비스를 생성합니다. VPC 엔드포인트 서비스는 외부 키 스토어 AWS 계정 와 동일한 또는 다른에 있을 수 있습니다 AWS 계정.

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

[엔드포인트 서비스 생성](https://docs.aws.amazon.com/vpc/latest/privatelink/create-endpoint-service.html#create-endpoint-service-nlb) 주제의 지침에 따라 다음과 같은 필수 값으로 VPC 엔드포인트 서비스를 생성합니다. 다른 필드의 경우 기본값을 그대로 사용하고 요청에 따라 이름을 제공합니다.


| Field | 값 | 
| --- | --- | 
| 로드 밸런서 유형 | Network | 
| 사용 가능한 로드 밸런서 | 이전 단계에서 생성한 [Network Load Balancer](#xks-nlb)를 선택합니다.새 로드 밸런서가 목록에 나타나지 않으면 해당 상태가 활성인지 확인합니다. 로드 밸런서 상태가 프로비저닝에서 활성으로 변경되는 데 몇 분 정도 걸릴 수 있습니다. | 
| 수락 필요 | False. 확인란 선택을 취소합니다.*acceptance.cannot connect to the VPC endpoint service without 수동 수락이 필요하지 않습니다*. AWS KMS 수락이 필요한 경우 [외부 키 스토어를 생성](create-xks-keystore.md)하려는 시도는 `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`)와 함께 실패합니다. 자세한 내용은 [일반 구성 오류](xks-troubleshooting.md#fix-xks-gen-configuration)을 참조하세요. | 
| 지원되는 IP 주소 유형 | IPv4 | 

## 5단계: 프라이빗 DNS 이름 도메인 확인
<a name="xks-private-dns"></a>

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

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

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

시작하려면 다음 방법 중 하나를 사용하여 도메인의 확인 상태를 찾습니다. 유효한 값은 `verified`, `pendingVerification`, `failed`입니다.
+ [Amazon VPC 콘솔](https://console.aws.amazon.com/vpc)에서 **Endpoint services**(엔드포인트 서비스)를 선택하고 엔드포인트 서비스를 선택합니다. 세부 정보 창에서 **Domain verification status**(도메인 확인 상태)를 봅니다.
+ [DescribeVpcEndpointServiceConfigurations](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcEndpointServiceConfigurations.html) 작업을 사용합니다. `State` 값은 `ServiceConfigurations.PrivateDnsNameConfiguration.State` 필드에 있습니다.

확인 상태가 `verified`가 아니면 [도메인 소유권 확인](https://docs.aws.amazon.com/vpc/latest/privatelink/manage-dns-names.html#verify-domain-ownership) 주제의 지침에 따라 도메인의 DNS 서버에 TXT 레코드를 추가하고 TXT 레코드가 게시되었는지 확인합니다. 그런 다음 인증 상태를 다시 확인합니다.

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

## 6단계: VPC 엔드포인트 서비스에 AWS KMS 연결하도록 권한 부여
<a name="xks-vpc-authorize-kms"></a>

Amazon VPC 엔드포인트 서비스 권한을 관리하기 위한 절차는 다음을 참조하세요. 각 단계는 외부 키 저장소, VPC 엔드포인트 서비스 및 AWS 계정사이의 연결 상태 및 구성에 따라 달라집니다.

------
#### [ Same AWS 계정 ]

VPC 엔드포인트 서비스를 외부 키 스토어 AWS 계정 와 동일한에서 소유한 경우 VPC 엔드포인트 서비스에 대한 보안 **주체 허용** 목록에 AWS KMS 를 추가해야 합니다. 이렇게 하면 AWS KMS 가 VPC 엔드포인트 서비스에 대한 인터페이스 엔드포인트를 생성할 수 있습니다. AWS KMS 가 허용된 보안 주체가 아닌 경우 외부 키 스토어를 생성하려는 시도는 `XksProxyVpcEndpointServiceNotFoundException` 예외와 함께 실패합니다.

AWS PrivateLink 가이드**의 [Manage permissions](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions)(권한 관리) 주제에 나와 있는 지침을 따르세요. 다음 필수 값을 사용합니다.


| Field | 값 | 
| --- | --- | 
| AWS KMS ARN | cks.kms.<region>.amazonaws.com예: `cks.kms.us-east-1.amazonaws.com` | 

------
#### [ Cross AWS 계정 ]

VPC 엔드포인트 서비스를 다른이 소유한 경우 보안 **주체 허용** 목록에 AWS KMS 및 계정을 모두 추가 AWS 계정 해야 합니다. 이렇게 하면 AWS KMS 및 외부 키 스토어가 VPC 엔드포인트 서비스에 대한 인터페이스 엔드포인트를 생성할 수 있습니다. AWS KMS 가 허용된 보안 주체가 아닌 경우 외부 키 스토어를 생성하려는 시도는 `XksProxyVpcEndpointServiceNotFoundException` 예외와 함께 실패합니다. 외부 키 스토어가 있는 AWS 계정 ARN을 제공해야 합니다.

AWS PrivateLink 가이드**의 [Manage permissions](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions)(권한 관리) 주제에 나와 있는 지침을 따르세요. 다음 필수 값을 사용합니다.


| Field | 값 | 
| --- | --- | 
| AWS KMS ARN | cks.kms.<region>.amazonaws.com예: `cks.kms.us-east-1.amazonaws.com` | 
| AWS 계정 ARN | arn:aws:iam::111122223333:role/role\$1name예: `arn:aws:iam::123456789012:role/cks_role` | 

------

**다음**: [외부 키 저장소 생성](create-xks-keystore.md)