VPCとTransit Gatewayの連携について
VPC削除時の事象
業務でもう使わなくなったAWSのアカウント環境で、
VPC(Virtual Private Cloud)を削除しようとすると「先にアタッチメントを削除しろ」と通知が出た。
VPCの中に Transit Gatewayとの接続(アタッチメント)が残っていること が原因だった。
この辺りの認識がふわふわしてたので、
VPCやTransit Gateway、また関連してL2、L3について調べた内容をまとめました。
ほぼ備忘録です。
Transit Gatewayとは
AWSにおけるTransit Gateway は、異なるVPC(バーチャルプライベートクラウド)間や、アカウント間のネットワークをつなぐ ために使う。
オンプレで言うと 「ネットワークの中継ハブ」 のようなもので、いわゆるL3スイッチのようなイメージです。
- VPCをまたいだプライベートな通信 を可能にする(L3の役割)
- 各VPCのネットワークインターフェースは、通常「ローカル(L2)」の範囲でしか通信できない
- Transit Gatewayを使うと、VPC同士を直接つなぐことができる(外に出さずに通信可能)
- 異なるAWSアカウントのVPC同士も接続できる
VPCとTransit Gatewayの関連(アタッチメント)とは?
AWSでは、VPCとTransit Gatewayを接続するために アタッチメント という仕組みを使います。
アタッチメントとは
- VPCとTransit Gatewayをつなぐための 仮想的な接続
- 各VPCごとに個別のアタッチメントを作成する必要がある
- 一つのTransit Gatewayに複数のVPCを接続できる
- アタッチメントを通じて、VPC同士や他のネットワーク(VPN、Direct Connectなど)と通信可能
VPCとTransit Gatewayの関連図
そのため、正しい手順としては
-
Transit Gatewayのアタッチメントを削除
- AWSマネジメントコンソール → VPC → Transit Gatewayのアタッチメント から削除
- AWS CLIなら
aws ec2 delete-transit-gateway-vpc-attachment
-
VPCを削除
- これで削除できるようになる
💡 ちなみにTransit Gateway本体を削除する必要はない(他のVPCが使っている場合もあるため)。
流れでL2スイッチとL3スイッチについて調べてみた
ネットワークハブ、L2スイッチ、L3スイッチとは?
有線LANはネットワークハブという機器にケーブルを接続してネットワークを構築する。
※一般家庭のルーターにはこれが元々内蔵されていることが多い。
このネットワークハブには、L2スイッチ(スイッチングハブ)、L3スイッチなどの種類がある。
L2スイッチ
- データリンク層(TCP/IPモデルではネットワークインターフェース層)に対応する
- 各ポートにつながっているホストのMACアドレスを記憶して、送信先に信号を流す
- そのため、基本的に信号の衝突が起きない
- 同じネットワーク内の通信を担当(お隣同士のイメージ)
- L2スイッチでネットワークを構成した場合、そのネットワーク全体がブロードキャストドメインとなる。
- ブロードキャストドメインとは:ブロードキャストアドレスを宛先にした場合に、データが送られる範囲のこと
- ブロードキャストアドレスとは:そのアドレス(IPアドレスとかMACアドレス)に送ると、同じブロードキャストドメイン内の全ての機器に届く。
- https://wa3.i-3-i.info/word1777.html
- ホスト台数が増えてくると、ブロードキャストでネットワークが混雑しやすくなる
- AWSで言うと・・・
- VPCのENI(Elastic Network Interface)間の通信のようなもの
L3スイッチ
- ネットワーク層(TCP/IPモデルではインターネット層)に対応する
- 異なるネットワーク同士をつなぐことができる。(広い範囲のイメージ)
- IPアドレスを使って通信経路を決める
- VLAN(バーチャルLAN)を作る。
- LANをいくつかの仮想的なネットワークに分割する。
- 分割するので、ブロードキャスト通信が同じVLAN内にしか送られなくなるので、混雑をしない。
- AWSで言うと・・・
- VPC内の異なるサブネット間通信(ルートテーブル)
- VPCピアリングやTransit Gatewayを使ったVPC間通信
- インターネットを経由した通信(NAT GatewayやInternet Gateway)