REL 2: ネットワークトポロジをどのように計画しますか?
多くの場合、ワークロードは複数の環境に存在します。このような環境には、複数のクラウド環境 (パブリックにアクセス可能なクラウド環境とプライベートの両方) と既存のデータセンターインフラストラクチャなどがあります。計画する際は、システム内およびシステム間の接続、パブリック IP アドレスの管理、プライベート IP アドレスの管理、ドメイン名解決といったネットワークに関する諸点も考慮する必要があります。
リソース
AWS re:Invent 2018: Advanced VPC Design and New Capabilities for Amazon VPC (NET303)
AWS re:Invent 2019: AWS Transit Gateway reference architectures for many VPCs (NET406-R1)
What is Amazon Route 53?
What is Elastic Load Balancing?
What is Amazon CloudFront?
What Is a Transit Gateway?
What Is Amazon VPC?
Working with Direct Connect Gateways
Using the Direct Connect Resiliency Toolkit to get started
Multiple data center HA network connectivity
What Is AWS Global Accelerator?
VPC Endpoints and VPC Endpoint Services (AWS PrivateLink)
Amazon Virtual Private Cloud Connectivity Options Whitepaper
AWS Marketplace for Network Infrastructure
APN Partner: partners that can help plan your networking
ベストプラクティス:
-
ワークロードのパブリックエンドポイントに可用性が高いネットワーク接続を使用する: これらのエンドポイントとそれらへのルーティングは、可用性が高い必要があります。これを実現するには、可用性の高い DNS、コンテンツ配信ネットワーク (CDN)、API ゲートウェイ、負荷分散やリバースプロキシを使用します。
-
クラウド環境とオンプレミス環境のプライベートネットワーク間の冗長接続をプロビジョニングする: 個別にデプロイされたプライベートネットワーク間で複数の AWS Direct Connect (DX) 接続または VPN トンネルを使用します。高可用性のために複数の DX ロケーションを使用します。複数の AWS リージョンを使用している場合は、少なくとも 2 つのリージョンで冗長性を確保してください。VPN を終了する AWS Marketplace アプライアンスを評価したい場合があります。AWS Marketplace アプライアンスを利用する場合は、さまざまなアベイラビリティーゾーンでの高可用性のために冗長インスタンスをデプロイします。
-
拡張や可用性のために割り当てる IP サブネットを確保する: Amazon VPC の IP アドレス範囲は、将来の拡張やアベイラビリティーゾーン間でのサブネットへの IP アドレスの割り当てを考慮し、ワークロードの要件を満たすために十分な大きさが必要です。これには、ロードバランサー、EC2 インスタンス、コンテナーベースのアプリケーションが含まれます。
-
多対多メッシュよりもハブアンドスポークトポロジを優先する: 2 つを超えるネットワークアドレス空間 (VPC およびオンプレミスネットワークなど) が VPC ピア接続、AWS Direct Connect、または VPN 経由で接続されている場合は、AWS Transit Gateway が提供するようなハブアンドスポークモデルを使用します。
-
接続されているすべてのプライベートアドレス空間において、重複しないプライベート IP アドレス範囲を指定します。: 各 VPC の IP アドレス範囲が、ピア接続時または VPN 経由での接続時に重複しないようにする必要があります。同様に、VPC とオンプレミス環境の間、または使用する他のクラウドプロバイダーとの IP アドレスの競合を回避する必要があります。また、必要に応じてプライベート IP アドレス範囲を割り当てる方法を用意する必要もあります。
改善計画
ワークロードのパブリックエンドポイントに可用性が高いネットワーク接続を使用する
- ユーザーへの接続に高い可用性があるようにする
- ユーザーがインターネット経由でアプリケーションにアクセスする場合は、サービス API オペレーションを使用して、インターネットゲートウェイの正しい使用状況を確認します。また、アプリケーションエンドポイントをホストするサブネットのルートテーブルのエントリが正しいことを確認します。
DescribeInternetGateways
DescribeRouteTables - ユーザーがオンプレミス環境を通じてアプリケーションにアクセスする場合は、AWS とオンプレミス環境の接続に高い可用性があるようにします。
- ユーザーがインターネット経由でアプリケーションにアクセスする場合は、サービス API オペレーションを使用して、インターネットゲートウェイの正しい使用状況を確認します。また、アプリケーションエンドポイントをホストするサブネットのルートテーブルのエントリが正しいことを確認します。
- 可用性の高い DNS を使用してアプリケーションエンドポイントのドメイン名を管理しているようにする
- Route 53 を使用してドメイン名を管理する
What is Amazon Route 53? - 要件を満たすサードパーティーの DNS プロバイダーを使用する
- Route 53 を使用してドメイン名を管理する
- アプリケーションの前に可用性の高いリバースプロキシまたはロードバランサーを使用しているようにする
- Elastic Load Balancing を使用する
What is Elastic Load Balancing? - 要件を満たす AWS Marketplace アプライアンスを使用する
- Elastic Load Balancing を使用する
クラウド環境とオンプレミス環境のプライベートネットワーク間の冗長接続をプロビジョニングする
- オンプレミス環境との冗長接続があるようにする: 可用性のニーズを満たすには複数の AWS リージョンとの冗長接続が必要な場合があります。
AWS Direct Connect Resiliency Recommendations
Using Redundant Site-to-Site VPN Connections to Provide Failover- サービス API オペレーションを使用して Direct Connect 回線の適切な使用方法を明確にする
DescribeConnections
DescribeConnectionsOnInterconnect
DescribeDirectConnectGatewayAssociations
DescribeDirectConnectGatewayAttachments
DescribeDirectConnectGateways
DescribeHostedConnections
DescribeInterconnects - Direct Connect 接続が 1 つだけあるか、1 つもない場合は、仮想プライベートゲートウェイに冗長 VPN トンネルを設定する
What is AWS Site-to-Site VPN?
- サービス API オペレーションを使用して Direct Connect 回線の適切な使用方法を明確にする
- 現在の接続をキャプチャする (例えば、Direct Connect、仮想プライベートゲートウェイ、AWS Marketplace アプライアンス)
- サービス API オペレーションを使用して Direct Connect 接続の設定をクエリする
DescribeConnections
DescribeConnectionsOnInterconnect
DescribeDirectConnectGatewayAssociations
DescribeDirectConnectGatewayAttachments
DescribeDirectConnectGateways
DescribeHostedConnections
DescribeInterconnects - サービス API オペレーションを使用して、ルートテーブルが使用している仮想プライベートゲートウェイを収集する
DescribeVpnGateways
DescribeRouteTables - サービス API オペレーションを使用してルートテーブルが使用している AWS Marketplace アプリケーションを収集する
DescribeRouteTables
- サービス API オペレーションを使用して Direct Connect 接続の設定をクエリする
拡張や可用性のために割り当てる IP サブネットを確保する
- サービスの要件、レイテンシー、および災害対策 (DR) 要件に基づいて、関連する AWS アカウントとリージョンを選択する
- リージョン別 VPC デプロイのニーズを明確にする
- マルチ VPC 接続をデプロイするかどうかを判断する
What Is a Transit Gateway?
Single Region Multi-VPC Connectivity - 規制要件のためネットワーキングの分離が必要かどうかを判断する
- マルチ VPC 接続をデプロイするかどうかを判断する
- VPC のサイズを明確にする
- VPC を可能な限り大きくします。VPC に割り当てられた最初の VPC CIDR ブロックは変更または削除することはできませんが、重複していない CIDR ブロックを VPC に追加することはできます。ただし、これはアドレス範囲を断片化する可能性があります
- Elastic Load Balancer、Auto Scaling グループ、AWS Lambda の同時呼び出し数、サービスエンドポイントの使用を考慮する
多対多メッシュよりもハブアンドスポークトポロジを優先する
- そのような 2 つのネットワークのみについては、それらを互いに接続するだけで済みますが、ネットワークの数が増えるにつれて、そのようなメッシュ接続の複雑さは受容できないものになります。AWS
Transit Gateway は、維持しやすいハブアンドスポークモデルを提供し、複数のネットワーク間でトラフィックをルーティングできるようにします。
What Is a Transit Gateway?
接続されているすべてのプライベートアドレス空間において、重複しないプライベート IP アドレス範囲を指定します。
- 現在の CIDR の使用数をキャプチャする (例えば、VPC、サブネットなど)
- サービス API オペレーションを使用して現在の CIDR の使用数を収集する
- 現在のサブネットの使用数をキャプチャする
- サービス API オペレーションを使用して各リージョンでの VPC あたりのサブネット数を収集する
DescribeSubnets - 現在の使用状況を記録する
- 重複している IP 範囲を作成したかどうか確認する
- 予備容量を計算する
- 重複している IP 範囲を記録する: 重複する範囲に接続する必要がある場合は、新しいアドレス範囲に移行するか、AWS Marketplace から Network and Port Translation (NAT) アプライアンスを使用できます。
- サービス API オペレーションを使用して各リージョンでの VPC あたりのサブネット数を収集する