

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

# 외부 키 저장소 생성
<a name="create-xks-keystore"></a>

각 AWS 계정 및 리전에서 하나 이상의 외부 키 스토어를 생성할 수 있습니다. 각 외부 키 스토어는 외부의 외부 키 관리자 AWS및와 외부 키 관리자 간의 통신을 매개하는 외부 키 스토어 프록시(XKS 프록시) AWS KMS 와 연결되어야 합니다. 자세한 내용은 [외부 키 저장소 프록시 연결 옵션 선택](choose-xks-connectivity.md)을 참조하세요. 시작하기 전에 [외부 키 스토어가 필요한지 확인합니다](keystore-external.md#do-i-need-xks). 대부분의 고객은 키 구성 요소가 지원하는 KMS AWS KMS 키를 사용할 수 있습니다.

**작은 정보**  
일부 외부 키 관리자는 외부 키 스토어를 생성하는 더 간단한 방법을 제공합니다. 자세한 내용은 외부 키 관리자 설명서를 참조하세요.

외부 키 스토어를 생성하기 전에 [사전 조건을 수집](#xks-requirements)해야 합니다. 생성 프로세스 중 외부 키 스토어의 속성을 지정합니다. 가장 중요한 것은의 외부 키 스토어가 [퍼블릭 엔드포인트](choose-xks-connectivity.md#xks-connectivity-public-endpoint)를 AWS KMS 사용하는지 아니면 [VPC 엔드포인트 서비스를](choose-xks-connectivity.md#xks-vpc-connectivity) 사용하여 외부 키 스토어 프록시에 연결하는지를 나타냅니다. 또한 프록시의 URI 엔드포인트와가 API 요청을 프록시로 AWS KMS 보내는 프록시 엔드포인트 내의 경로를 포함하여 연결 세부 정보를 지정합니다.

**고려 사항**
+ KMS는 IPv6를 통해 외부 키 저장소와 통신할 수 없습니다.
+  퍼블릭 엔드포인트 연결을 사용하는 경우가 HTTPS 연결을 사용하여 인터넷을 통해 프록시와 통신 AWS KMS 할 수 있는지 확인합니다. 여기에는 외부 키 스토어 프록시에서 TLS를 구성하고 AWS KMS 와 프록시 사이의 방화벽이 프록시의 포트 443에서 송수신되는 IPv4 트래픽을 허용하는지 확인하는 작업이 포함됩니다. 퍼블릭 엔드포인트 연결이 있는 외부 키 스토어를 생성하는 동안는 외부 키 스토어 프록시에 상태 요청을 전송하여 연결을 AWS KMS 테스트합니다. 이 테스트는 엔드포인트에 연결할 수 있고 외부 키 스토어 프록시가 [외부 키 스토어 프록시 인증 자격 증명](keystore-external.md#concept-xks-credential)으로 서명된 요청을 수락하는지 확인합니다. 이 테스트 요청이 실패하면 외부 키 스토어를 생성하는 작업이 실패합니다.
+ VPC 엔드포인트 서비스 연결을 사용하는 경우 Network Load Balancer, 프라이빗 DNS 이름 및 VPC 엔드포인트 서비스가 올바르게 구성되고 작동하는지 확인합니다. 외부 키 스토어 프록시가 VPC에 없는 경우 VPC 엔드포인트 서비스가 외부 키 스토어 프록시와 통신할 수 있는지 확인해야 합니다. ([외부 키 스토어를 외부 키 스토어 프록시에 연결할](xks-connect-disconnect.md) 때 VPC 엔드포인트 서비스 연결을AWS KMS 테스트합니다.)
+ AWS KMS 는 특히 외부 키 스토어에 대한 [Amazon CloudWatch 지표 및 차원](monitoring-cloudwatch.md#kms-metrics)을 기록합니다. 이러한 지표 중 일부를 기반으로 한 모니터링 그래프는 각 외부 키 스토어의 AWS KMS 콘솔에 표시됩니다. 이러한 지표를 사용하여 외부 키 저장소를 모니터링하는 경보를 생성하는 것을 적극 권장합니다. 이러한 경보는 성능 및 작동 문제가 발생하기 전에 조기 징후를 알립니다. 지침은 [외부 키 저장소 모니터링](xks-monitoring.md) 섹션을 참조하세요.
+ 외부 키 스토어에는 [리소스 할당량](resource-limits.md#cks-resource-quota)이 적용됩니다. 외부 키 스토어에서 KMS 키를 사용할 경우 [요청 할당량](requests-per-second.md#rps-key-stores)이 적용됩니다. 외부 키 스토어 구현을 설계하기 전에 이러한 할당량을 검토합니다.

**참고**  
작동을 방해할 수 있는 순환 종속성이 있는지 구성을 검토하세요.  
예를 들어 AWS 리소스를 사용하여 외부 키 스토어 프록시를 생성하는 경우 프록시를 운영할 때 해당 프록시를 통해 액세스하는 외부 키 스토어에서 KMS 키를 사용할 필요가 없는지 확인합니다.

모든 새 외부 키 스토어는 연결 해제된 상태로 생성됩니다. 외부 키 스토어에서 KMS 키를 생성하려면 먼저 외부 키 스토어 프록시에 [연결](about-xks-connecting.md)해야 합니다. 외부 키 스토어의 속성을 변경하려면 [외부 키 스토어 설정을 편집](update-xks-keystore.md)합니다.

**Topics**
+ [사전 조건 수집](#xks-requirements)
+ [새로운 외부 키 저장소 생성](#create-xks)

## 사전 조건 수집
<a name="xks-requirements"></a>

외부 키 스토어를 생성하기 전에 외부 키 스토어를 지원하는 데 사용할 [외부 키 관리자와](keystore-external.md#concept-ekm) [요청을 외부 키 관리자가 이해할 수 있는 형식으로 변환하는 외부 키 스토어 프록시](keystore-external.md#concept-xks-proxy) AWS KMS 를 포함하여 필요한 구성 요소를 조합해야 합니다.

모든 외부 키 스토어에는 다음 구성 요소가 필요합니다. 이러한 구성 요소 외에도 선택한 [외부 키 스토어 프록시 연결 옵션](choose-xks-connectivity.md)을 지원하는 구성 요소를 제공해야 합니다.

**작은 정보**  
외부 키 관리자에 이러한 구성 요소 중 일부가 포함되어 있거나 사용자에게 맞게 구성될 수 있습니다. 자세한 내용은 외부 키 관리자 설명서를 참조하세요.  
 AWS KMS 콘솔에서 외부 키 스토어를 생성하는 경우 [프록시 URI 경로](#require-path)와 프록시 [인증 자격](keystore-external.md#concept-xks-credential) 증명을 지정하는 JSON 기반 [프록시 구성 파일을](#proxy-configuration-file) 업로드할 수 있습니다. 일부 외부 키 스토어 프록시는 이 파일을 자동으로 생성합니다. 자세한 내용은 외부 키 스토어 프록시 또는 외부 키 관리자의 설명서를 참조하세요.

### 외부 키 관리자
<a name="require-ekm"></a>

외부 키 스토어마다 하나 이상의 [외부 키 관리자](keystore-external.md#concept-ekm) 인스턴스가 필요합니다. 이는 물리적 또는 가상 하드웨어 보안 모듈(HSM)이나 키 관리 소프트웨어일 수 있습니다.

단일 키 관리자를 사용할 수 있지만 중복성을 위해 암호화 키를 공유하는 관련 키 관리자 인스턴스를 두 개 이상 사용하는 것이 좋습니다. 외부 키 스토어에는 외부 키 관리자의 독점 사용이 필요 없습니다. 그러나 외부 키 관리자는 외부 키 스토어에서 KMS 키를 사용하여 리소스를 보호하는 AWS 서비스의 예상 암호화 및 복호화 요청 빈도를 처리할 수 있는 용량이 있어야 합니다. 외부 키 관리자는 초당 최대 1,800개의 요청을 처리하고 각 요청에 대해 250밀리초 제한 시간 내에 응답하도록 구성되어야 합니다. 네트워크 왕복 시간(RTT)이 35밀리초 이하가 AWS 리전 되도록 외부 키 관리자를에 가깝게 배치하는 것이 좋습니다.

외부 키 스토어 프록시에서 허용하는 경우 외부 키 스토어 프록시와 연결하는 외부 키 관리자를 변경할 수 있지만 새 외부 키 관리자는 동일한 키 구성 요소를 사용하는 백업 또는 스냅샷이어야 합니다. KMS 키와 연결하는 외부 키를 외부 키 스토어 프록시에서 더 이상 사용할 수 없는 경우는 KMS 키로 암호화된 사이퍼텍스트를 해독 AWS KMS 할 수 없습니다.

외부 키 관리자가 외부 키 스토어 프록시에 액세스할 수 있어야 합니다. 프록시의 [GetHealthStatus](keystore-external.md#xks-concepts) 응답이 모든 외부 키 관리자 인스턴스가 `Unavailable` 상태라고 보고하는 경우 외부 키 스토어를 생성하려고 할 때마다 [`XksProxyUriUnreachableException`](xks-troubleshooting.md#fix-xks-proxy)이 발생하여 실패합니다.

### 외부 키 스토어 프록시
<a name="require-proxy"></a>

[AWS KMS 외부 키 스토어 프록시 API 사양](https://github.com/aws/aws-kms-xksproxy-api-spec/)의 설계 요구 사항을 준수하는 [외부 키 스토어 프록시](keystore-external.md#concept-xks-proxy)(XKS 프록시)를 지정해야 합니다. 외부 키 스토어 프록시를 개발 또는 구매하거나 외부 키 관리자가 제공하거나 외부 키 관리자에 내장된 외부 키 스토어 프록시를 사용할 수 있습니다.는 외부 키 스토어 프록시가 초당 최대 1,800개의 요청을 처리하고 각 요청에 대해 250밀리초 제한 시간 내에 응답하도록 구성할 AWS KMS 것을 권장합니다. 네트워크 왕복 시간(RTT)이 35밀리초 이하가 AWS 리전 되도록 외부 키 관리자를에 가깝게 배치하는 것이 좋습니다.

둘 이상의 외부 키 스토어에 대해 외부 키 스토어 프록시를 사용할 수 있지만, 각 외부 키 스토어에는 요청에 대한 외부 키 스토어 프록시 내에 고유한 URI 엔드포인트 및 경로가 있어야 합니다.

VPC 엔드포인트 서비스 연결을 사용하는 경우 Amazon VPC에서 외부 키 스토어 프록시를 찾을 수 있지만 이것이 필수는 아닙니다. 프라이빗 데이터 센터 AWS와 같이 외부에서 프록시를 찾고 VPC 엔드포인트 서비스를 사용하여 프록시와 통신할 수 있습니다.

### 프록시 인증 자격 증명
<a name="require-credential"></a>

외부 키 스토어를 생성하려면 외부 키 스토어 프록시 인증 자격 증명(`XksProxyAuthenticationCredential`)을 지정해야 합니다.

외부 키 스토어 프록시 [인증 자격 증명](keystore-external.md#concept-xks-credential)으로 서명 버전 4(SigV4`XksProxyAuthenticationCredential`) 프로세스를 사용하여 요청에 서명하여 외부 키 스토어 프록시. AWS KMS authenticates AWS KMS 에서 프록시에 대한 인증 자격 증명()을 설정해야 합니다. [SigV4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) 외부 키 스토어를 생성할 때 인증 자격 증명을 지정하며 언제든지 [이를 변경할 수](update-xks-keystore.md) 있습니다. 프록시가 자격 증명을 교체하는 경우 외부 키 스토어의 자격 증명 값을 업데이트해야 합니다.

프록시 인증 자격 증명은 두 부분으로 구성됩니다. 외부 키 스토어에 대해 두 부분을 모두 제공해야 합니다.
+ 액세스 키 ID: 비밀 액세스 키를 식별합니다. 이 ID를 일반 텍스트로 제공할 수 있습니다.
+ 보안 액세스 키: 자격 증명의 보안 암호 부분입니다. 자격 증명을 저장하기 전에 자격 증명의 보안 암호 액세스 키를 AWS KMS 암호화합니다.

가 외부 키 스토어 프록시에 대한 요청에 서명하는 데 AWS KMS 사용하는 SigV4 자격 증명은 AWS 계정의 보안 주체와 연결된 SigV4 자격 증명과 관련이 없습니다. AWS Identity and Access Management 외부 키 스토어 프록시에 IAM SigV4 자격 증명을 재사용하지 마세요.

### 프록시 연결
<a name="require-connectivity"></a>

외부 키 스토어를 생성하려면 외부 키 스토어 프록시 연결 옵션(`XksProxyConnectivity`)을 지정해야 합니다.

AWS KMS 는 [퍼블릭 엔드포인트](choose-xks-connectivity.md#xks-connectivity-public-endpoint) 또는 [Amazon Virtual Private Cloud(VPC) 엔드포인트 서비스를](choose-xks-connectivity.md#xks-vpc-connectivity) 사용하여 외부 키 스토어 프록시와 통신할 수 있습니다. 퍼블릭 엔드포인트는 구성 및 유지 관리가 더 간단하지만 모든 설치에 대한 보안 요구 사항을 충족하지 못할 수 있습니다. Amazon VPC 엔드포인트 서비스 연결 옵션을 선택하는 경우 서로 다른 두 가용 영역에 두 개 이상의 서브넷이 있는 Amazon VPC, Network Load Balancer와 대상 그룹이 있는 VPC 엔드포인트 서비스, VPC 엔드포인트 서비스의 프라이빗 DNS 이름을 비롯하여 필요한 구성 요소를 생성하고 유지 관리해야 합니다.

외부 키 스토어에 대한 [프록시 연결 옵션](update-xks-keystore.md)을 변경할 수 있습니다. 그러나 외부 키 스토어에서 KMS 키와 연결된 키 구성 요소를 계속 사용할 수 있는지 확인해야 합니다. 그렇지 않으면 해당 KMS 키로 암호화된 사이퍼텍스트를 해독할 AWS KMS 수 없습니다.

외부 키 스토어에 가장 적합한 프록시 연결 옵션을 결정하는 방법에 대한 도움말은 [외부 키 저장소 프록시 연결 옵션 선택](choose-xks-connectivity.md) 섹션을 참조하세요. VPC 엔드포인트 서비스 연결을 생성하고 구성하는 방법에 대한 도움말은 [VPC 엔드포인트 서비스 연결 구성](vpc-connectivity.md) 섹션을 참조하세요.

### 프록시 URI 엔드포인트
<a name="require-endpoint"></a>

외부 키 스토어를 생성하려면가 외부 키 스토어 프록시로 요청을 보내는 데 AWS KMS 사용하는 엔드포인트(`XksProxyUriEndpoint`)를 지정해야 합니다.

프로토콜은 포트 443의 IPv4를 통해 HTTPS. AWS KMS communicates여야 합니다. 프록시 URI 엔드포인트 값에 포트를 지정하지 마세요.
+ [퍼블릭 엔드포인트 연결](choose-xks-connectivity.md#xks-connectivity-public-endpoint) - 외부 키 스토어 프록시에 대해 공개적으로 사용 가능한 엔드포인트를 지정합니다. 외부 키 스토어를 생성하기 전에 이 엔드포인트에 연결할 수 있어야 합니다.
+ [VPC 엔드포인트 서비스 연결](choose-xks-connectivity.md#xks-vpc-connectivity) - `https://` 뒤에 VPC 엔드포인트 서비스의 프라이빗 DNS 이름을 지정합니다.

외부 키 스토어 프록시에 구성된 TLS 서버 인증서는 외부 키 스토어 프록시 URI 엔드포인트의 도메인 이름과 일치해야 하며 외부 키 스토어에 대해 지원되는 인증 기관에서 발급해야 합니다. 목록은 [신뢰할 수 있는 인증 기관](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`이어야 합니다.

[프록시 URI 엔드포인트를 변경](update-xks-keystore.md)할 수 있지만, 외부 키 스토어 프록시가 외부 키 스토어의 KMS 키와 연결된 키 구성 요소에 액세스할 수 있는지 확인합니다. 그렇지 않으면 해당 KMS 키로 암호화된 사이퍼텍스트를 해독할 AWS KMS 수 없습니다.

**고유성 요구 사항**
+ 결합된 프록시 URI 엔드포인트(`XksProxyUriEndpoint`) 및 프록시 URI 경로(`XksProxyUriPath`) 값은 AWS 계정 과 리전에서 고유해야 합니다.
+ 퍼블릭 엔드포인트 연결이 있는 외부 키 스토어는 프록시 URI 경로 값이 다른 경우 동일한 프록시 URI 엔드포인트를 공유할 수 있습니다.
+ 퍼블릭 엔드포인트 연결이 있는 외부 키 스토어는 키 스토어가 다르 AWS 리전더라도 VPC 엔드포인트 서비스 연결이 동일한 외부 키 스토어와 동일한 프록시 URI 엔드포인트 값을 사용할 수 없습니다 AWS 계정.
+  VPC 엔드포인트 연결이 있는 각 외부 키 스토어에는 자체 프라이빗 DNS 이름이 있어야 합니다. 프록시 URI 엔드포인트(프라이빗 DNS 이름)는 AWS 계정 및 리전에서 고유해야 합니다.

### 프록시 URI 경로
<a name="require-path"></a>

외부 키 스토어를 생성하려면 외부 키 스토어 프록시에 [필수 프록시 API](keystore-external.md#concept-proxy-apis)에 대한 기본 경로를 지정해야 합니다. 값은 `/`로 시작하고 /kms/xks/v1로 끝나야 하며, 여기서 `v1`은 외부 키 스토어 프록시에 대한 AWS KMS API의 버전을 나타냅니다. 이 경로에는 `/example-prefix/kms/xks/v1`과 같은 필수 요소 사이에 선택적 접두사가 포함될 수 있습니다. 이 값을 찾으려면 외부 키 스토어 프록시에 대한 설명서를 참조하세요.

AWS KMS 는 프록시 URI 엔드포인트와 프록시 URI 경로의 연결로 지정된 주소로 프록시 요청을 보냅니다. 예를 들어 프록시 URI 엔드포인트가 `https://myproxy.xks.example.com`이고 프록시 URI 경로가 인 경우는 프록시 API 요청을에 `/kms/xks/v1` AWS KMS 보냅니다`https://myproxy.xks.example.com/kms/xks/v1`.

[프록시 URI 경로를 변경](update-xks-keystore.md)할 수 있지만, 외부 키 스토어 프록시가 외부 키 스토어의 KMS 키와 연결된 키 구성 요소에 액세스할 수 있는지 확인합니다. 그렇지 않으면 해당 KMS 키로 암호화된 사이퍼텍스트를 해독할 AWS KMS 수 없습니다.

**고유성 요구 사항**
+ 결합된 프록시 URI 엔드포인트(`XksProxyUriEndpoint`) 및 프록시 URI 경로(`XksProxyUriPath`) 값은 AWS 계정 과 리전에서 고유해야 합니다.

### VPC 엔드포인트 서비스
<a name="require-vpc-service-name"></a>

외부 키 스토어 프록시와 통신하는 데 사용되는 Amazon VPC 엔드포인트 서비스의 이름을 지정합니다. 이 구성 요소는 VPC 엔드포인트 서비스 연결을 사용하는 외부 키 스토어에만 필요합니다. 외부 키 스토어의 VPC 엔드포인트 서비스를 설정하고 구성하는 방법에 대한 도움말은 [VPC 엔드포인트 서비스 연결 구성](vpc-connectivity.md) 섹션을 참조하세요.

VPC 엔드포인트 서비스에 다음과 같은 속성이 있어야 합니다.
+ VPC 엔드포인트 서비스는 외부 키 저장소와 동일한 또는 서로 다른 AWS 계정 에 위치할 수 있습니다.
  + VPC 엔드포인트 서비스는 외부 키 스토어 AWS 리전 와 동일한에 있어야 합니다.
  + VPC 엔드포인트 서비스가 다른에 있는 경우 VPC 엔드포인트 서비스의 AWS 계정 ID를 제공해야 합니다 AWS 계정.
+ 각각 다른 가용 영역에 있는 두 개 이상의 서브넷에 연결된 NLB(Network Load Balancer)가 있어야 합니다.
+ VPC 엔드포인트 서비스의 *허용 보안 주체 목록에*는 `cks.kms.{{<region>}}.amazonaws.com`와 같은 리전의 AWS KMS 서비스 보안 주체가 포함되어야 합니다`cks.kms.{{us-east-1}}.amazonaws.com`.
  + Amazon VPC 엔드포인트 서비스를 외부 키 스토어(XKS) 소유가 아닌 AWS 계정 다른에서 AWS 계정 소유한 경우 VPC 엔드포인트 서비스에 대한 XKS 액세스도 허용해야 합니다. 이렇게 하려면 [XKS AWS 계정 ID를 Amazon VPC 엔드포인트 서비스의 보안 주체로 허용 목록에](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions) 추가하세요.
+ 연결 요청 수락이 필요하지 않아야 합니다.
+ 상위 수준의 퍼블릭 도메인 내에 프라이빗 DNS 이름이 있어야 합니다. 예를 들어 퍼블릭 `xks.example.com` 도메인의 프라이빗 DNS 이름이 myproxy-private.xks.example.com일 수 있습니다.

  VPC 엔드포인트 서비스 연결이 있는 외부 키 스토어의 프라이빗 DNS 이름은 AWS 리전에서 고유해야 합니다.
+ 프라이빗 DNS 이름 도메인의 [도메인 확인 상태](vpc-connectivity.md#xks-private-dns)는 `verified`여야 합니다.
+ 외부 키 스토어 프록시에 구성된 TLS 서버 인증서는 엔드포인트에 연결할 수 있는 프라이빗 DNS 호스트 이름을 지정해야 합니다.

**고유성 요구 사항**
+ VPC 엔드포인트 연결이 있는 외부 키 스토어가 `Amazon VPC`를 공유할 수 있지만 각 외부 키 스토어에는 자체 VPC 엔드포인트 서비스와 프라이빗 DNS 이름이 있어야 합니다.

### 프록시 구성 파일
<a name="proxy-configuration-file"></a>

**프록시 구성 파일은 외부 키 스토어의 [프록시 URI 경로](#require-path)와 [프록시 인증 자격 증명](#require-credential) 속성에 대한 값을 포함하는 선택적 JSON 기반 파일입니다. AWS KMS 콘솔에서 [외부 키 스토어를 생성하거나 편집](update-xks-keystore.md)할 때 프록시 구성 파일을 업로드하여 외부 키 스토어에 대한 구성 값을 제공할 수 있습니다. 이 파일을 사용하면 입력 및 붙여넣기 오류를 방지하고 외부 키 스토어의 값이 외부 키 스토어 프록시의 값과 일치하는지 확인할 수 있습니다.

프록시 구성 파일은 외부 키 스토어 프록시에 의해 생성됩니다. 외부 키 스토어 프록시가 프록시 구성 파일을 제공하는지 알아보려면 외부 키 스토어 프록시 설명서를 참조하세요.

다음은 가상 값이 포함된 올바른 형식의 프록시 구성 파일의 예입니다.

```
{
  "XksProxyUriPath": "/example-prefix/kms/xks/v1",
  "XksProxyAuthenticationCredential": {
    "AccessKeyId": "ABCDE12345670EXAMPLE",
    "RawSecretAccessKey": "0000EXAMPLEFA5FT0mCc3DrGUe2sti527BitkQ0Zr9MO9+vE="
  }
}
```

 AWS KMS 콘솔에서 외부 키 스토어를 생성하거나 편집할 때만 프록시 구성 파일을 업로드할 수 있습니다. [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html) 또는 [UpdateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateCustomKeyStore.html) 작업과 함께 사용할 수는 없지만 프록시 구성 파일의 값을 사용하여 파라미터 값이 올바른지 확인할 수 있습니다.

## 새로운 외부 키 저장소 생성
<a name="create-xks"></a>

필요한 사전 조건을 조합한 후에는 AWS KMS 콘솔에서 또는 [CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html) 작업을 사용하여 새 외부 키 스토어를 생성할 수 있습니다.

### AWS KMS 콘솔 사용
<a name="create-keystore-console"></a>

외부 키 저장소를 생성하기 전에 [프록시 연결 유형을 선택](choose-xks-connectivity.md)한 다음, [필요한 구성 요소](#xks-requirements)를 모두 생성하고 구성했는지 확인합니다. 필요한 값을 찾는 데 도움이 필요한 경우 외부 키 스토어 프록시 또는 키 관리 소프트웨어에 대한 설명서를 참조하세요.

**참고**  
에서 외부 키 스토어를 생성할 때 *프록시 URI 경로 및 프록시 인증 자격 증명 값이 포함된 JSON 기반 프록시 구성 파일을* 업로드 AWS Management Console할 수 있습니다. [프록시 URI 경로](#require-path) [프록시 인증 자격 증명](#require-credential) 일부 프록시는 이 파일을 자동으로 생성합니다. 이 값은 필수가 아닙니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms) AWS Key Management Service (AWS KMS) 콘솔을 엽니다.

1. 를 변경하려면 페이지 오른쪽 상단에 있는 리전 선택기를 AWS 리전사용합니다.

1. 탐색 창에서 **Custom key stores**(사용자 지정 키 스토어), **External key stores**(외부 키 스토어)를 선택합니다.

1. **Create external key store**(외부 키 스토어 생성)를 선택합니다.

1. 기억하기 쉬운 외부 키 스토어 이름을 입력합니다. 이름은 계정의 모든 외부 키 스토어에서 고유해야 합니다.
**중요**  
이 필드에 기밀 또는 민감한 정보를 포함하지 마십시오. 이 필드는 CloudTrail 로그 및 기타 출력에 일반 텍스트로 표시될 수 있습니다.

1. [프록시 연결](#require-connectivity) 유형을 선택합니다.

   프록시 연결 선택에 따라 외부 키 스토어 프록시에 [필요한 구성 요소가](#xks-requirements) 결정됩니다. 이 선택에 대한 도움말은 [외부 키 저장소 프록시 연결 옵션 선택](choose-xks-connectivity.md) 섹션을 참조하세요.

   1. VPC 엔드포인트 서비스가 다른 AWS 계정에 있는 경우 **교차 계정 VPC 엔드포인트 서비스**를 선택합니다. 그런 다음 VPC 엔드포인트 서비스 소유자 계정 AWS 계정 ID 필드에 VPC 엔드포인트 소유자의 ID를 입력합니다. **** 

   1. 이 외부 키 스토어에 대한 [VPC 엔드포인트 서비스](#require-vpc-service-name)의 이름을 선택하거나 입력합니다. 이 단계는 외부 키 저장소 프록시 연결 유형이 **VPC 엔드포인트 서비스**인 경우에만 나타납니다.

      VPC 엔드포인트 서비스와 해당 VPC가 외부 키 스토어의 요구 사항을 충족해야 합니다. 자세한 내용은 [사전 조건 수집](#xks-requirements)을 참조하세요.

1. 이 외부 키 스토어에 대한 [VPC 엔드포인트 서비스](#require-vpc-service-name)의 이름을 선택하거나 입력합니다. 이 단계는 외부 키 스토어 프록시 연결 유형이 **VPC endpoint service**(VPC 엔드포인트 서비스)인 경우에만 나타납니다.

   VPC 엔드포인트 서비스와 해당 VPC가 외부 키 스토어의 요구 사항을 충족해야 합니다. 자세한 내용은 [사전 조건 수집](#xks-requirements)을 참조하세요.

1. [프록시 URI 엔드포인트](#require-endpoint)를 입력합니다. 프로토콜은 포트 443의 IPv4를 통해 HTTPS. AWS KMS communicates여야 합니다. 프록시 URI 엔드포인트 값에 포트를 지정하지 마세요.

   가 이전 단계에서 지정한 VPC 엔드포인트 서비스를 AWS KMS 인식하면이 필드가 자동으로 작성됩니다.

   퍼블릭 엔드포인트 연결로 공개적으로 사용 가능한 엔드포인트 URI를 입력합니다. VPC 엔드포인트 연결로 `https://` 뒤에 VPC 엔드포인트 서비스의 프라이빗 DNS 이름을 지정합니다.

1. [프록시 URI 경로](#require-path) 접두사 및 [프록시 인증 자격 증명](#require-credential)의 값을 입력하려면 프록시 구성 파일을 업로드하거나 값을 수동으로 입력합니다.
   + [프록시 URI 경로](#require-path.title) 및 [프록시 인증 자격 증명](#require-credential)에 대한 값이 포함된 선택적 [프록시 구성 파일](#proxy-configuration-file)이 있는 경우 **Upload configuration file**(구성 파일 업로드)을 선택합니다. 단계에 따라 파일을 업로드합니다.

     파일이 업로드되면 콘솔은 편집 가능한 필드에 파일의 값을 표시합니다. 지금 값을 변경하거나 외부 키 스토어를 생성한 후 [이 값을 편집](update-xks-keystore.md)할 수 있습니다.

     비밀 액세스 키의 값을 표시하려면 **Show secret access key**(비밀 액세스 키 표시)를 선택합니다.
   + 프록시 구성 파일이 없는 경우 프록시 URI 경로 및 프록시 인증 자격 증명 값을 수동으로 입력할 수 있습니다.

     1. 프록시 구성 파일이 없는 경우에는 프록시 URI를 수동으로 입력할 수 있습니다. 콘솔에서 필요한 **/kms/xks/v1** 값을 제공합니다.

        [프록시 URI 경로](#require-path)에 선택적 접두사(예: `/{{example-prefix}}/kms/xks/v1`의 `example-prefix`)가 포함된 경우 **Proxy URI path prefix**(프록시 URI 경로 접두사) 필드에 접두사를 입력합니다. 그렇지 않은 경우 필드를 비워둡니다.

     1. 프록시 구성 파일이 없는 경우 [프록시 인증 자격 증명](keystore-external.md#concept-xks-credential)을 수동으로 입력할 수 있습니다. 액세스 키 ID와 비밀 액세스 키가 모두 필요합니다.
        + **Proxy credential: Access key ID**(프록시 자격 증명: 액세스 키 ID)에 프록시 인증 자격 증명의 액세스 키 ID를 입력합니다. 액세스 키 ID가 비밀 액세스 키를 식별합니다.
        + **Proxy credential: Secret access key**(프록시 자격 증명: 비밀 액세스 키)에 프록시 인증 자격 증명의 비밀 액세스 키를 입력합니다.

        비밀 액세스 키의 값을 표시하려면 **Show secret access key**(비밀 액세스 키 표시)를 선택합니다.

        이 절차는 외부 키 스토어 프록시에 설정한 인증 자격 증명을 설정하거나 변경하지 않습니다. 단지 이러한 값을 외부 키 스토어와 연결합니다. 프록시 인증 자격 증명 설정, 변경 및 교체에 대한 자세한 내용은 외부 키 스토어 프록시 또는 키 관리 소프트웨어 설명서를 참조하세요.

        프록시 인증 자격 증명이 변경되면 외부 키 스토어의 [자격 증명 설정을 편집](update-xks-keystore.md)합니다.

1. **Create external key store**(외부 키 스토어 생성)를 선택합니다.

절차가 성공하면 계정 및 리전의 외부 키 스토어 목록에 새로운 외부 키 스토어가 나타납니다. 절차가 실패하면 오류 메시지가 나타나서 문제를 설명하고 이를 수정할 수 있는 방법에 대한 도움말을 제공합니다. 도움이 더 필요한 경우 [외부 키에 대한 CreateKey 오류](xks-troubleshooting.md#fix-external-key-create) 섹션을 참조하십시오.

**다음**: 새로운 외부 키 스토어는 자동으로 연결되지 않습니다. 외부 키 스토어 AWS KMS keys 에서를 생성하려면 [먼저 외부 키 스토어 프록시에 외부 키 스토어를 연결](xks-connect-disconnect.md)해야 합니다.

### AWS KMS API 사용
<a name="create-keystore-api"></a>

[CreateCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateCustomKeyStore.html) 작업을 사용하여 외부 키 스토어를 새로 생성할 수 있습니다. 필수 파라미터의 값을 찾는 방법에 대한 도움말은 외부 키 스토어 프록시 또는 키 관리 소프트웨어 설명서를 참조하세요.

**작은 정보**  
`CreateCustomKeyStore` 작업을 사용할 때는 [프록시 구성 파일](#proxy-configuration-file)을 업로드할 수 없습니다. 그러나 프록시 구성 파일의 값을 사용하여 파라미터 값이 올바른지 확인할 수 있습니다.

외부 키 스토어를 생성하려면 `CreateCustomKeyStore` 작업에 다음 파라미터 값이 필요합니다.
+ `CustomKeyStoreName` – 계정에서 고유한 기억하기 쉬운 외부 키 스토어의 이름입니다.
**중요**  
이 필드에 기밀 또는 민감한 정보를 포함하지 마십시오. 이 필드는 CloudTrail 로그 및 기타 출력에 일반 텍스트로 표시될 수 있습니다.
+ `CustomKeyStoreType` - `EXTERNAL_KEY_STORE`를 지정합니다.
+ [`XksProxyConnectivity`](#require-connectivity) – `PUBLIC_ENDPOINT` 또는 `VPC_ENDPOINT_SERVICE`를 지정합니다.
+ [`XksProxyAuthenticationCredential`](keystore-external.md#concept-xks-credential) - 액세스 키 ID와 비밀 액세스 키를 모두 지정합니다.
+ [`XksProxyUriEndpoint`](#require-endpoint) - AWS KMS 가 외부 키 스토어 프록시와 통신하는 데 사용하는 엔드포인트입니다.
+ [`XksProxyUriPath`](#require-path) - 프록시 API에 대한 프록시 내의 경로입니다.
+ [`XksProxyVpcEndpointServiceName`](#require-vpc-service-name) - `XksProxyConnectivity` 값이 `VPC_ENDPOINT_SERVICE`인 경우에만 필요합니다.

**참고**  
 AWS CLI 버전 1.0을 사용하는 경우 파라미터와 같은 HTTP 또는 HTTPS 값으로 `XksProxyUriEndpoint` 파라미터를 지정하기 전에 다음 명령을 실행합니다.  

```
aws configure set cli_follow_urlparam false
```
그렇지 않으면 AWS CLI 버전 1.0이 파라미터 값을 해당 URI 주소에 있는 콘텐츠로 대체하여 다음 오류가 발생합니다.  

```
Error parsing parameter '--xks-proxy-uri-endpoint': Unable to retrieve 
https:// : received non 200 status code of 404
```

다음 예제에서는 가상의 값을 사용합니다. 명령을 실행하기 전에 해당 값을 외부 키 스토어의 유효한 값으로 바꾸세요.

퍼블릭 엔드포인트 연결이 있는 외부 키 스토어를 생성합니다.

```
$ aws kms create-custom-key-store
        --custom-key-store-name {{ExampleExternalKeyStorePublic}} \
        --custom-key-store-type EXTERNAL_KEY_STORE \
        --xks-proxy-connectivity PUBLIC_ENDPOINT \
        --xks-proxy-uri-endpoint {{https://myproxy.xks.example.com}} \
        --xks-proxy-uri-path {{/kms/xks/v1}} \
        --xks-proxy-authentication-credential AccessKeyId={{<value>}},RawSecretAccessKey={{<value>}}
```

VPC 엔드포인트 서비스 연결이 있는 외부 키 스토어를 생성합니다.

```
$ aws kms create-custom-key-store
        --custom-key-store-name {{ExampleExternalKeyStoreVPC}} \
        --custom-key-store-type EXTERNAL_KEY_STORE \
        --xks-proxy-connectivity VPC_ENDPOINT_SERVICE \
        --xks-proxy-vpc-endpoint-service-name {{com.amazonaws.vpce.us-east-1.vpce-svc-example}} \
        --xks-proxy-uri-endpoint {{https://myproxy-private.xks.example.com}} \
        --xks-proxy-uri-path {{/kms/xks/v1}} \
        --xks-proxy-authentication-credential AccessKeyId={{<value>}},RawSecretAccessKey={{<value>}}
```

작업이 성공하면 `CreateCustomKeyStore`가 사용자 지정 키 스토어 ID를 반환합니다(다음 예제 응답 참조).

```
{
    "CustomKeyStoreId": cks-1234567890abcdef0
}
```

작업이 실패할 경우 예외로 표시된 오류를 정정하고 다시 시도해보세요. 추가적인 도움말은 [외부 키 스토어 문제 해결](xks-troubleshooting.md) 섹션을 참조하십시오.

**다음**: 외부 키 스토어를 사용하려면 [외부 키 스토어 프록시에 연결](xks-connect-disconnect.md)합니다.