導入
AWS上のあらゆるリソースは、まず「どのネットワークに置くか」から設計が始まります。その土台となるのが VPC(Virtual Private Cloud) です。
説明
VPC は、AWSアカウント内に作る論理的に隔離された仮想ネットワークです。VPCを作成する際、最初に決めるのが CIDRブロック(IPアドレスの範囲)です。例えば 10.0.0.0/16 を割り当てると、そのVPC内で約6万5千個のIPアドレスを使えます。
VPCの中は サブネット に分割して使います。サブネットは必ず1つのAZに属し、役割によって公開範囲を分けます。
| サブネット種別 | 特徴 | 配置するもの |
|---|---|---|
| パブリックサブネット | インターネットゲートウェイへのルートを持つ | ロードバランサー、踏み台サーバー |
| プライベートサブネット | インターネットゲートウェイへの直接ルートを持たない | アプリケーションサーバー、DB |
ルートテーブル は、サブネットごとの通信の行き先を決める設定です。「どのサブネットが、どこ(インターネット・他のVPC・オンプレミス)へ通信できるか」は、ルートテーブルで制御します。
flowchart TD
subgraph VPC["VPC 10.0.0.0/16"]
subgraph AZa["AZ-a"]
Pub1["パブリックサブネット<br/>10.0.1.0/24"]
Priv1["プライベートサブネット<br/>10.0.11.0/24"]
end
subgraph AZc["AZ-c"]
Pub2["パブリックサブネット<br/>10.0.2.0/24"]
Priv2["プライベートサブネット<br/>10.0.12.0/24"]
end
end
設計の鉄則:可用性のため、パブリック・プライベートともに複数のAZにまたがってサブネットを作成します(第1章のMulti-AZの原則がここでも適用されます)。
読んでみよう
SAAでは「このリソースはパブリックサブネットに置くべきか、プライベートサブネットに置くべきか」を問う設問が頻出です。インターネットから直接アクセスされる必要があるものだけパブリック、それ以外(特にDB)は必ずプライベートに置く、が基本方針です。