背景・目的
以前、AWS Transit Gatewayを整理してみたで、Transigt Gatewayの基本的な知識やユースケース等を整理しました。
今回は、実際に触って試してみたいと思います。
まとめ
今回は、下記のような環境で試してみました。
下記の順番で作成しました。
- ネットワークの作成
- EC2の作成
- VPCeの作成
- Transit Gatewayの作成
- VPCをTransit Gatewayに接続
- トランジットゲートウェイと VPC の間にルートを追加
- セキュリティグループを修正
概要
よろしければ、AWS Transit Gatewayを整理してみたや、下記のAWSのドキュメントをご覧ください。
実践
前準備
前準備で用意した環境を2つ作成します。
ネットワークの作成
VPCを作成する
- VPC(Private Subnet1つ)を作成します
EC2の作成
IAMロールを作成する
SessionManagerを使ってEC2にログインするため、IAMロールを準備します
-
IAMに移動し、ロールを作成をクリックします
-
ロール名を入力し「ロールを作成」をクリックします
EC2インスタンスを起動する
- EC2に移動します
- インスタンスの起動をクリックします
- VPC、SG等を指定し起動します(キーペアは不要です)
- 起動したら、セキュリティ>IAMロールの変更で、作成したIAMロールをアタッチします
- セキュリティグループで、ポート443で、自身のサブネットのCIDRを設定します
VPCeの作成
VPCe用のSGを作成する
- EC2に移動します
- ナビゲーションペインで、「セキュリティグループ」をクリックします
- 「セキュリティグループを作成」をクリックします
- 用意したVPCを選択し、インバウンドルールには、443でEC2インスタンスに設定したセキュリティグループを指定します
VPCeを作成する
- VPCに移動します
- ナビゲーションペインで、「エンドポイント」をクリックします
- 「エンドポイントの作成」をクリックします
- 下記の3つのVPCeを作成します。セキュリティグループには既に作成したVPCeのセキュリティグループをアタッチします
- com.amazonaws.{region}.ec2
- com.amazonaws.{region}.ssmmessages
- com.amazonaws.{region}.ec2messages
接続する
VPC間の疎通
接続できないことを事前に確認するため、Transit GWの作成前にVPC間の通信を試します。
VPC A → VPC B
- VPC A → VPC Bにpingを実行します。やはり失敗しています
sh-5.2$ ping -c 3 10.1.135.197 PING 10.1.135.197 (10.1.135.197) 56(84) bytes of data. --- 10.1.135.197 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2059ms sh-5.2$
VPC B → VPC A
- VPC B → VPC Aにpingを実行します。やはり失敗しています
sh-5.2$ ping -c 3 10.0.138.37 PING 10.0.138.37 (10.0.138.37) 56(84) bytes of data. --- 10.0.138.37 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2062ms sh-5.2$
Transit Gatewayの作成
トランジットゲートウェイの開始方法を基に試します。
-
VPCに移動します
-
ナビゲーションペインの「Transit Gateway」をクリックします
-
「Transit Gatewayを作成」をクリックします
-
下記を入力し、「Transit Gatewayを作成」をクリックします
- 名前タグ
- Amazon側のASN
- 16 ビット ASN の場合、範囲は 64512 〜 65534
- 32 ビット ASN の場合、範囲は 4200000000 〜 4294967294
VPCをTransit Gatewayに接続
2つのアタッチメントを作成します
-
VPCに移動します
-
ナビゲーションペインの「Transit Gateway アタッチメント」をクリックします
-
「Transit Gateway アタッチメントを作成」をクリックします
-
下記を入力し、「Transit Gateway アタッチメントを作成」をクリックします
トランジットゲートウェイと VPC の間にルートを追加
それぞれのVPCのルートテーブルを修正します
- VPCに移動します
- ナビゲーションペインの「ルートテーブル」をクリックします
- VPCのルートテーブルを選択します
- 「ルートを編集」をクリックします
- 「ルート追加」をクリックし下記を入力し、「変更を保存」をクリックします
セキュリティグループを修正
それぞれのEC2のセキュリティグループを修正します
- EC2に移動します
- 対象のセキュリティグループを選択し、インバウンド編集ルールを修正します
- カスタムICMPと反対のVPCを選択し、「ルールを保存」
テスト
VPC A → VPC B
- VPC AのEC2にログインします
- pingで疎通します。繋がりました!
sh-5.2$ ping -c 3 10.1.135.197 PING 10.1.135.197 (10.1.135.197) 56(84) bytes of data. 64 bytes from 10.1.135.197: icmp_seq=1 ttl=126 time=0.838 ms 64 bytes from 10.1.135.197: icmp_seq=2 ttl=126 time=0.648 ms 64 bytes from 10.1.135.197: icmp_seq=3 ttl=126 time=0.626 ms --- 10.1.135.197 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2074ms rtt min/avg/max/mdev = 0.626/0.704/0.838/0.095 ms sh-5.2$
VPC B → VPC A
- VPC BのEC2にログインします
- pingで疎通します。繋がりました!
sh-5.2$ ping -c 3 10.0.138.37 PING 10.0.138.37 (10.0.138.37) 56(84) bytes of data. 64 bytes from 10.0.138.37: icmp_seq=1 ttl=126 time=0.752 ms 64 bytes from 10.0.138.37: icmp_seq=2 ttl=126 time=0.709 ms 64 bytes from 10.0.138.37: icmp_seq=3 ttl=126 time=0.618 ms --- 10.0.138.37 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2046ms rtt min/avg/max/mdev = 0.618/0.693/0.752/0.055 ms sh-5.2$
考察
今回、Transit Gatewayを触ってみました。次回は、リージョン間、アカウント間での接続を試して見たいと思います。
参考