AWS ソリューションアーキテクト - アソシエイト合格に必要な知識をまとめていきたいと思います! 今回は「VPC」になります。
VPC(Virtual Private Cloud)
AWS上に仮想ネットワークを構築できるサービス
- 単一リージョン内に作成する(リージョンをまたいで作成することはできない)
- 他のVPCとは論理的に切り離されている
- VPCのサイズ(CIDRブロック)は変更不可
ネットワーク
サブネット
VPCをさらに分割したネットワーク空間
- 単一AZ内に作成する(AZをまたいで作成することはできない)
- サブネット内で利用できるIPアドレスは最初4つと最後1つのアドレス(合計5つ)はAWS側で予約されているため、使用不可
- サブネットのサイズ(CIDRブロック)は変更不可
- サブネットは1つのルートテーブルに紐付ける必要がある(複数のルートテーブルに紐付けることはできない)
パブリックサブネットとプライベートサブネットの違い サブネットを作成する際の設定として、 「パブリックサブネットを作成する」や「プライベートサブネットを作成する」といったものはありません! パブリックサブネットなのか、プライベートサブネットなのかを判断するのはサブネットに紐付くルートテーブルによって変化します。 詳細は「ルートテーブル」にて説明します。
インターネットゲートウェイ
VPC内のEC2とインターネット間の通信を可能にする
- インターネットゲートウェイはVPCに紐付ける必要がある
- ルートテーブルにインターネットゲートウェイのルートを追加する必要がある
ルートテーブル
ネットワークトラフィックの経路を判断する際に使用される
- VPCを作成するとルートテーブルが1つ作成される(メインルートテーブル)
- メインルートテーブルはサブネットを特定のルートテーブルに明示的に関連付けなかった場合に、暗示的に関連付けられる
- ルートテーブルは追加で作成することができる(カスタムルートテーブル)
- 同一VPC内の通信はデフォルトで許可されている
この図が示す「10.0.0.0/16:local」はVPC作成時に指定したVPCのネットワーク範囲を表しています。 つまり、VPC内で行われる通信はこの「10.0.0.0/16:local」を使用することになります。
「0.0.0.0/0 : インターネットゲートウェイ」はデフォルトルートと呼ばれ、全ての経路を示します。
- 0.0.0.0/0 : インターネットゲートウェイを持つルートテーブルが紐づいたサブネット →パブリックサブネット
- 0.0.0.0/0 : インターネットゲートウェイを持たないルートテーブルが紐づいたサブネット →プライベートサブネット
VPC内のEC2とインターネット間の通信ができるための条件
- インターネットゲートウェイがVPCと紐付けられていること
- ルートテーブルにインターネットゲートウェイへのルートが含まれていること
- VPC に関連付けられているセキュリティグループが、インターネット間とのトラフィックを許可していること
- VPC 内のEC2は、パブリック IP アドレス または Elastic IP アドレスのいずれかを持っていること
NATゲートウェイ
プライベートサブネットに配置されたEC2からインターネットへ通信(アウトバウンド)は許可したいが インターネットからの通信(インバウンド)は許可したくない場合に利用
- NATゲートウェイはパプリックサブネットに配置
- プライベートサブネットに紐付くルートテーブルにNATゲートウェイを追加
セキュリティ
ネットワークACL
サブネットに紐付くファイアウォール
- デフォルトで全ての通信は許可されている
- 戻りの通信も明示的に許可する必要がある(ステートレス)
- 記載された番号の小さい順にルールが適用される
セキュリティグループとの違い
セキュリティグループの特徴についてはこちらの記事でも説明しています。 tech.cydas.com
VPC Flow Logs
VPC内のIPトラフィックの監視が行える