K's Atelier

個人的な学習記録

AWS Gateways

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たち

これがとにかく分かりにくい。個人で気楽に試せるものではないから最後まで納得いかない感がある。

https://docs.aws.amazon.com/images/directconnect/latest/UserGuide/images/direct-connect-overview.png

そもそも専用線接続は,いきなりオンプレとVPCを接続できない。

場所としての登場人物が3つある。

  • On-Premises
  • Dicrect Connect Location
  • AWS (VPC or Regional Services)

さらにややこしいのは,物理的な専用線接続とVPNの話が混在していること。

Customer Gateway

オンプレミス側に設置されているSite-to-Site VPNの終端。

https://docs.aws.amazon.com/images/vpn/latest/s2svpn/images/vpn-how-it-works-vgw.png

図の通り,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のルーティングを集中管理したい,というときに使う。

https://docs.aws.amazon.com/images/vpc/latest/tgw/images/transit-gateway-overview.png

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。

感想

書いて整理したらいくらか分かるかと思ったら,かえって自信がなくなった・・・

こういうものは必ずしも整理しながら開発されておらず,「この機能の組合せだと煩雑だから新しいの作りました」の積み重ねだ。名前にしろ,機能にしろ,整理するのは難しいものがある。