BeeX Tech blog

BeeXではクラウドネイティブアプリ開発、企業の基幹クラウド基盤構築、システム移行、運用保守を行っています。

マルチアカウント×マルチリージョンのTGWピアリング検証 ~NFWネイティブ統合を添えて~

BeeXの榊原です。今回は久々に手を動かして検証したので、備忘を残します。Transit Gateway(トランジットゲートウェイ。以下TGW)自体はリリースされて時間も経っていて検証記事やナレッジも豊富ですし、生成AIも賢くなってきたので、今更書いても役に立つのかな~と思いましたが、せっかくなので記事化してみました。リソース構築手順は長くなるので省略します。

今回の構成

アカウントとリージョンを跨ぐ毎にTGWを配置しており、全て同一AZです。慣れている方であれば、「Resource Access Manager (RAM)でTGWを共有したり、Cloud WANを導入すればいいんじゃないの?」と思われるでしょう。今回要件として各アカウントを管理している会社が異なること、近い将来壊してしまう一時的な構成であることがあげられていました。そのため、複数のTGWを用いた構成になっています。また、今回検証から省いていますが、実際はアカウントBの東京リージョンにもVPCやNetwork Firewall、オンプレミスへの通信経路が存在します。あとは疎通確認用に2つのVPC内にEC2インスタンスを配置しています

TGW検証-構成図

その他ポイントをまとめます。

  • Network Firewall(以下NFW)はTGWとネイティブ統合しています。前は専用のVPCが必要だったので、CIDRの用意と管理の手間が省けるのは嬉しいですね。また、従来はGateway Load Balancer型のVPCエンドポイントが自分のAWSアカウント内に作成されていましたが、ネイティブ統合だとAWSが管理している環境でよしなに管理してくれるみたいですね。素晴らしい!

Network Firewall 統合を使用すると、Network Firewall デプロイの検査 VPC を作成および管理する必要がなくなります。ファイアウォールの作成時に VPC とサブネットを選択する代わりに、Transit Gateway を直接選択すると、 AWS は背後で必要なすべてのリソースを自動的にプロビジョニングおよび管理します。個々のファイアウォールエンドポイントではなく、新しい Transit Gateway ネットワーク関数アタッチメントが表示されます。(引用元:AWS Transit Gateway の仕組み

  • アカウントBの東京リージョンと大阪リージョンをピアリングするTGW Attachmentは構成図では今後の説明のため分けて書いていますが、TGW Attachment IDは一意なので1つしか存在していません。(ただし、TGW Attachment料金は各リージョンで発生します!つまり料金的には2つのTGW Attachmentを利用している扱いです!!)下記画像をご参照ください

アカウント内のPeering Attachment

  • ちなみにアカウント間ピアリングの場合はTGW Attachment IDは異なります。つまり2つのTGWアタッチメントが使われます

アカウント間のPeering Attachment

少し複雑な通信経路

この構成で厄介なのがピアリングしているTGW Attachmentのルートテーブルです。ピアリングしている先のルートを見るため、往路と復路で参照するルートテーブルが異なってくるため、初見では少し戸惑うと思います。文章で書くと長くなるので、下記画像をご覧ください。

TGW通信 -往路-

TGW通信 -復路-

こちらの内容でVPC間のpingで疎通が取れ、NFWもICMP通信を制限した際ちゃんと通信がブロックされることを確認できました。

料金

おまけですが、Data TransferやNFW上のトラフィック処理料金を除くと1月当たりのリソース料金は以下の通りです。TGW Attachmentの計算にご注意ください。

■アカウントA(合計441.65 USD/月)
・TGW attachment:730 時間 (1 か月) x 0.07 USD x 3 アタッチメント= 153.30 USD/月
    ・VPC Attachment用
    ・アカウントBとのPeering用
    ・Network Firewall用
・Network Firewall:1 エンドポイント x 730 時間 x 0.395 USD = 288.35 USD/月

■アカウントB(合計832.20 USD/月)
【東京リージョン】
・TGW attachment:730 時間 (1 か月) x 0.07 USD x 2 アタッチメント=102.20 USD/月
    ・アカウントAとのPeering用
    ・大阪リージョンとのPeering用

・Network Firewall:1 エンドポイント x 730 時間 x 0.395 USD = 288.35 USD/月

【大阪リージョン】
・Transit Gateway attachment:730 時間 (1 か月) x 0.07 USD x 3 アタッチメント= 153.30 USD/月
    ・VPC Attachment用
    ・東京リージョンとのPeering用
    ・Network Firewall用

・Network Firewall:1 エンドポイント x 730 時間 x 0.395 USD = 288.35 USD/月

参考までに実際の料金画面も掲載します。

リソース料金画面参考(左:アカウントA, 右:アカウントB)

おわりに

今回はTGWを複数つないでアカウントとリージョンを跨ぐ構成についてお話ししました。あまりメジャーな構成ではないかもしれませんが、どなたかのお役に立てば幸いです。ここまでお読みいただきありがとうございました。