VPCについて勉強しました。
復習したことや新しく得た知識などをメモします。
VPCピアリングにはリクエストとアクセプタという概念がある
VPCピアリング自体は異なるVPCを繋ぐ機能、という感じで理解していたんですがリクエスタ(requester)とアクセプタ(accepter)という概念もあるようです。
NATゲートウェイは異なるVPCで共有できない
VPCピアリングしているVPC間でのNATゲートウェイの共有はできないようです。
そのため、VPCピアリングしているVPCがインターネットに接続しつつ外部からの通信は通さないようにするためにはVPCの数だけNATゲートウェイを作成する必要があるとのこと。
AWS PrivateLinkとVPCエンドポイント
PrivateLinkとVPCエンドポイントがよくわからないので調べました。
VPCエンドポイントは以前も調べた気がしますが、まだまだ記憶に定着してないので繰り返し調べていきます。
こちらのページに綺麗にまとまっていました。
AWS PrivateLink は、データをインターネットに公開することなく、AWS またはオンプレミスでホストされているサービスと仮想プライベートクラウド (VPC) との間のプライベート接続を確立します。
VPC エンドポイントでは、AWS PrivateLink を使用する AWS のサービスや VPC エンドポイントサービスに VPC をプライベートに接続できます。インターネットゲートウェイ、NAT デバイス、VPN 接続、または AWS Direct Connect 接続は必要ありません。VPC のインスタンスは、サービスのリソースと通信するためにパブリック IP アドレスを必要としません。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。
AWS PrivateLinkとVPCエンドポイントを使うことで外部に公開しないプライベートな接続を可能にする、ということをまず覚えておいた方が良さそうですね。
あとパブリックIPアドレスやインターネットゲートウェイなども必要ないということもポイントですね。
VPCエンドポイントポリシーというものがある
VPCエンドポイントポリシーを設定することで、特定のS3バケットに対して許可するアクションを設定することが可能とのこと。
また既存のVPCエンドポイントに対して新しくリソースを追加する場合はVPCエンドポイントポリシーを修正する必要がある。
ネットワークACLとセキュリティグループは別
試験問題でACLについて問われて、セキュリティグループとどう違うかもしくは同一のものかよくわからず混乱したので調べました。
セキュリティグループはインスタンスレベルで動作し、ACLはサブネットレベルで動作するとのこと。
ACLで許可されていてもセキュリティグループで許可されていなかったら通信は通らない。
また以下のような評価順の違いもあるようです。
セキュリティグループ: トラフィックを許可するかどうかを決める前に、すべてのルールを評価します
こちらの記事もわかりやすくまとまっていて勉強になりました。
NATゲートウェイがElactic IPなしで起動することはない
NATゲートウェイは作成時にElastic IPが必須項目なので必ずIPアドレスを持つことになる。
NATゲートウェイを作成する際にインターネット向きの通信をNATゲートウェイに向かわせるルートテーブルを登録する必要がある
こちらは自分で設定する必要があるそうです。
NATゲートウェイはセキュリティグループを設定できない
セキュリティグループはNATゲートウェイには設定できず、インスタンスに設定できるとのこと。
You cannot associate a security group with a NAT gateway. You can use security groups for your instances in the private subnets to control the traffic to and from those instances.
AWS VPNというサービスがある
特定の人物のみセキュアにAWSリソースにアクセスできるよう設定したい場合は、VPCへのアクセスにVPNを使うようにする。
デフォルトではVPC内のインスタンスは外部ネットワークと通信できないので、VPCにVPNをアタッチしてカスタムルートテーブルを作成しセキュリティグループを更新することで接続できるようになる。
セキュリティグループはステートフルでネットワークACLはステートレス
Security group: Is stateful: Return traffic is automatically allowed, regardless of any rules
Network ACL: Is stateless: Return traffic must be explicitly allowed by rules
セキュリティグループはインバウンドで許可されている通信はアウトバウンドで許可しなくても通信は通るようですが、ネットワークACLの場合はアウトバウンドも明示的に許可する必要があるとのことです。
雑感
VPCはあんまり勉強することないかと思い込んでましたが、AWS SAAの試験勉強してみるとまだまだわからないこと多いということに気づきました。
もっと勉強していきます。