1.目的
TransitGateway(以降TGW)を用い、設定を確認したのち、PINGコマンドを用いリージョン間疎通確認を行う。
完成図
2.TGWのユースケース
- 複数VPC間でピアリング接続を行う場合、管理が煩雑になる。そうした中で、TGWを用いることにより、接続管理が容易になる。
VPCピアリング時
TGW使用時
- TGW同士はピアリング接続が可能である。これを利用することにより、複数リージョン間、かつ複数VPC間での管理を簡素化できる。
3.使用サービス
- VPC
- TGW
- EC2(AmazonLinux)
- InternetGateway(以降IGW)
4.手順
前提
VPC基本設定やTGWの基本設定は下記を参考にした。
コンソールへの接続はSystems Managerセッションマネージャー(以降SSMセッションマネージャー)を用いて行った。
1. VPCを設定する
パラメーターは下記で設定する。
| 大阪リージョン(ap-northeast-3) | ソウルリージョン(ap-northeast-2) | |
|---|---|---|
| VPC | 10.0.11.0/24 | 10.0.10.0/24 |
| Subnet | 10.0.11.0/24(パブリック) | 10.0.10.0/24(プライベート) |
| EC2 | t2.micro(AmazonLinux) | t2.micro(AmazonLinux) |
| EC2 IP | 10.0.11.59 | 10.0.10.156 |
※パブリックサブネットに属するインスタンスのみ、AmazonSSMManagedInstanceCoreロールを付与する。また、インターネット通信のためにパブリックIPも付与する。
2.ネットワークの設定
ネットワークACLはデフォルトから変更しない。
セキュリティグループは下記で設定する。
| 大阪リージョン(ap-northeast-3) | ソウルリージョン(ap-northeast-2) | |
|---|---|---|
| インバウンド-1 | 10.0.10.0/24(全ICMPトラフィック) | 10.0.11.0/24(全ICMPトラフィック) |
| アウトバウンド-1 | 10.0.10.0/24(全ICMPトラフィック) | 10.0.11.0/24(全ICMPトラフィック) |
| アウトバウンド-2 | 0.0.0.0/0(TCP HTTPS) |
ルートテーブルの送信先は下記で設定する。
| 大阪リージョン(ap-northeast-3) | ソウルリージョン(ap-northeast-2) | |
|---|---|---|
| 1 | 10.0.11.0/24(local) | 10.0.10.0/24(local) |
| 2 | 0.0.0.0/0(IGW) |
3.SSMセッションマネージャーによる接続確立

現状での外部接続、ソウルリージョンインスタンスへ接続できないことを確認。
4.TGWのセットアップ(大阪リージョン)
1.TGWの作成

CIDRはVPCと被らない値で設定した。その他はデフォルト。
2.TGWアタッチメントの設定(VPC)

デフォルト設定で適用した。
3.TGWルートテーブル設定

VPCのCIDRを入力し、VPCアタッチメントを選択。
4.TGWの関連付け

ルート設定を先に行うことで、自動的に行われる。
ソウルリージョンでも同様の操作を行い、TGWを設定する。
5.TGWのセットアップ(ピアリング接続(大阪リージョン))
1.ピアリングアタッチメント設定

ピア接続アタッチメント設定では接続相手のTGWIDを求められる。
2.(”共有アタッチメントを自動承認オプション”が無効化されている場合)アタッチメントの承認

この後確認画面が出るので、承認。

5.結果

外部接続が拒否されつつ、プライベートサブネットのインスタンスに向け通信できた。
6.考察
- TGW経由の通信を確立できた。アタッチメントの反映に時間がかかるので、terraformによるデプロイが有効と考える。
- 少数のVPC間通信ではVPCを用いるのがベストプラクティスというのも実感した。実際にコストを調べるとVPCピアリングが無料なのに対し、TGWでは時間料金やデータ転送コストがかかる。適切な場面で活用できるよう知識の習得に励みたい。
7.あとがき
TGWに関してはAdvancedNetworkSpecialty(ANS-C01)で触れた分野であったため、そこまで引っかかる部分はなかった。
今後も資格取得で得た知識を生かしたいと思う。




