

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

# 外部キーストアを作成する
<a name="create-xks-keystore"></a>

各 AWS アカウント およびリージョンに 1 つまたは複数の外部キーストアを作成できます。各外部キーストアは AWS、 の外部キーマネージャー、および AWS KMS と外部キーマネージャー間の通信を仲介する外部キーストアプロキシ (XKS プロキシ) に関連付ける必要があります。詳細については、「[外部キーストアプロキシとの接続オプションを選択する](choose-xks-connectivity.md)」を参照してください。開始する前に、[外部キーストアが必要であることを確認してください](keystore-external.md#do-i-need-xks)。ほとんどのお客様は、キーマテリアルでバックアップされた KMS AWS KMS キーを使用できます。

**ヒント**  
外部キーマネージャーの中には、外部 キーを作成するための簡単な方法が用意されているものもあります。詳細については外部キーマネージャーのドキュメントを参照してください。

外部キーストアを作成するときは、事前に[前提条件を構成する](#xks-requirements)必要があります。作成中に、外部キーストアのプロパティを指定します。最も重要なのは、 の外部キーストアが[パブリックエンドポイント](choose-xks-connectivity.md#xks-connectivity-public-endpoint)を使用するか[、VPC エンドポイントサービス](choose-xks-connectivity.md#xks-vpc-connectivity) AWS KMS を使用して外部キーストアプロキシに接続するかを示します。また、プロキシの URI エンドポイントや、 が API リクエストをプロキシ AWS KMS に送信するプロキシエンドポイント内のパスなど、接続の詳細も指定します。

**考慮事項**
+ KMS は IPv6 経由で外部キーストアと通信することはできません。
+  パブリックエンドポイント接続を使用する場合は、 AWS KMS が HTTPS 接続を使用してインターネット経由でプロキシと通信できることを確認してください。これには、外部キーストアプロキシで 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)や、 AWS KMS リクエストを[外部キーマネージャーが理解できる形式に変換する外部キーストアプロキシ](keystore-external.md#concept-xks-proxy)など、必要なコンポーネントをアセンブルする必要があります。

以下のコンポーネントは、すべての外部キーストアに必要です。これらのコンポーネントの他に、選択した[外部キーストアプロキシ接続オプション](choose-xks-connectivity.md)をサポートするコンポーネントを、指定する必要があります。

**ヒント**  
外部キーマネージャーにこれらのコンポーネントの一部が含まれているか、あるいはそれらが自動的に構成されている場合があります。詳細については外部キーマネージャーのドキュメントを参照してください。  
 AWS KMS コンソールで外部キーストアを作成する場合は、プロキシ [URI パスとプロキシ](#require-path)[認証情報](keystore-external.md#concept-xks-credential)を指定する JSON ベースの[プロキシ設定ファイル](#proxy-configuration-file)をアップロードできます。一部の外部キーストアプロキシでは、このファイルは自動的に生成されます。詳細については、外部キーストアプロキシか外部キーマネージャーのドキュメントを参照してください。

### 外部キーマネージャー
<a name="require-ekm"></a>

各外部キーストアには 1 つ以上の[外部キーマネージャー](keystore-external.md#concept-ekm)インスタンスが必要です。これには、物理的または仮想的なハードウェアセキュリティモジュール (HSM)、またはキー管理ソフトウェアを使用できます。

キーマネージャーは 1 つだけ使用できますが、冗長性を確保するために、暗号化キーを共有する、関連付けられたキーマネージャーインスタンスを 2 つ以上用意しておくことが推奨されます。外部キーストアでは、外部キーマネージャーを独占的に使用する必要はありません。ただし、外部キーマネージャーには、リソースを保護するために外部キーストアで KMS キーを使用する AWS サービスからの暗号化および復号リクエストの予想される頻度を処理する容量が必要です。外部キーマネージャーは、1 秒あたり最大 1,800 件のリクエストを処理し、各リクエストで 250 ミリ秒のタイムアウト内に応答するように設定する必要があります。ネットワーク往復時間 (RTT) が 35 ミリ秒以下 AWS リージョン になるように、外部キーマネージャーを の近くに配置することをお勧めします。

外部キーストアプロキシで許可されている場合は、外部キーストアプロキシに関連付ける外部キーマネージャーを変更できますが、新しい外部キーマネージャーは、同じキーマテリアルを持つバックアップまたはスナップショットでなければなりません。KMS キーに関連付ける外部キーが外部キーストアプロキシで使用できなくなった場合、 AWS KMS は 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 プロキシ) を指定する必要があります。外部キーストアプロキシを開発または購入するか、 が提供する、または外部キーマネージャーに組み込まれている外部キーストアプロキシを使用できます。 AWS KMS では、外部キーストアプロキシを 1 秒あたり最大 1,800 件のリクエストを処理し、リクエストごとに 250 ミリ秒のタイムアウト内に応答するように設定することをお勧めします。ネットワーク往復時間 (RTT) が 35 ミリ秒以下 AWS リージョン になるように、外部キーマネージャーを の近くに配置することをお勧めします。

外部キーストアプロキシは複数の外部キーストアに使用できますが、各外部キーストアには、固有の URI エンドポイントと、リクエストに対応する外部キーストアプロキシ内のパスが必要です。

VPC エンドポイントサービス接続を使用している場合、Amazon VPC に外部キーストアプロキシを配置できますが必須ではありません。プライベートデータセンターなど AWS、 の外部にプロキシを配置し、VPC エンドポイントサービスはプロキシとの通信にのみ使用できます。

### プロキシ認証の認証情報
<a name="require-credential"></a>

外部キーストアを作成するときは、外部キーストアプロキシ認証の認証情報 (`XksProxyAuthenticationCredential`) を指定する必要があります。

外部キーストアプロキシ AWS KMS で の[認証情報](keystore-external.md#concept-xks-credential) (`XksProxyAuthenticationCredential`) を確立する必要があります。 AWS KMS は、外部キーストアプロキシ認証情報を使用して[署名バージョン 4 (SigV4) プロセス](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)を使用してリクエストに署名することで、プロキシを認証します。外部キーストアを作成するときに認証情報を指定します。これはいつでも[変更できます](update-xks-keystore.md)。プロキシが認証情報をローテーションする場合は、外部キーストアの認証情報値を更新する必要があります。

プロキシ認証の認証情報は、2 つの要素から成ります。外部キーストアでは両方の要素を指定する必要があります。
+ アクセスキー 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 (Amazon VPC) エンドポイントサービス](choose-xks-connectivity.md#xks-vpc-connectivity)を使用して、外部キーストアプロキシと通信できます。パブリックエンドポイントは設定と保守が容易ですが、あらゆるインストールのセキュリティ要件を満たしているとは限りません。Amazon VPC エンドポイントサービスの接続オプションを選択する場合は、必要なコンポーネント (2 つの異なるアベイラビリティーゾーンに 2 つ以上のサブネットがある Amazon VPC、ネットワークロードバランサーとターゲットグループを含む VPC エンドポイントサービス、VPC エンドポイントサービスのプライベート DNS 名など) を作成し、管理する必要があります。

外部キーストアの[プロキシ接続オプションは変更できます](update-xks-keystore.md)。ただし、外部キーストアの、KMS キーに関連付けられたキーマテリアルが、引き続き利用可能であることを確認する必要があります。それ以外の場合、 AWS KMS はそれらの 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) — 後に VPC エンドポイントサービスのプライベート DNS 名が続く `https://` を指定します。

外部キーストアプロキシに設定された TLS サーバ証明書は、外部キーストアプロキシ URI エンドポイントのドメイン名と一致し、外部キーストアでサポートされた認証局が発行している必要があります。リストについては、「[Trusted Certificate Authorities](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 キーに関連付けられたキーマテリアルにアクセスできることを確認します。それ以外の場合、 AWS KMS はそれらの 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 パスが の場合`/kms/xks/v1`、 はプロキシ API リクエストを AWS KMS に送信します`https://myproxy.xks.example.com/kms/xks/v1`。

[プロキシ URI パス](update-xks-keystore.md)は変更が可能ですが、必ず、外部キーストアプロキシが、外部キーストアの KMS キーに関連付けられたキーマテリアルにアクセスできることを確認します。それ以外の場合、 AWS KMS はそれらの 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 エンドポイントサービスの AWS アカウント ID を指定する必要があります AWS アカウント。
+ Network Load Balancer (NLB) は、それぞれが異なるアベイラビリティーゾーンに存在する 2 つ以上のサブネットに接続されていること。
+ VPC エンドポイントサービスの*許可プリンシパルリスト*には`cks.kms.<region>.amazonaws.com`、 などのリージョン AWS KMS のサービスプリンシパル が含まれている必要があります`cks.kms.us-east-1.amazonaws.com`。
  + Amazon VPC エンドポイントサービスが外部キーストア (XKS) を所有している AWS アカウント 以外の によって AWS アカウント 所有されている場合は、VPC エンドポイントサービスへの XKS アクセスも許可する必要があります。これを行うには、Amazon VPC エンドポイントサービスの[プリンシパルとして XKS AWS アカウント ID を許可リストに登録します](https://docs.aws.amazon.com/vpc/latest/privatelink/configure-endpoint-service.html#add-remove-permissions)。
+ 接続リクエストの承認を要求しないこと。
+ 上位レベルのパブリックドメインにプライベート DNS 名があること。例えば、パブリック `xks.example.com` ドメインに myproxy-private.xks.example.com というプライベート DNS 名を設定できる。

  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)する場合は、プロキシ設定ファイルをアップロードすることで、外部キーストアの設定値を指定できます。このファイルを使用すれば入力や貼り付けのエラーを回避でき、外部キーストアの値を外部キーストアプロキシの値と確実に一致させることができます。

プロキシ設定ファイルは、外部キーストアプロキシによって生成されます。外部キーストアプロキシでプロキシ設定ファイルが提供されているかどうかは、外部キーストアプロキシのドキュメントでご確認いただけます。

以下は、正しい形式の Proxy 設定ファイルの例です。使用している値は架空のものです。

```
{
  "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)が作成済み・設定済みであることをあらかじめ確認してください。必要な値を見つける際に不明なことがあれば、外部キーストアプロキシまたはキー管理ソフトウェアのドキュメントを参照してください。

**注記**  
で外部キーストアを作成すると AWS マネジメントコンソール、プロキシ [URI パスとプロキシ](#require-path)[認証情報](#require-credential)の値を含む JSON ベースの*プロキシ設定ファイル*をアップロードできます。一部のプロキシでは、このファイルは自動的に生成されます。この値は必須ではありません。

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. **[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 エンドポイントサービス接続では、後ろに VPC エンドポイントサービスのプライベート DNS 名が続く `https://` を入力します。

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)。