翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
複数の VPC から中央のAWS のサービスエンドポイントにプライベートにアクセスする
マーティン・グエントナー(AWS)とサミュエル・ゴードン(AWS)によって作成されました
概要
ユーザー環境のセキュリティとコンプライアンスの要件により、Amazon Web Services (AWS) のサービスまたはエンドポイントへのトラフィックがパブリックインターネットを経由してはならないことが指定されている場合があります。このパターンは、中央のハブ VPC が複数の分散スポーク VPCs に接続されるハブアンドスポークトポロジー向けにデザインされたソリューションです。このソリューションでは、AWS PrivateLink を使用して、ハブアカウントの AWS のサービスのインターフェイス VPC エンドポイントを作成します。次に、トランジットゲートウェイと分散型ドメインネームシステム (DNS) ルールを使用して、接続されている VPC 全体でエンドポイントのプライベート IP アドレスへのリクエストを解決します。
このパターンでは、AWS Transit Gateway、着信の Amazon Route 53 Resolver エンドポイント、および共有 Route 53 転送ルールを使用して、接続されている VPC 内のリソースからの DNS クエリを解決する方法を説明します。エンドポイント、トランジットゲートウェイ、リゾルバー、転送ルールはハブアカウントで作成します。次に、AWS Resource Access Manager (AWS RAM) を使用して、トランジットゲートウェイと転送ルールをスポーク VPC と共有します。提供されている AWS CloudFormation テンプレートは、ハブ VPC とスポーク VPC にリソースをデプロイして設定するのに役立ちます。
前提条件と制限
前提条件
AWS Organizations の同じ組織で管理されている 1 つのハブアカウントと 1 つ以上のスポークアカウント。詳細については、「組織の作成と管理」 を参照してください。
AWS Resource Access Manager (AWS RAM) は、AWS Organizations の信頼されたサービスとして設定されています。詳細については、「Using AWS Organizations with other AWS services」 (他の AWS のサービスでの AWS Organizations の使用) を参照してください。
ハブアンドスポーク VPC で DNS 解決を有効にする必要があります。詳細については、「PVCの DNS 属性」 (Amazon 仮想プライベートクラウドドキュメント)を参照してください。
制約事項
このパターンは、同じ AWS リージョンのハブアカウントとスポークアカウントを接続します。マルチリージョンデプロイでは、リージョンごとにこのパターンを繰り返す必要があります。
AWS のサービスは、インターフェイス VPC エンドポイントとして PrivateLink と統合する必要があります。詳細なリストについては、「AWS PrivateLink と統合する AWS のサービス」 (PrivateLink ドキュメント) を参照してください。
アベイラビリティーゾーンのアフィニティは保証されません。例えば、アベイラビリティーゾーン A からのクエリは、アベイラビリティーゾーン B からの IP アドレスで応答する場合があります。
VPC エンドポイントに関連付けられた Elastic Network Interface には、1 秒あたり 10,000 クエリの制限があります。
アーキテクチャ
ターゲットテクノロジースタック
ハブ AWS アカウントのハブ VPC
スポーク AWS アカウント内の 1 つ以上のスポーク VPC
ハブアカウントの 1 つ以上のインターフェイス VPC エンドポイント
ハブアカウントの着信と発信のルート 53 リゾルバー
ハブアカウントにデプロイされ、スポークアカウントと共有されるルート 53 Resolver 転送ルール
ハブアカウントにデプロイされ、スポークアカウントと共有されるトランジットゲートウェイ
ハブとスポーク VPC を接続する AWS Transit Gateway
ターゲットアーキテクチャ
次のイメージは、このソリューションのサンプルアーキテクチャを示しています。このアーキテクチャでは、ハブアカウントの ルート 53 Resolver 転送ルールは、他のアーキテクチャコンポーネントと次のような関係にあります。
転送ルールは AWS RAM を使用してスポーク VPC と共有されます。
転送ルールは、ハブ VPC の発信リゾルバーに関連付けられています。
転送ルールは、ハブ VPC の着信リゾルバーを対象としています。

次のイメージは、サンプルアーキテクチャを経由するトラフィックフローを示しています。
スポーク VPC の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスなどのリソースは、
<service>.<region>.amazonaws.com
に DNS リクエストを行います。リクエストはスポーク Amazon DNS リゾルバーによって受信されます。ハブアカウントから共有され、スポーク VPC に関連付けられているルート 53 転送ルールがリクエストをインターセプトします。
ハブ VPC では、発信リゾルバーは転送ルールを使用してリクエストを着信リゾルバーに転送します。
着信リゾルバーは、ハブ VPC Amazon DNS リゾルバーを使用して IP アドレスを VPC エンドポイントのプライベート IP
<service>.<region>.amazonaws.com
アドレスに解決します。VPC エンドポイントが存在しない場合は、パブリック IP アドレスに解決されます。

ツール
AWS のサービスとツール
AWS CloudFormation を使用すると、AWS リソースをセットアップし、迅速かつ一貫したプロビジョニングを行い、AWS アカウントとリージョン全体でライフサイクル全体にわたってリソースを管理できます。
「Amazon Elastic Compute Cloud (Amazon EC2)」は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
「AWS Identity and Access Management (IAM)」は、AWS リソースへのアクセスを安全に管理し、誰が認証され、使用する権限があるかを制御するのに役立ちます。
AWS Resource Access Manager (AWS RAM) は、 アカウント全体にわたり、リソースを安全に共有して運用上のオーバーヘッドを削減して、可視性と監査性を高めます。
Amazon Route 53 は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。
「AWS Systems Manager」は、AWS クラウドで実行されるアプリケーションとインフラストラクチャの管理に役立ちます。アプリケーションとリソースの管理が簡略化され、オペレーション上の問題の検出と解決時間が短縮され、AWS リソースを大規模かつセキュアに管理できるようになります。
AWS Transit Gateway は VPC とオンプレミスネットワークを接続する一元的ハブです。
Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。この仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークに似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。
その他のツールとサービス
「nslookup
」 は DNS レコードのクエリに使用されるコマンドラインツールです。このパターンでは、このツールを使用してソリューションをテストします。
コードリポジトリ
このパターンのコードは、GitHub 内の「vpc-endpoint-sharing
ハブアカウントに以下のリソースをデプロイするためのテンプレート。
rSecurityGroupEndpoints
— VPC エンドポイントへのアクセスを制御するセキュリティグループ。rSecurityGroupResolvers
— ルート 53 リゾルバーへのアクセスを制御するセキュリティグループ。rKMSEndpoint
、rSSMMessagesEndpoint
、rSSMEndpoint
、rEC2MessagesEndpoint
— ハブアカウントのインターフェイス VPC エンドポイントの例 ユースケースに合わせてこれらのエンドポイントをカスタマイズします。rInboundResolver
— ハブの Amazon DNS リゾルバーに対して DNS クエリを解決する ルート 53 リゾルバー。rOutboundResolver
— クエリを着信リゾルバーに転送する発信ルート 53 リゾルバー。rAWSApiResolverRule
— すべてのスポーク VPC と共有される ルート 53 リゾルバーの転送ルール。rRamShareAWSResolverRule
— スポーク VPCrAWSApiResolverRule
が転送ルールを使用できるようにする AWS RAM 共有。*
rVPC
— 共有サービスのモデル化に使用されるハブ VPC。*
rSubnet1
— ハブリソースを格納するプライベートサブネット。*
rRouteTable1
— ハブ VPC のルートテーブル。*
rRouteTableAssociation1
— ハブ VPCrRouteTable1
のルートテーブルの場合、プライベートサブネットのアソシエーション。*
rRouteSpoke
— ハブ VPC からスポーク VPC へのルート。*
rTgw
— すべてのスポーク VPC と共有されるトランジットゲートウェイ。*
rTgwAttach
— ハブ VPCrTgw
がトラフィックをトランジットゲートウェイにルーティングできるようにするアタッチメント。*
rTgwShare
—rTgw
スポークアカウントがトランジットゲートウェイを使用できるようにする AWS RAM 共有。
スポークアカウントに以下のリソースをデプロイするためのテンプレート。
rAWSApiResolverRuleAssociation
— スポーク VPC がハブアカウントの共有転送ルールを使用できるようにするアソシエーション。*
rVPC
— スポーク VPC。*
rSubnet1, rSubnet2, rSubnet3
— スポークプライベートリソースを格納するために使用される各アベイラビリティーゾーンのサブネット。*
rTgwAttach
— スポーク VPC がトラフィックをrTgw
トランジットゲートウェイにルーティングできるようにするアタッチメント。*
rRouteTable1
— スポーク VPC のルートテーブル。*
rRouteEndpoints
— スポーク VPC 内のリソースからトランジットゲートウェイへのルート。*
rRouteTableAssociation1/2/3
— スポーク VPC のrRouteTable1
に対して、プライベートサブネットのアソシエーション。*
rInstanceRole
— ソリューションのテストに使用される IAM ロール。*
rInstancePolicy
— ソリューションをテストするために使用される IAM ポリシー。*
rInstanceSg
— ソリューションのテストに使用されたセキュリティグループ。*
rInstanceProfile
— ソリューションのテストに使用された IAM インスタンスプロファイル。*
rInstance
— AWS Systems Manager を介してアクセスできるように事前設定された EC2 インスタンス。このインスタンスを使用してソリューションをテストします。
* これらのリソースはサンプルアーキテクチャをサポートしているため、既存のランディングゾーンにこのパターンを実装する場合は必要ない場合があります。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
コードリポジトリを複製します。 |
| ネットワーク管理者、クラウドアーキテクト |
テンプレートを変更します。 |
| ネットワーク管理者、クラウドアーキテクト |
タスク | 説明 | 必要なスキル |
---|---|---|
ハブリソースをデプロイする。 | hub.yml テンプレートを使用して、CloudFormation スタックを作成します。提示された場合、テンプレートのパラメータに値を提供します。詳細については、「スタックの作成」 (CloudFormation ドキュメント) を参照してください。 | クラウドアーキテクト、ネットワーク管理者 |
スポーク・リソースをデプロイします。 | spoke.yml テンプレートを使用して、CloudFormation スタックを作成します。提示された場合、テンプレートのパラメータに値を提供します。詳細については、「スタックの作成」 (CloudFormation ドキュメント) を参照してください。 | クラウドアーキテクト、ネットワーク管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS のサービスへのプライベート DNS クエリをテストします。 |
| ネットワーク管理者 |
AWS のサービスへのパブリック DNS クエリをテストします。 |
| ネットワーク管理者 |
関連リソース
スケーラブルでセキュアなマルチ VPC の AWS ネットワークインフラストラクチャを構築する
(AWS ホワイトペーパー) 「共有リソースの使用」 (AWS RAM ドキュメント)
「トランジットゲートウェイの操作」 (AWS Transit Gateway ドキュメント)