

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

# 외부 키 저장소 연결
<a name="about-xks-connecting"></a>

외부 키 스토어가 외부 키 스토어 프록시에 연결되면 [외부 키 스토어에 KMS 키를 생성](create-cmk-keystore.md)하고 [암호화 작업](manage-cmk-keystore.md#use-cmk-keystore)에서 기존 KMS 키를 사용할 수 있습니다.

외부 키 스토어를 외부 키 스토어 프록시에 연결하는 프로세스는 외부 키 스토어의 연결에 따라 다릅니다.
+ [퍼블릭 엔드포인트 연결](keystore-external.md#concept-xks-connectivity)이 있는 외부 키 스토어를 연결하면 AWS KMS 가 [GetHealthStatus 요청](keystore-external.md#concept-proxy-apis)을 외부 키 스토어 프록시로 전송하여 [프록시 URI 엔드포인트](create-xks-keystore.md#require-endpoint), [프록시 URI 경로](create-xks-keystore.md#require-path) 및 [프록시 인증 자격 증명](keystore-external.md#concept-xks-credential)을 검증합니다. 프록시의 성공적인 응답은 [프록시 URI 엔드포인트](create-xks-keystore.md#require-endpoint)와 [프록시 URI 경로](create-xks-keystore.md#require-path)가 정확하고 액세스 가능하며 프록시가 외부 키 스토어에 대한 [프록시 인증 자격 증명](keystore-external.md#concept-xks-credential)으로 서명된 요청을 인증했음을 확인합니다.
+ [VPC 엔드포인트 서비스 연결이](choose-xks-connectivity.md#xks-vpc-connectivity) 있는 외부 키 스토어를 외부 키 스토어 프록시에 연결하면가 다음을 AWS KMS 수행합니다.
  + [프록시 URI 엔드포인트](create-xks-keystore.md#require-endpoint)에 지정된 프라이빗 DNS 이름의 도메인이 [검증](vpc-connectivity.md#xks-private-dns)되었는지 확인합니다.
  +  AWS KMS VPC에서 VPC 엔드포인트 서비스로 인터페이스 엔드포인트를 생성합니다.
  + 프록시 URI 엔드포인트에 지정된 프라이빗 DNS 이름에 대한 프라이빗 호스팅 영역을 생성합니다.
  + 외부 키 스토어 프록시로 [GetHealthStatus 요청](keystore-external.md#concept-proxy-apis)을 전송합니다. 프록시의 성공적인 응답은 [프록시 URI 엔드포인트](create-xks-keystore.md#require-endpoint)와 [프록시 URI 경로](create-xks-keystore.md#require-path)가 정확하고 액세스 가능하며 프록시가 외부 키 스토어에 대한 [프록시 인증 자격 증명](keystore-external.md#concept-xks-credential)으로 서명된 요청을 인증했음을 확인합니다.

연결 작업은 사용자 지정 키 스토어를 연결하는 프로세스를 시작하지만 외부 키 스토어를 외부 프록시에 연결하는 데 5분가량 걸립니다. 연결 작업의 성공 응답은 외부 키 스토어가 연결되었음을 나타내지 않습니다. 연결이 성공했는지 확인하려면 AWS KMS 콘솔 또는 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/DescribeCustomKeyStores.html) 작업을 사용하여 키 스토어 외부의 [연결 상태를](xks-connect-disconnect.md#xks-connection-state) 확인합니다.

연결 상태가 이면 `FAILED`연결 오류 코드가 AWS KMS 콘솔에 표시되고 `DescribeCustomKeyStore` 응답에 추가됩니다. 연결 오류 코드를 해석하는 방법에 대한 도움말은 [외부 키 스토어의 연결 오류 코드](xks-troubleshooting.md#xks-connection-error-codes) 섹션을 참조하세요.

## 외부 키 저장소에 연결 및 다시 연결
<a name="connect-xks"></a>

 AWS KMS 콘솔에서 또는 [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html) 작업을 사용하여 외부 키 스토어를 연결하거나 다시 연결할 수 있습니다.

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

 AWS KMS 콘솔을 사용하여 외부 키 스토어 프록시에 외부 키 스토어를 연결할 수 있습니다.

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. 연결하려는 외부 키 스토어의 행을 선택합니다.

   외부 키 스토어의 [연결 상태](xks-connect-disconnect.md#xks-connection-state)가 **FAILED**(실패)면 연결에 앞서 [외부 키 스토어를 연결 해제](disconnect-keystore.md#disconnect-keystore-console)해야 합니다.

1. **Key store actions**(키 스토어 작업) 메뉴에서 **Connect**(연결)를 선택합니다.

연결 프로세스를 완료하는 데 일반적으로 5분가량 걸립니다. 작업이 완료되면 [연결 상태](xks-connect-disconnect.md#xks-connection-state)가 **CONNECTED**(연결됨)로 변경됩니다.

연결 상태가 **Failed**(실패)인 경우 연결 상태 위로 마우스를 가져가면 오류의 원인을 설명하는 **연결 오류 코드가 표시됩니다. 연결 오류 코드에 대응하는 방법에 대한 도움말은 [외부 키 스토어의 연결 오류 코드](xks-troubleshooting.md#xks-connection-error-codes) 섹션을 참조하세요. 연결 상태가 **Failed**(실패)인 외부 키 스토어를 연결하려면 먼저 [사용자 지정 키 스토어를 연결 해제](disconnect-keystore.md#disconnect-keystore-console)해야 합니다.

### AWS KMS API 사용
<a name="connect-xks-api"></a>

연결 해제된 외부 키 스토어를 연결하려면 [ConnectCustomKeyStore](https://docs.aws.amazon.com/kms/latest/APIReference/API_ConnectCustomKeyStore.html) 작업을 사용합니다.

연결하기 전에 외부 키 스토어의 [연결 상태](xks-connect-disconnect.md#xks-connection-state)연결 상태가 `DISCONNECTED`여야 합니다. 현재 연결 상태가 `FAILED`면 [외부 키 스토어를 연결 해제](about-xks-disconnecting.md#disconnect-xks-api)한 다음 다시 연결합니다.

이 연결 프로세스를 완료하는 데 5분가량 소요됩니다. 빨리 실패하지 않는 한, `ConnectCustomKeyStore`는 속성 없이 HTTP 200 응답과 JSON 객체를 반환합니다. 하지만 이러한 초기 응답은 연결이 성공했음을 의미하지는 않습니다. 외부 키 스토어가 연결되어 있는지 확인하려면 [DescribeCustomKeystore](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 응답에서 연결 상태를 확인합니다.

이 섹션의 예제는 [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/)를 사용하지만, 지원되는 모든 프로그래밍 언어를 사용할 수 있습니다.

외부 키 스토어를 식별하려면 사용자 지정 키 스토어 ID를 사용합니다. 콘솔의 **Custom key stores(사용자 지정 키 스토어)** 페이지에서, 또는 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 작업을 사용하여 ID를 찾을 수 있습니다. 이 예제를 실행하기 앞서 예제 ID를 유효한 ID로 바꿉니다.

```
$ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
```

`ConnectCustomKeyStore` 작업은 응답에 `ConnectionState`를 반환하지 않습니다. 외부 키 스토어가 연결되어 있는지 확인하려면 [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) 작업을 사용합니다. 기본적으로 이 작업은 계정 및 리전에서 모든 사용자 지정 키 스토어를 반환합니다. 그러나 `CustomKeyStoreId` 또는 `CustomKeyStoreName` 파라미터(둘 중 하나만)를 사용해서 특정한 사용자 지정 키 스토어로 응답을 제한할 수 있습니다. `ConnectionState` 값이 `CONNECTED`면 외부 키 스토어가 외부 키 스토어 프록시에 연결되어 있는 것입니다.

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-9876543210fedcba9",
      "CustomKeyStoreName": "ExampleXksVpc",
      "ConnectionState": "CONNECTED",
      "CreationDate": "2022-12-13T18:34:10.675000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE98765432EXAMPLE",
        "Connectivity": "VPC_ENDPOINT_SERVICE",
        "UriEndpoint": "https://example-proxy-uri-endpoint-vpc",
        "UriPath": "/example/prefix/kms/xks/v1",
        "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example"
      }
    }
  ]
}
```

`DescribeCustomKeyStores` 응답의 `ConnectionState` 값이 `FAILED`면 `ConnectionErrorCode` 요소는 실패의 원인을 나타냅니다.

다음 예제에서의 `XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND` 값은가 외부 키 스토어 프록시와 통신하는 데 사용하는 VPC 엔드포인트 서비스를 찾을 AWS KMS 수 없음을 `ConnectionErrorCode` 나타냅니다. `XksProxyVpcEndpointServiceName`가 올바른지, AWS KMS 서비스 보안 주체가 Amazon VPC 엔드포인트 서비스에서 허용되는 보안 주체인지, VPC 엔드포인트 서비스가 연결 요청을 수락할 필요가 없는지 확인합니다. 연결 오류 코드에 대응하는 방법에 대한 도움말은 [외부 키 스토어의 연결 오류 코드](xks-troubleshooting.md#xks-connection-error-codes) 섹션을 참조하세요.

```
$ aws kms describe-custom-key-stores --custom-key-store-name ExampleXksVpc
{
    "CustomKeyStores": [
    {
      "CustomKeyStoreId": "cks-9876543210fedcba9",
      "CustomKeyStoreName": "ExampleXksVpc",
      "ConnectionState": "FAILED",
      "ConnectionErrorCode": "XKS_VPC_ENDPOINT_SERVICE_NOT_FOUND",
      "CreationDate": "2022-12-13T18:34:10.675000+00:00",
      "CustomKeyStoreType": "EXTERNAL_KEY_STORE",
      "XksProxyConfiguration": { 
        "AccessKeyId": "ABCDE98765432EXAMPLE",
        "Connectivity": "VPC_ENDPOINT_SERVICE",
        "UriEndpoint": "https://example-proxy-uri-endpoint-vpc",
        "UriPath": "/example/prefix/kms/xks/v1",
        "VpcEndpointServiceName": "com.amazonaws.vpce.us-east-1.vpce-svc-example"
      }
    }
  ]
}
```