VPC エンドポイントサービス接続の設定 - AWS Key Management Service

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

VPC エンドポイントサービス接続の設定

このセクションのガイダンスを使用して、VPC エンドポイントサービス接続を使用する外部キーストアに必要な、AWS リソースと関連コンポーネントを作成および設定します。この接続オプションに一覧表示されているリソースは、すべての外部キーストアに必要なリソースを補足するものです。必要なリソースを作成、設定後に、外部キーストアを作成できます。

外部キーストアプロキシは、Amazon VPC 内に配置することも、AWS の外部に配置して、VPC エンドポイントサービスを使用して通信することもできます。

開始する前に、外部キーストアが必要であることを確認してください。ほとんどのお客様は、AWS KMS キーマテリアルによってバックアップされた KMS キーを使用できます。

注記

VPC エンドポイントサービスの接続に必要な要素の一部は、外部キーマネージャーに含まれている場合があります。また、ソフトウェアに追加の設定要件が存在する場合があります。このセクションの AWS リソースを作成、設定する前に、プロキシとキーマネージャーのドキュメントを参照してください。

VPC エンドポイントサービス接続の要件

外部キーストアの VPC エンドポイントサービス接続を選択する場合、次のリソースが必要です。

ネットワークのレイテンシーを最小限に抑えるには、外部キーマネージャーに最も近い、サポートされている AWS リージョン で AWS コンポーネントを作成します。可能な場合は、ネットワークラウンドトリップ時間 (RTT) が 35 ミリ秒以下のリージョンを選択します。

  • 外部キーマネージャーに接続されている Amazon VPC。2 つの異なるアベイラビリティーゾーンで 2 つ以上のプライベートサブネットが必要です。

    外部キーストアでの使用の要件を満たしている場合は、外部キーストアに既存の Amazon VPC を使用できます。複数の外部キーストアが Amazon VPC を共有できますが、各外部キーストアに独自の VPC エンドポイントサービスとプライベート DNS 名が必要です。

  • Network Load Balancerターゲットグループを備え、AWS PrivateLink を搭載した Amazon VPC エンドポイントサービスです

    エンドポイントサービスは承認を要求できません。また、許可されたプリンシパルとして AWS KMS を追加する必要があります。これにより、AWS KMS はインターフェイスエンドポイントを作成して、外部キーストアプロキシと通信できるようになります。

  • AWS リージョン 内で一意の、VPC エンドポイントサービスのプライベート DNS 名です。

    プライベート DNS 名は、上位のパブリックドメインのサブドメインである必要があります。例えば、プライベート DNS 名が myproxy-private.xks.example.com の場合、xks.example.com または example.com などのパブリックドメインのサブドメインである必要があります。

    プライベート DNS 名の DNS ドメインの所有権を検証する必要があります。

  • 外部キーストアプロキシのサポートされている公開認証機関が発行した TLS 証明書。

    TLS 証明書のサブジェクト共通名 (CN) は、プライベート DNS 名と一致している必要があります。例えば、プライベート DNS 名が myproxy-private.xks.example.com の場合、TLS 証明書の CN は、myproxy-private.xks.example.com または *.xks.example.com である必要があります。

外部キーストアのすべての要件については、前提条件を構成するを参照してください。

Amazon VPC とサブネットを作成する

VPC エンドポイントサービス接続には、2 つ以上のプライベートサブネットをもつ外部キーマネージャーに接続された Amazon VPC が必要です。Amazon VPC を作成することも、外部キーストアの要件を満たす既存の Amazon VPC を使用することもできます。新しい Amazon VPC 作成のヘルプについては、「Amazon Virtual Private Cloud ユーザーガイド」の「VPC を作成する」を参照してください。

Amazon VPC の要件

VPC エンドポイントサービス接続を使用して外部キーストアを操作するには、Amazon VPC に次のプロパティが必要です。

  • 外部キーストアと同じ AWS アカウント、およびサポートされているリージョンに存在する必要があります。

  • それぞれ異なるアベイラビリティーゾーンに、2 つ以上のプライベートサブネットが必要です。

  • Amazon VPC のプライベート IP アドレス範囲が、外部キーマネージャーをホストするデータセンターのプライベート IP アドレス範囲と重複しないようにする必要があります。

  • すべてのコンポーネントが IPv4 を使用する必要があります。

Amazon VPC を外部キーストアプロキシに接続するには、多数の方法があります。必要なパフォーマンスとセキュリティのニーズを満たすオプションを選択します。リストについては、「VPC を他のネットワークに接続する」および「Network-to-Amazon VPC の接続オプション」を参照してください。詳細については、「AWS Direct Connect」、および「AWS Site-to-Site VPN ユーザーガイド」を参照してください。

外部キーストア用 Amazon VPC を作成する

次の手順に従って、外部キーストア用の Amazon VPC を作成します。Amazon VPC は、VPC エンドポイントサービス接続オプションを選択した場合にのみ必要です。外部キーストアの要件を満たす既存の Amazon VPC を使用できます。

次の必須値を使用して、「VPC、サブネット、他の VPC リソースを作成する」トピックの手順に従います。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。

フィールド
IPv4 CIDR ブロック VPC の IP アドレスを入力します。Amazon VPC のプライベート IP アドレス範囲が、外部キーマネージャーをホストするデータセンターのプライベート IP アドレス範囲と重複しないようにする必要があります。
アベイラビリティーゾーン数 (AZ) 2 以上
パブリックサブネット数

何も必要ありません (0)

プライベートサブネット数 AZ ごとに 1 つ
NAT ゲートウェイ 何も必要ありません。
VPC エンドポイント 何も必要ありません。
[Enable DNS hostnames] (DNS ホスト名を有効化) はい
DNS 解決を有効にする はい

必ず VPC 通信をテストしてください。例えば、外部キーストアプロキシが Amazon VPC にない場合は、Amazon VPC に Amazon EC2 インスタンスを作成し、Amazon VPC が外部キーストアプロキシと通信できることを検証します。

VPC を外部キーマネージャーに接続する

Amazon VPC がサポートするネットワーク接続オプションのいずれかを使用して、外部キーマネージャーをホストするデータセンターに VPC を接続します。VPC 内の Amazon EC2 インスタンス (または、VPC 内にある場合は外部キーストアプロキシ) がデータセンターおよび外部キーマネージャーと通信できることを確認します。

ターゲットグループを作成する

必要な VPC エンドポイントサービスを作成する前に、必要なコンポーネント、Network Load Balancer (NLB)、ターゲットグループを作成します。Network Load Balancer (NLB) は、リクエストを複数の正常なターゲットに分散し、いずれのターゲットもリクエストを処理できるようにします。このステップでは、外部キーストアプロキシ用に 2 つ以上のホストを含むターゲットグループを作成し、そのターゲットグループに IP アドレスを登録します。

次の必須値を使用して、「ターゲットグループの設定」トピックの手順に従います。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。

フィールド
対象タイプ IP アドレス
プロトコル TCP
ポート

443

IP アドレスタイプ IPv4
VPC 外部キーストアの VPC エンドポイントサービスを作成する VPC を選択します。
ヘルスチェックプロトコルとパス

ヘルスチェックプロトコルとパスは、外部キーストアプロキシの設定に応じて異なります。外部キーマネージャーまたは外部キーストアプロキシのドキュメントを参照してください。

ターゲットグループのヘルスチェック設定に関する一般情報は、Elastic Load Balancing ユーザーガイドの Network Load Balancer の項目にある「ターゲットグループのヘルスチェック」を参照してください。
ネットワーク その他のプライベート IP アドレス
IPv4 アドレス 外部キーストアプロキシのプライベートアドレス
ポート 443

Network Load Balancer を作成する

Network Load Balancer は、外部キーストアプロキシへの AWS KMS からのリクエストなどのネットワークトラフィックを、設定されたターゲットに分散します。

ロードバランサーとリスナーの設定」トピックの手順に従ってリスナーを設定および追加し、次の必須値を使用してロードバランサーを作成します。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。

フィールド
スキーム 内部
IP アドレスタイプ IPv4
ネットワークマッピング

外部キーストアの VPC エンドポイントサービスを作成する VPC を選択します。

マッピング VPC サブネットに設定した両方のアベイラビリティーゾーン (2 つ以上) を選択します。サブネット名とプライベート IP アドレスを検証します。
プロトコル TCP
ポート 443
デフォルトアクション: 転送 Network Load Balancer のターゲットグループを選択します。

VPC エンドポイントサービスを作成する

通常、サービスへのエンドポイントを作成します。ただし、VPC エンドポイントサービスを作成すると自分がプロバイダーになり、AWS KMS はサービスへのエンドポイントを作成します。外部キーストアの場合は、前のステップで作成した Network Load Balancer で VPC エンドポイントサービスを作成します。VPC エンドポイントサービスは、外部キーストアと同じ AWS アカウント、およびサポートされているリージョンに存在する必要があります。

複数の外部キーストアが Amazon VPC を共有できますが、各外部キーストアに独自の VPC エンドポイントサービスとプライベート DNS 名が必要です。

エンドポイントサービスの作成」トピックの手順に従って、次の必須値を含む VPC エンドポイントサービスを作成します。他のフィールドについては、デフォルト値を受け入れ、必要に応じて名前を指定します。

フィールド
ロードバランサーのタイプ ネットワーク
使用可能なロードバランサー 前のステップで作成した Network Load Balancer を選択します。

新しいロードバランサーがリストに表示されない場合は、その状態がアクティブであることを確認します。ロードバランサーの状態がプロビジョニングからアクティブに変わるまでに、数分かかる場合があります。

承認が必要です False。チェックボックスをオフにします。

承認を必要としません。AWS KMS は、手動による承認なしに VPC エンドポイントサービスに接続できません。承認が必要な場合、外部キーストアを作成しようとすると、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 の接続エラーコードが発生して失敗します。詳細については、「一般的な設定エラー」を参照してください。

サポートされている IP アドレスのタイプ IPv4

プライベート DNS 名ドメインの検証

VPC エンドポイントサービスを作成すると、そのドメイン検証ステータスは pendingVerification になります。VPC エンドポイントサービスを使用して外部キーストアを作成する前に、このステータスが verified になっている必要があります。プライベート DNS 名に関連付けられたドメインを所有していることを検証するには、パブリック DNS サーバーに TXT レコードを作成する必要があります。

例えば、VPC エンドポイントサービスのプライベート DNS 名が myproxy-private.xks.example.com の場合、xks.example.com または example.com などのパブリックドメインで TXT レコードを作成する必要があります。AWS PrivateLink は、最初に xks.example.com で TXT レコードを検索し、次に example.com で検索を続行します。

ヒント

TXT レコードを追加した後、[Domain verification status] (ドメイン検証ステータス) の値が pendingVerification から verify に変わるまでに数分かかる場合があります。

最初に、次のいずれかの方法でドメインの検証ステータスを確認します。有効な値は、verifiedpendingVerificationfailed です。

  • Amazon VPC コンソールで、[Endpoint services] (エンドポイントサービス) を選択し、エンドポイントサービスを選択します。詳細ペインで、[Domain verification status] (ドメイン検証ステータス) を参照してください。

  • DescribeVpcEndpointServiceConfigurations 操作を使用します。State 値は ServiceConfigurations.PrivateDnsNameConfiguration.State フィールドにあります。

検証ステータスが verified でない場合は、ドメイン所有権の検証トピックの手順に従ってドメインの DNS サーバーに TXT レコードを追加し、TXT レコードが公開されていることを検証します。次に、検証ステータスを再度チェックします。

プライベート DNS ドメイン名の A レコードを作成する必要はありません。AWS KMS が VPC エンドポイントサービスへのインターフェイスエンドポイントを作成すると、AWS PrivateLink は AWS KMS VPC のプライベートドメイン名に必要な A レコードを含むホストゾーンを自動的に作成します。これは、VPC エンドポイントサービス接続を備える外部キーストアの場合、外部キーストアを外部キーストアプロキシに接続したときに発生します。

AWS KMS が VPC エンドポイントサービスに接続することを承認する

VPC エンドポイントサービスの [Allow principals] (許可プリンシパル) リストに AWS KMS を追加する必要があります。これにより、AWS KMS は VPC エンドポイントサービスへのインターフェイスエンドポイントを作成できます。AWS KMS が許可されていないプリンシパルの場合、外部キーストアを作成しようとすると、XksProxyVpcEndpointServiceNotFoundException の例外が発生して失敗します。

「AWS PrivateLink ガイド」の「許可を管理する」トピックの手順に従ってください。次の必須値を使用します。

フィールド
ARN cks.kms.<region>.amazonaws.com

例えば、次のようになります: cks.kms.us-east-1.amazonaws.com

Next: 外部キーストアの作成