【学習記録】VPCについて勉強1

VPCについて勉強しました。
復習したことや新しく得た知識などをメモします。

VPCピアリングにはリクエストとアクセプタという概念がある

VPCピアリング自体は異なるVPCを繋ぐ機能、という感じで理解していたんですがリクエスタ(requester)とアクセプタ(accepter)という概念もあるようです。

docs.aws.amazon.com

NATゲートウェイは異なるVPCで共有できない

VPCピアリングしているVPC間でのNATゲートウェイの共有はできないようです。
そのため、VPCピアリングしているVPCがインターネットに接続しつつ外部からの通信は通さないようにするためにはVPCの数だけNATゲートウェイを作成する必要があるとのこと。

AWS PrivateLinkとVPCエンドポイント

PrivateLinkとVPCエンドポイントがよくわからないので調べました。
VPCエンドポイントは以前も調べた気がしますが、まだまだ記憶に定着してないので繰り返し調べていきます。

こちらのページに綺麗にまとまっていました。

docs.aws.amazon.com

AWS PrivateLink は、データをインターネットに公開することなく、AWS またはオンプレミスでホストされているサービスと仮想プライベートクラウド (VPC) との間のプライベート接続を確立します。

VPC エンドポイントでは、AWS PrivateLink を使用する AWS のサービスや VPC エンドポイントサービスに VPC をプライベートに接続できます。インターネットゲートウェイ、NAT デバイスVPN 接続、または AWS Direct Connect 接続は必要ありません。VPCインスタンスは、サービスのリソースと通信するためにパブリック IP アドレスを必要としません。VPC と他のサービス間のトラフィックは、Amazon ネットワークを離れません。

AWS PrivateLinkとVPCエンドポイントを使うことで外部に公開しないプライベートな接続を可能にする、ということをまず覚えておいた方が良さそうですね。
あとパブリックIPアドレスやインターネットゲートウェイなども必要ないということもポイントですね。

VPCエンドポイントポリシーというものがある

aws.amazon.com

docs.aws.amazon.com

VPCエンドポイントポリシーを設定することで、特定のS3バケットに対して許可するアクションを設定することが可能とのこと。
また既存のVPCエンドポイントに対して新しくリソースを追加する場合はVPCエンドポイントポリシーを修正する必要がある。

ネットワークACLとセキュリティグループは別

試験問題でACLについて問われて、セキュリティグループとどう違うかもしくは同一のものかよくわからず混乱したので調べました。

docs.aws.amazon.com

セキュリティグループはインスタンスレベルで動作し、ACLはサブネットレベルで動作するとのこと。
ACLで許可されていてもセキュリティグループで許可されていなかったら通信は通らない。

また以下のような評価順の違いもあるようです。

セキュリティグループ: トラフィックを許可するかどうかを決める前に、すべてのルールを評価します

ネットワーク ACL: トラフィックを許可するかどうかを決定する際に、最も低い番号のルールから順にルールを処理します。

こちらの記事もわかりやすくまとまっていて勉強になりました。

dev.classmethod.jp

NATゲートウェイがElactic IPなしで起動することはない

NATゲートウェイは作成時にElastic IPが必須項目なので必ずIPアドレスを持つことになる。

NATゲートウェイを作成する際にインターネット向きの通信をNATゲートウェイに向かわせるルートテーブルを登録する必要がある

こちらは自分で設定する必要があるそうです。

docs.aws.amazon.com

NATゲートウェイはセキュリティグループを設定できない

セキュリティグループはNATゲートウェイには設定できず、インスタンスに設定できるとのこと。

docs.aws.amazon.com

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.amazon.com

特定の人物のみセキュアにAWSリソースにアクセスできるよう設定したい場合は、VPCへのアクセスにVPNを使うようにする。
デフォルトではVPC内のインスタンスは外部ネットワークと通信できないので、VPCVPNをアタッチしてカスタムルートテーブルを作成しセキュリティグループを更新することで接続できるようになる。

docs.aws.amazon.com

セキュリティグループはステートフルでネットワークACLはステートレス

docs.aws.amazon.com

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の試験勉強してみるとまだまだわからないこと多いということに気づきました。
もっと勉強していきます。