こんにちは。AWS CLIが好きな福島です。
はじめに
前回、マルチアカウント環境におけるネットワークアーキテクチャのCICR設計について、ブログを書きましたが、 今回は、オンプレミスとマルチアカウント環境で増加するVPC間の設計について、ブログを記載いたします。
結論
マルチアカウント構成ではアカウントの数に比例してVPCの数が増える(オンプレミスと接続するVPCも増える)傾向にあるため、 拡張性を考慮し、始めからTransit Gatewayの利用を検討することをおすすめいたします。
構成
前提
オンプレミスとVPC間の通信を実装する場合は、Direct Connect(+Direct Connect Gateway)やSite to Site VPNのサービスを利用する必要がございます。
課題(制限)
上記構成には以下の通り、制限があるのですが、マルチアカウント環境では、アカウントの数に比例してVPCの数が増える傾向にあるため、この制限を超える可能性が高くなります。
- Direct Connect(+Direct Connect Gateway)構成の制限
1つDirect Connect Gatewayに関連付けられるVirtual Gateway(以降、VGW)の数が最大10個となります。つまり、VPCを10個までしか、オンプレミスと接続できないということになります。 - Site to Site VPN構成の制限
Site to Site VPNに関連付けられるVGWの数は1個となります。つまり、VPC1個しか、オンプレミスと接続できないということになります。
課題(制限)を考慮した設計
課題(制限)を考慮し、上記サービスにTransit Gatewayというサービスを組み合わせることが多く、このサービスを利用することでより多くのVPCをオンプレミスと接続可能です。
Transit Gatewayに接続したいリソース(VPC/Direct Connect Gateway/Site to Site VPNなど)は、アタッチメントを作る必要がありますが、このアタッチメントは、最大5000まで作成することが可能です。つまり、最大5000近くのVPCを接続することができます。
また上記には、しれっとネットワークアカウントというアカウントを記載しておりますが、 マルチアカウント構成を組む上では、Direct ConnectやTransit Gatewayといった共通基盤となるリソースは、 1つのアカウントに集約して管理することをおすすめいたします。(Transit GatewayはRAMで個々のアカウントに共有して利用します。)
ということで結論としては、マルチアカウント構成ではアカウントの数に比例してVPCの数が増える(オンプレミスと接続するVPCも増える)傾向にあるため、 拡張性を考慮し、始めからTransit Gatewayの利用を検討するのが良いかと存じます。
ルーティング設計例
構成だけのブログでは少し物足りないかなと思ったため、Direct Connect+Direct Connect Gateway+Transit Gatewayを使った構成のルーティング設計例についても記載いたします。 上記構成の場合、考慮するべき設定は以下の通りです。
- Direct Connect Gatewayの許可されたプレフィックス
- Transit Gateway Route Table
- Subnet Route Table
例として、オンプレミスで使うCIDRがクラスA(10.0.0.0/8)、AWSで使うCIDRがクラスB(172.16.0.0/12)を使う場合のルーティング設計例を記載いたします。
- Direct Connect Gatewayの許可されたプレフィックス
ここには、AWS側で利用するCIDRを設定いたします。 これにより、オンプレミスのルーターがAWS側にルーティングすべきCIDRの情報を受け取ることができ、適切にオンプレミスからAWSへのルーティングを行うことができます。
- Transit Gateway Route Table
DXGWアタッチメント用のルートテーブルとVPCアタッチメント用のルートテーブルがあるため、それぞれ記載いたします。
まず、DXGWアタッチメント用のルートテーブルには、VPCへのルートを記載いたします。 ルーティングは、静的か動的で設定が可能ですが、基本的には動的の設定が良いかと存じます。
動的設定の具体的なメリットとしては、以下が考えられます。
- 静的な場合、設定する際にCIDRとアタッチメントを意識しなければならないが、動的な場合、アタッチメントのみ意識するだけで良い
- VPCにセカンダリCIDRを追加した場合に、ルートが自動で追加される
続いて、VPCアタッチメント用のルートテーブルについてになります。 このルートテーブルには、オンプレミスへのルートを設定します。 こちらも、静的か動的で設定が可能ですが、基本的には動的の設定が良いかと存じます。 ただし、動的の設定にする場合は、オンプレミス側のルーターからCIDRを広報する設定を実装しておく必要があります。
- Subnet Route Table
サブネットのルートテーブルには、オンプレミス宛のCIDRはTransit Gatewayへルートするように設定を行う必要があります。 これは動的での設定ができないため、静的(手動)でルートの設定を行う必要があります。
終わりに
今回は、オンプレミスとマルチアカウント環境で増加するVPC間のネットワークアーキテクチャのブログを記載いたしました。 どなたかのお役に立てれば幸いです。