AWS Transit Gateway inter-Region Peeringによるリージョン間NW接続(デフォルト関連付けルートテーブルを使用)

AWS Transit Gatewayにおいて、inter-Region Peeringを利用したリージョン間接続をやってみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/c636cf08-856b-9550-dc95-8a5bc5674aac.png)



https://docs.aws.amazon.com/ja_jp/vpc/latest/tgw/tgw-peering.html



# ■制約事項
・AWSアカウント間でも実行可能
・ピアアタッチメントはリクエスト作成後に承認が必要
・ルーティングのためには静的ルートをルートテーブルに追加が必要
・片方のVPCの名前解決について、もう片方のVPCでは実施不可
・通信はリージョン間でAES256にて暗号化

https://docs.aws.amazon.com/ja_jp/vpc/latest/tgw/tgw-peering.html

・Transit Gateway ピアリングアタッチメントがサポートされているリージョンには以下を参照

https://aws.amazon.com/jp/transit-gateway/faqs/




# ■検証構成
シンプルに、EC2間接続で確認してみます。
上部のInternet～Publicサブネットは踏み台用経路ですので以後割愛します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/0d8f6c63-9aaa-702d-6c7a-3c724e20c320.png)

★ルートテーブルを付記(デフォルト関連付けルートテーブルを使用)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/2a7ccc95-59fd-35aa-4768-02641290d6f6.png)

デフォルト関連付けルートテーブルを使用しないでTransit Gatewayを作成した場合は以下リンク先で実施。

https://qiita.com/Higemal/items/079b44971700ced8efea


# ■環境構築

大きく以下３パートに分かれます。
①東京リージョン側構築
②大阪リージョン側構築
③TransitGateweay Peering接続

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/8d4313bc-d0da-7d61-d378-72013a2f5538.png)



## ①東京リージョン側構築
以下を実施しますが、長くなるので割愛。
>・VPCおよびサブネットの作成
・EC2の作成
・サブネットにルートテーブルの設定（TransitGateway向けを除く）
・TransitGatewayの作成
・TransitGateway Attachiment(VPC側)の作成　※Peerは「③TransitGateweay Peering接続」で作成
・サブネットにルートテーブルの設定（TransitGateway向け）


## ②大阪リージョン側構築
①東京リージョンに同じ。


## ③TransitGateweay Peering接続
TransitGatewayピアリングアタッチメントを作成し、TransitGatewayルートテーブルを設定します。

3-1.[東京]TransitGatewayピアリングアタッチメント作成
3-2.[大阪]TransitGatewayピアリングアタッチメント承認
3-3.[東京・大阪]TransitGatewayピアリングアタッチメント有効化確認
3-4.[東京]TransitGatewayルートテーブル修正
3-5.[大阪]TransitGatewayルートテーブル修正

### 3-1.[東京]TransitGatewayピアリングアタッチメント作成
通常と同様にTransitGatewayアタッチメントを作成します。
東京リージョン側で作成し、大阪リージョン側は承認をします。

:::note warn
もう片側のTransitGateway IDが必要となります。事前に入手しましょう。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/f738d6d8-b6f3-d1db-e3a8-81341cbb0891.png)


### 3-2.[大阪]TransitGatewayピアリングアタッチメント承認
大阪リージョン側でアタッチメントの承認要求があるため、承諾を押下します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/3b627b8e-41ae-197c-718e-c7633de12dfb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/87557952-beb4-511a-52fa-79db8e7c9598.png)



### 3-3.[東京・大阪]TransitGatewayピアリングアタッチメント有効化確認
アクセプタ側で承認実施後、5分程度で各リージョンのTransitGatewayピアリングアタッチメントの状態が`Available`になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/bcf8893b-2b68-5f71-c6f9-78887349e159.png)



### 3-4.[東京]TransitGatewayルートテーブル修正
Transit Gateway作成時に「デフォルト関連付けルートテーブル」を有効にして作成された場合、`デフォルト関連付けルートテーブル`が`yes`になったTransit Gatewayルートテーブルが作成されます。

・デフォルト関連付けルートテーブルの設定
<b>※Transit Gateway作成後は変更不可</b>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/7abbcd58-d259-229e-020e-df003b1efdab.png)

・Transit Gatewayルートテーブル
<b>※デフォルト関連付けルートテーブル:`yes`</b>
<b>（Transit Gateway配下の作成されたアタッチメントに自動で関連付けされる）</b>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/95853d3b-e072-498c-e11f-92b25f6542bf.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/d4240118-5071-f1d5-67d0-e9b75b041afa.png)



このルートテーブルについて、ルート設定を以下で設定します。

サブネット | 向き先 | 備考
--- | --- | ---
自VPCのサブネット | VPC | デフォルトで設定済み(削除不可)
対向VPCのサブネット | Transit Gateway Peerアタッチメント | 編集して設定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/a0d22e76-49eb-117d-0ec7-5455a03b5f73.png)






### 3-5.[大阪]TransitGatewayルートテーブル修正
3-4と同様に、自リージョンのルート情報を自VPC側のTransitGatewayアタッチメントにルーティングします。



# ■通信確認
EC2からの疎通確認、AWS Network Managerからのルート確認を実施します。

## 接続確認(EC2)

EC2から通信確認を実施します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/190599b1-3017-6e05-6e80-fad8c7cb4505.png)

ping、sshともに通信結果良好でした。tracerouteは解読不可でした。


## 接続確認(Network Manager)
AWS Network Managerから経路確認をします。

・地域
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/b8591da2-6b34-85a5-ea44-5caca8d8f3b2.png)

・トポロジツリー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/fed97823-9e54-1187-c6dd-fdf8e9b6aead.png)


・ルートアナライザー
東京リージョン側のEC2インターフェース、大阪リージョン側のEC2インターフェースを指定して導通確認を実施
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/095e834c-68a8-5e56-a358-2dc3aac6ef8c.png)



## 疎通結果からの経路情報イメージ
ルートアナライザーの結果から、たぶん以下の経路情報を認識しながら通信しているものと思われます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/201787/fe02ae77-ddab-78d9-3cda-4b20a097b1ac.png)





# ■出典/参考
https://docs.aws.amazon.com/ja_jp/vpc/latest/tgw/what-is-transit-gateway.html

https://aws.amazon.com/jp/transit-gateway/faqs/

https://docs.aws.amazon.com/ja_jp/vpc/latest/tgw/tgw-peering.html

https://qiita.com/Higemal/items/079b44971700ced8efea