翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
複数の から中央AWSサービスエンドポイントにプライベートにアクセスする VPCs
作成者: Martin Guenthner (AWS) と Samuel Gordon (AWS)
コードリポジトリ: VPC Endpoint Sharing | 環境:本稼働 | テクノロジー: ネットワーキング、インフラストラクチャ |
AWS サービス: AWS RAM、Amazon Route 53、Amazon SNS、AWSTransit Gateway、Amazon VPC |
[概要]
環境のセキュリティおよびコンプライアンス要件では、Amazon Web Services (AWS) のサービスまたはエンドポイントへのトラフィックがパブリックインターネットを経由しないように指定される場合があります。このパターンは、中央ハブが複数の分散スポーク VPC に接続されているhub-and-spokeトポロジー用に設計されたソリューションですVPCs。このソリューションでは、 AWS PrivateLink を使用してハブアカウントでAWSサービスのインターフェイスVPCエンドポイントを作成します。次に、トランジットゲートウェイと分散型ドメインネームシステム (DNS) ルールを使用して、接続された 全体でエンドポイントのプライベート IP アドレスへのリクエストを解決しますVPCs。
このパターンでは、AWSTransit Gateway、インバウンド Amazon Route 53 Resolver エンドポイント、共有 Route 53 転送ルールを使用して、接続された のリソースからのDNSクエリを解決する方法について説明しますVPCs。エンドポイント、トランジットゲートウェイ、リゾルバー、転送ルールはハブアカウントで作成します。次に、AWSResource Access Manager (AWS RAM) を使用して、トランジットゲートウェイと転送ルールをスポーク と共有しますVPCs。提供されたAWS CloudFormation テンプレートは、ハブアンドスポーク にリソースをデプロイVPCして設定するのに役立ちますVPCs。
前提条件と制限
前提条件
Organizations の同じ組織で管理されているハブアカウントと 1 AWS つ以上のスポークアカウント。詳細については、「組織の作成と管理」 を参照してください。
AWS Resource Access Manager (AWS RAM) は、AWSOrganizations の信頼されたサービスとして設定されています。詳細については、「AWSOrganizations を他の AWSのサービスで使用する」を参照してください。
DNS 解決は、ハブアンドスポーク で有効にする必要がありますVPCs。詳細については、 (Amazon Virtual Private Cloud ドキュメント) DNSの属性VPCを参照してください。
制約事項
このパターンは、同じAWSリージョンのハブアカウントとスポークアカウントを接続します。マルチリージョンデプロイでは、リージョンごとにこのパターンを繰り返す必要があります。
AWS サービスは、インターフェイスVPCエンドポイント PrivateLink として と統合する必要があります。完全なリストについては、 (PrivateLink ドキュメント) AWS と統合されている のサービスAWS PrivateLinkを参照してください。
アベイラビリティーゾーンのアフィニティは保証されません。例えば、アベイラビリティーゾーン A からのクエリは、アベイラビリティーゾーン B からの IP アドレスで応答する場合があります。
VPC エンドポイントに関連付けられたElastic Network Interface には、1 秒あたり 10,000 クエリの制限があります。
アーキテクチャ
ターゲットテクノロジースタック
ハブAWSアカウントのVPCハブ
スポークAWSアカウントVPCs内の 1 つ以上のスポーク
ハブアカウントの 1 つ以上のインターフェイスVPCエンドポイント
ハブアカウントの着信と発信のルート 53 リゾルバー
ハブアカウントにデプロイされ、スポークアカウントと共有されるルート 53 Resolver 転送ルール
ハブアカウントにデプロイされ、スポークアカウントと共有されるトランジットゲートウェイ
AWS ハブとスポークを接続する Transit Gateway VPCs
ターゲット アーキテクチャ
次のイメージは、このソリューションのサンプルアーキテクチャを示しています。このアーキテクチャでは、ハブアカウントの ルート 53 Resolver 転送ルールは、他のアーキテクチャコンポーネントと次のような関係にあります。
転送ルールは、 AWS VPCを使用してスポークと共有されますRAM。
転送ルールは、ハブ のアウトバウンドリゾルバーに関連付けられていますVPC。
転送ルールは、ハブ のインバウンドリゾルバーを対象としていますVPC。
次のイメージは、サンプルアーキテクチャを経由するトラフィックフローを示しています。
スポーク内の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスなどのリソースVPCが にDNSリクエストします
<service>.<region>.amazonaws.com
。リクエストは、スポークされた Amazon DNS Resolver によって受信されます。Route 53 転送ルールは、ハブアカウントから共有されVPC、スポーク に関連付けられ、リクエストを傍受します。
ハブ ではVPC、アウトバウンドリゾルバーは転送ルールを使用して、リクエストをインバウンドリゾルバーに転送します。
インバウンドリゾルバーは、ハブ VPC Amazon DNS Resolver を使用して、 の 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) は、 AWSアカウント間でリソースを安全に共有し、運用上のオーバーヘッドを減らし、可視性と監査可能性を提供します。
Amazon Route 53 は、可用性が高くスケーラブルなドメインネームシステム (DNS) ウェブサービスです。
AWS Systems Manager は、AWSクラウドで実行されているアプリケーションとインフラストラクチャの管理に役立ちます。アプリケーションとリソースの管理を簡素化し、運用上の問題を検出して解決する時間を短縮し、AWSリソースを大規模に安全に管理できます。
AWS Transit Gateway は、 VPCsとオンプレミスネットワークを接続する中央ハブです。
Amazon Virtual Private Cloud (Amazon VPC) は、定義した仮想ネットワークにAWSリソースを起動するのに役立ちます。この仮想ネットワークは、独自のデータセンターで運用する従来のネットワークに似ており、 のスケーラブルなインフラストラクチャを使用する利点がありますAWS。
その他のツールとサービス
nslookup
は、DNSレコードのクエリに使用されるコマンドラインツールです。このパターンでは、このツールを使用してソリューションをテストします。
コードリポジトリ
このパターンのコードは GitHub、 vpc-endpoint-sharing
ハブアカウントに以下のリソースをデプロイするためのテンプレート。
rSecurityGroupEndpoints
– VPCエンドポイントへのアクセスを制御するセキュリティグループ。rSecurityGroupResolvers
— ルート 53 リゾルバーへのアクセスを制御するセキュリティグループ。rKMSEndpoint
、rSSMEndpoint
、、rEC2MessagesEndpoint
-rSSMMessagesEndpoint
ハブアカウントのインターフェイスVPCエンドポイントの例。ユースケースに合わせてこれらのエンドポイントをカスタマイズします。rInboundResolver
– ハブ Amazon Resolver に対するDNSクエリを解決する Route 53 DNS Resolver。rOutboundResolver
— クエリを着信リゾルバーに転送する発信ルート 53 リゾルバー。rAWSApiResolverRule
– すべてのスポーク と共有されている Route 53 Resolver 転送ルールVPCs。rRamShareAWSResolverRule
– スポークがrAWSApiResolverRule
転送ルールVPCsを使用できるようにするAWSRAM共有。*
rVPC
– 共有サービスのモデル化VPCに使用されるハブ 。*
rSubnet1
— ハブリソースを格納するプライベートサブネット。*
rRouteTable1
– ハブ のルートテーブルVPC。*
rRouteTableAssociation1
– ハブ のrRouteTable1
ルートテーブルの場合VPC、プライベートサブネットの関連付け。*
rRouteSpoke
– ハブからスポーク VPCへのルートVPC。*
rTgw
– すべてのスポーク と共有されるトランジットゲートウェイVPCs。*
rTgwAttach
– ハブがトラフィックVPCをrTgw
トランジットゲートウェイにルーティングできるようにするアタッチメント。*
rTgwShare
– スポークアカウントがrTgw
トランジットゲートウェイを使用できるようにするAWSRAM共有。
スポークアカウントに以下のリソースをデプロイするためのテンプレート。
rAWSApiResolverRuleAssociation
– スポークがハブアカウントで共有転送ルールVPCを使用できるようにする関連付け。*
rVPC
– スポーク VPC。*
rSubnet1, rSubnet2, rSubnet3
— スポークプライベートリソースを格納するために使用される各アベイラビリティーゾーンのサブネット。*
rTgwAttach
– スポークがトラフィックをrTgw
トランジットゲートウェイVPCにルーティングできるようにするアタッチメント。*
rRouteTable1
– スポーク のルートテーブルVPC。*
rRouteEndpoints
– スポーク内のリソースからトランジットゲートウェイVPCへのルート。*
rRouteTableAssociation1/2/3
– スポーク のrRouteTable1
ルートテーブルの場合VPC、プライベートサブネットの関連付け。*
rInstanceRole
– ソリューションをテストするために使用されるIAMロール。*
rInstancePolicy
– ソリューションをテストするために使用されるIAMポリシー。*
rInstanceSg
— ソリューションのテストに使用されたセキュリティグループ。*
rInstanceProfile
– ソリューションをテストするために使用されるIAMインスタンスプロファイル。*
rInstance
– AWS Systems Manager を介したアクセス用に事前設定されたEC2インスタンス。このインスタンスを使用してソリューションをテストします。
* これらのリソースはサンプルアーキテクチャをサポートしているため、既存のランディングゾーンにこのパターンを実装する場合は必要ない場合があります。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
コードリポジトリを複製します。 |
| ネットワーク管理者、クラウドアーキテクト |
テンプレートを変更します。 |
| ネットワーク管理者、クラウドアーキテクト |
タスク | 説明 | 必要なスキル |
---|---|---|
ハブリソースをデプロイする。 | hub.yml テンプレートを使用して、 CloudFormation スタックを作成します。提示された場合、テンプレートのパラメータに値を提供します。詳細については、「スタックの作成 (CloudFormation ドキュメント)」を参照してください。 | クラウドアーキテクト、ネットワーク管理者 |
スポーク・リソースをデプロイします。 | spoke.yml テンプレートを使用して、 CloudFormation スタックを作成します。提示された場合、テンプレートのパラメータに値を提供します。詳細については、「スタックの作成 (CloudFormation ドキュメント)」を参照してください。 | クラウドアーキテクト、ネットワーク管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS サービスへのプライベートDNSクエリをテストします。 |
| ネットワーク管理者 |
AWS サービスへのパブリックDNSクエリをテストします。 |
| ネットワーク管理者 |
関連リソース
スケーラブルで安全なマルチVPCAWSネットワークインフラストラクチャの構築
(AWSホワイトペーパー) 共有リソースの使用 ( RAMドキュメント)AWS
Transit Gateway の使用 (AWSTransit Gateway ドキュメント)