

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 外部キーストアを接続する
<a name="about-xks-connecting"></a>

外部カスタムキーストアを外部キーストアプロキシに接続しているときは、[外部キーストアに KMS キーを作成](create-cmk-keystore.md)し、その既存の KMS キーをを[暗号化オペレーション](manage-cmk-keystore.md#use-cmk-keystore)に使用できます。

外部キーストアを外部キーストアプロキシに接続するプロセスは、外部キーストアの接続性に応じて異なります。
+ 外部キーストアを[パブリックエンドポイント接続](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 マネジメントコンソール し、[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 オブジェクトを返します。ただし、この初期レスポンスは接続に成功したことを示していません。外部キーストアが接続されているかどうかを確認するには、[DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) のレスポンスの接続ステータスを確認します。

このセクションの例では [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

外部キーストアを識別するには、カスタムキーストア ID を使用します。ID はコンソールの [**カスタムキーストア**] ページまたは [DescribeCustomKeyStores](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeCustomKeyStores.html) オペレーションを使用して見つけることができます。この例を実行する前に、例の 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` パラメータのどちらかを使用して (両方は使用できません) レスポンスを特定のカスタムキーストアに制限できます。`CONNECTED` の `ConnectionState` 値は、外部キーストアが外部キーストアプロキシに接続されていることを示します。

```
$ 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"
      }
    }
  ]
}
```