内容
下記勉強会での発表内容になります。Transit Gatewayを分かりやすく説明します。
AWS環境で発生するネットワーク通信
Transit Gatewayの話に入る前に、AWS内ではどのようなネットワーク通信があるかを見ていきます。まず最初にVPNやDirect Connectを使用したオンプレミスからAWSへの通信があります。
次にVPC内のPublic SubnetからInternet Gatewayを介したインターネット通信があります。
あとはVPC内、VPC間通信というところで、例えばEC2をVPC内、異なるVPCに構築してEC2サーバ間の通信などが挙げられます。
このようにAWSでは色々なネットワーク通信がありますが、Transit Gatewayはオンプレミスからの接続、VPC間通信を集約することが出来るサービスになります。
VPC間通信
次にTransit Gatewayの説明に入る前にもう一点、VPC間通信を行うためにどのようなサービスがあるかを見てきます。
最初にVPC Peeringという方法があります。この方法は簡単に構成することが出来ます。VPC AとVPC Bを接続したい場合はAとB間でVPC Peeringの設定を。VPC AとVPC B間で接続したい場合はAとC間でVPC Peeringの設定を行います。
ただし、VPC Peeringは推移的な接続をサポートしていないため、この場合、VPC BとVPC Cは通信することが出来ません。
VPC BとVPC C間の通信が必要な際は、VPC BとVPC C間にもVPC Peeringの設定を行う必要があります。
VPCの数が少なければ良いですが、VPC数が増えて全てのVPC間で通信を行いたい場合はフルメッシュ構成が必要なため、構成が複雑になります。
これを解消できるのが、Transit Gatewayとなり、Transit Gatewayを中央のハブとして設置して、各VPCを接続することによって、ネットワーク構成をシンプルにすることが出来ます。
ただし、Transit GatewayやVPC PeeringではCIDRが同じVPC間の接続を行うことが出来ません。
この場合はAWS PrivateLinkを使用します。EndpointsとEndpoints Serviceを作成して接続することでAWSの内部通信でVPC間接続を行うことが出来ます。
Transit Gatewayの基礎
Transit Gatewayは大きく分けると3つの構成要素から構成されます。
1つ目はTransit Gateway本体です。しかしTransit Gateway本体を作成しただけだとまだ何のコンポーネントとも接続していないため、通信することが出来ません。
そこでTransit Gatewayアタッチメントが出てきます。Transit GatewayアタッチメントはTransit Gatewayと何かをつなげて通信できるようにするものですが、下記のような種類があります。
Transit Gatewayアタッチメントを作成すると各コンポーネントがつながりました。
しかしこの状態だと、どのパケットをどこに流せばよいか分からないため、通信することが出来ません。そこで出てくるのが、Transit Gatewayルートテーブルです。Transit Gatewayルートテーブルに通信経路を設定することによって通信が可能になります。
最後に、サブネット側のルートテーブルの設定も必要になります。
次回勉強会の開催
定期的にインフラ技術基礎勉強会を開催しております。