Gateway多すぎ
インフラだからルーティングの嵐なのは分かるのだが,それにしても名前と使われ方が分かりにくい。以下,ほとんどの人にとってはSolutions Architect ProfessionalとかAdvanced Network SpecialtyとかのAWS認定試験にしか利用価値のない情報と思われるが,何とか整理してみる。
VPCの基本的なGatewayたち
彼らは割と素直。
Internet Gateway
インターネットに接続するためのルータ。VPCに設定する。
Connect to the internet using an internet gateway - Amazon Virtual Private Cloud
NAT Gateway
NAT(Network Address Translation)を行う。Public Subnetに設置する。Private SubnetがInternetに接続する際の送信先になる。
NAT gateways - Amazon Virtual Private Cloud
Direct Connectと言われると出てくるGatewayたち
これがとにかく分かりにくい。個人で気楽に試せるものではないから最後まで納得いかない感がある。
そもそも専用線接続は,いきなりオンプレとVPCを接続できない。
場所としての登場人物が3つある。
さらにややこしいのは,物理的な専用線接続とVPNの話が混在していること。
Customer Gateway
オンプレミス側に設置されているSite-to-Site VPNの終端。
図の通り,VPC側にVirtual Private Gateway,On-premises側にCutomer Gatewayを設置して,VPN接続を通す。
How AWS Site-to-Site VPN works - AWS Site-to-Site VPN
Your customer gateway device - AWS Site-to-Site VPN
Virtual Private Gateway
Direct Connect接続やVPN接続のVPC側の終端。VPCに設置できるVirtual Private Gatewayは一つなのだが,Virtual Private Gatewayは最大10個までのSite-to-Site VPNを接続できる。この辺りの数の対応関係を整理しておかないと,非常に混乱する。
Virtual private gateway associations - AWS Direct Connect
Direct Connect Gateway
Direct ConnectでVPC同士を接続する際のGateway。Direct Connect GatewayにVirtual Private Gatewayを設定することで,VPC同士をつなぐ。
Virtual private gateway associations - AWS Direct Connect
Transit Gatewayと言われると出てくるGateway
Transit Gateway
沢山あるVPCのルーティングを集中管理したい,というときに使う。
How transit gateways work - Amazon VPC
Transit Gatewayはルーティングの整理手段としては確かに美しいのだが,料金体系が変更されていたりする。この,ある日料金体系が変わる,というのはCloud特有の頭痛の種なのではないか。
[小ネタ]AWS Transit GatewayのAZ間通信が無料になった件について絵を描いて理解してみる | DevelopersIO
IPv6と言われると出てくるGateway
Egress-only Internet Gateway
IPv6パケットをインターネットに送信する際に使用する。
Enable outbound IPv6 traffic using an egress-only internet gateway - Amazon Virtual Private Cloud
Virtual Interfaceくんたち
事態をさらに複雑にしてくれるVirtual Interfaceくんたち。re:Postにも質問回答がある。
Use a public, private, or transit interface for Direct Connect | AWS re:Post
Create a virtual interface - AWS Direct Connect
Private Virtual Interface
Private IPでVPCに接続するときのInterface。
Public Virtual Interface
S3などのRegional Servicesに接続するときのInterface。
Transit Virtual Interface
Transit GatewayにDirect Connectを接続するときのInterface。
感想
書いて整理したらいくらか分かるかと思ったら,かえって自信がなくなった・・・
こういうものは必ずしも整理しながら開発されておらず,「この機能の組合せだと煩雑だから新しいの作りました」の積み重ねだ。名前にしろ,機能にしろ,整理するのは難しいものがある。