

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

# 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: AWS KMS に VPC エンドポイントサービスへの接続を許可する](#xks-vpc-authorize-kms)

## VPC エンドポイントサービス接続の要件
<a name="xks-vpce-service-requirements"></a>

外部キーストアの VPC エンドポイントサービス接続を選択する場合、次のリソースが必要です。
+ 外部キーマネージャーに接続されている Amazon VPC。2 つの異なるアベイラビリティーゾーンで 2 つ以上のプライベート[サブネット](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)に存在する必要があります。
+ それぞれ異なるアベイラビリティーゾーンに、2 つ以上のプライベートサブネットが必要です。
+ Amazon VPC のプライベート IP アドレス範囲が、[外部キーマネージャー](keystore-external.md#concept-ekm)をホストするデータセンターのプライベート IP アドレス範囲と重複しないようにする必要があります。
+ すべてのコンポーネントが IPv4 を使用する必要があります。

Amazon VPC を外部キーストアプロキシに接続するには、多数の方法があります。必要なパフォーマンスとセキュリティのニーズを満たすオプションを選択します。リストについては、「[VPC を他のネットワークに接続する](https://docs.aws.amazon.com/vpc/latest/userguide/extend-intro.html)」および「[Network-to-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)」トピックの手順に従います。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。


| フィールド | 値 | 
| --- | --- | 
| IPv4 CIDR ブロック | VPC の IP アドレスを入力します。Amazon VPC のプライベート IP アドレス範囲が、[外部キーマネージャー](keystore-external.md#concept-ekm)をホストするデータセンターのプライベート IP アドレス範囲と重複しないようにする必要があります。 | 
| アベイラビリティーゾーン数 (AZ) | 2 以上 | 
| パブリックサブネット数 |  何も必要ありません (0)  | 
| プライベートサブネット数 | AZ ごとに 1 つ | 
| NAT ゲートウェイ | 何も必要ありません。 | 
| VPC エンドポイント | 何も必要ありません。 | 
| [Enable DNS hostnames] (DNS ホスト名を有効化) | はい | 
| 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) は、リクエストを複数の正常なターゲットに分散し、いずれのターゲットもリクエストを処理できるようにします。このステップでは、外部キーストアプロキシ用に 2 つ以上のホストを含むターゲットグループを作成し、そのターゲットグループに IP アドレスを登録します。

次の必須値を使用して、「[ターゲットグループの設定](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html#configure-target-group)」トピックの手順に従います。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。


| フィールド | 値 | 
| --- | --- | 
| 対象タイプ | IP アドレス | 
| プロトコル | TCP | 
| ポート |  443  | 
| IP アドレスタイプ | IPv4 | 
| VPC | 外部キーストアの VPC エンドポイントサービスを作成する VPC を選択します。 | 
| ヘルスチェックプロトコルとパス | ヘルスチェックプロトコルとパスは、外部キーストアプロキシの設定に応じて異なります。外部キーマネージャーまたは外部キーストアプロキシのドキュメントを参照してください。ターゲットグループのヘルスチェック設定に関する一般情報は、Network Load Balancer 用 Elastic Load Balancing ユーザーガイドの「[Health checks for your target groups](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)」トピックの手順に従ってリスナーを設定および追加し、次の必須値を使用してロードバランサーを作成します。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。


| フィールド | 値 | 
| --- | --- | 
| スキーム | 内部 | 
| IP アドレスタイプ | IPv4 | 
| ネットワークマッピング |  外部キーストアの VPC エンドポイントサービスを作成する VPC を選択します。  | 
| マッピング | VPC サブネットに設定した両方のアベイラビリティーゾーン (2 つ以上) を選択します。サブネット名とプライベート IP アドレスを検証します。 | 
| プロトコル | TCP | 
| ポート | 443 | 
| デフォルトアクション: 転送 | 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 エンドポイントサービスを作成します。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。


| フィールド | 値 | 
| --- | --- | 
| ロードバランサーのタイプ | Network | 
| 使用可能なロードバランサー | 前のステップで作成した [Network Load Balancer](#xks-nlb) を選択します。新しいロードバランサーがリストに表示されない場合は、その状態がアクティブであることを確認します。ロードバランサーの状態がプロビジョニングからアクティブに変わるまでに、数分かかる場合があります。 | 
| 承認が必要です | False。チェックボックスをオフにします。acceptance*.* AWS KMS can not connect to the VPC endpoint service without a manual acceptance。承認が必要な場合、[外部キーストアを作成](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`、 `xks.example.com`または などのパブリックドメインに TXT レコードを作成する必要があります。 は最初に で TXT レコードを探`xks.example.com`し`example.com`、次に で TXT レコード AWS PrivateLink を探します`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: AWS KMS に VPC エンドポイントサービスへの接続を許可する
<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)」トピックの手順に従ってください。次の必須値を使用します。


| フィールド | 値 | 
| --- | --- | 
| AWS KMS ARN | cks.kms.<region>.amazonaws.com例: `cks.kms.us-east-1.amazonaws.com` | 

------
#### [ Cross AWS アカウント ]

VPC エンドポイントサービスが別の によって所有 AWS アカウント されている場合、プリン**シパルを許可**リストに AWS KMS と アカウントの両方を追加する必要があります。これにより、 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)」トピックの手順に従ってください。次の必須値を使用します。


| フィールド | 値 | 
| --- | --- | 
| 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` | 

------

**Next**: [外部キーストアを作成する](create-xks-keystore.md)