学習前
ネットワークのサービス…なんか色々してくれる(わかってない)
Transit Gatewayとは
公式ドキュメントによると、以下の通りです。
Amazon VPC Transit Gateways は、仮想プライベートクラウド (VPCs) とオンプレミスネットワークを相互接続するために使用されるネットワークトランジットハブです。
要するに、「オンプレミスのネットワークと、クラウドのネットワークを繋ぐぜ!」なサービスですね。
Transit Gatewayを使用するメリットとしては、下記の5つが当てはまります。
- 推移的ルーティングの実現
- メッシュ化されたネットワーク接続の実現
- 管理の簡素化
- スケーラビリティ
- 集中化されたルーティング制御
ただ、私は1.と2.を聞いてもあまりピンと来なかったので少し調べてみました。
推移的ルーティング・メッシュ化されたネットワーク接続
推移的ルーティングとは、「直接接続されていないネットワーク間でも、トラフィックをルーティングできる能力・機能」 です。
元は数学の推移関係に関係しています。簡単に言うと、
- x = y である
- y = z である
- この時、x = z が成り立つ
みたいな感じです。x と z は直接的に = で繋がれているわけではないですが、他の関係から自然と = の関係にあると導き出されます。
これをネットワークの世界でも活用するのが、推移的ルーティングです。
例えば3つのVPCがピアリング接続しているとします。VPC A は B と接続し、VPC B は C と接続しています。
その時、以下のようにVPC A から C へ直接アクセス可能でしょうか?
これは❌です。上記のようなVPCピアリングを使用しているときは、VPC A から VPC C へ直接接続することはできません(VPC A と C をピアリング接続すれば可能ですが)。
また、ピアリング接続のみで複雑なネットワークを構築するのはかなり負荷が高いです。
VPC100個のネットワークを構築しようとした場合を想定してみてください。
それらをすべて相互に接続できるようにするためには、4950個のピアリング接続が必要になります。
これら全てを構築するのは非常に手間ですし、管理するのも非現実的です。
もっと楽にネットワークを構築したいですよね。
各VPCはTransit Gatewayを経由することで他のVPCと接続することができます。AからBも、BからCも、AからCもすべて接続可能です。もちろん、逆もまた然りです。
各VPCは直接接続されているわけではありませんが、Transit Gatewayがトラフィックをルーティングしてくれるおかげで、それぞれが接続されているような状態になります。
このように「ネットワーク内のすべてのノード(ここではVPC)が互いに接続されている状態」をメッシュ化されたネットワークと言います。
こうすれば、例えVPCが100個あったとしても、各VPCはTransit Gatewayに1つずつ接続を持てば良いので、合計100の接続で済みます。
ピアリングと比べると非常にコンパクトで、管理が簡素化されるのがわかります!
また、後からVPCを増やしたい/減らしたいとなった時も、該当VPCとTransit Gatewayの接続のみを新たに構築だけで済むので、非常にスケーラブルです!
Transit Gatewayを用いることで、マルチVPC構成など複雑なネットワーク構成でも、柔軟な通信が可能になります。
Transit Gatewayを使うことで、直接的に接続されていないVPC間の接続が可能になる!
キーワードは、「推移的ルーティング」と「メッシュ化されたネットワーク」!
Transit Gatewayの作り方
以下のクラスメソッドさんのブログがわかりやすいです!
CDKで書くとどうなんの?
2024年11月11日現在、L1 Constructでのみ実装可能のようです。
学習後
・Transit Gatewayは、クラウド環境とオンプレミスを繋いでくれたり、複数のVPCを繋いでくれたりするもの!
・キーワードは「推移的ルーティング」と「メッシュ化されたネットワーク」!
・本体を作るだけじゃダメ!アタッチメントやルートテーブルもお忘れなく!