AWS CLF(Cloud Practitioner)対策
VPC
VPC
このレッスンを終えると、VPC・サブネット・ルートテーブル・インターネットゲートウェイの4つが何をしているかを、自分の言葉で説明できるようになります。
自分でサーバーを建てたときのネットワーク
自宅やオフィスにサーバーを1台建てたときのことを思い出してください。まずルーターの下に LAN を作り、サーバーに 192.168.1.10 のようなプライベート IP を振りました。外から見えるようにするにはルーターでポート開放をして、グローバル IP からサーバーへ転送する設定を書きました。DB は外に出したくないので、別のセグメントに置くか、ポートを開けずに LAN の中だけで通しました。
AWS の Amazon Virtual Private Cloud (VPC) は、この「自分専用の LAN」をクラウドの中に作る機能です。やることは驚くほど同じで、名前だけが変わります。
4つの登場人物
| オンプレミスでやったこと | AWS での名前 | 役割 |
|---|---|---|
| 社内 LAN 全体のアドレス設計 | VPC | 10.0.0.0/16 のような自分専用のアドレス空間 |
| LAN をフロア別に切る | サブネット | VPC をさらに小さく区切ったもの。1つのアベイラビリティーゾーンに属する |
| ルーターの経路表 | ルートテーブル | どの宛先をどこへ流すかの表。サブネットに結び付ける |
| 回線とグローバル IP | インターネットゲートウェイ (IGW) | VPC をインターネットにつなぐ出入口 |
重要なのは、パブリックサブネットとプライベートサブネットの違いは名前ではなくルートテーブルで決まるという点です。サブネットに結び付いたルートテーブルに「0.0.0.0/0 はインターネットゲートウェイへ」という行があればパブリックサブネット、無ければプライベートサブネットになります。設定として別の種類のサブネットがあるわけではありません。
典型的な構成を階層で見る
- リージョン (東京など)
- VPC 10.0.0.0/16
- アベイラビリティーゾーン A
- パブリックサブネット 10.0.1.0/24 — ロードバランサー、踏み台
- プライベートサブネット 10.0.2.0/24 — アプリサーバー、データベース
- アベイラビリティーゾーン C
- パブリックサブネット 10.0.3.0/24
- プライベートサブネット 10.0.4.0/24
- アベイラビリティーゾーン A
- VPC 10.0.0.0/16
VPC はリージョンの中に作り、サブネットはその中の1つのアベイラビリティーゾーンに置きます。VPC がゾーンをまたげるのに対し、サブネットはまたげません。だから高可用性が要る構成では、同じ役割のサブネットを複数のゾーンに並べます。
プライベートサブネットのサーバーからインターネットへ出たいとき、たとえば OS の更新パッケージを取りに行くときは、NAT ゲートウェイをパブリックサブネットに置いて、そこを経由させます。外からは入れないが中からは出られる、という片方向の通り道です。オンプレミスでプロキシサーバーを置いたのと同じ発想です。
試験ではこう出る
CLF では VPC の細かい設定は問われません。問われるのは役割の対応付けです。次の言い換えを覚えておくと選べます。
- 「AWS 上に論理的に隔離された自分専用のネットワークを作りたい」 — VPC
- 「インターネットから直接アクセスさせたくないリソースを置く」 — プライベートサブネット
- 「VPC をインターネットに接続するコンポーネントはどれか」 — インターネットゲートウェイ
- 「プライベートサブネットのインスタンスから外向きの通信だけ許可したい」 — NAT ゲートウェイ
- 「サブネットがパブリックかどうかを決めるものは何か」 — ルートテーブルの経路
引っ掛けとしてよく混ざるのが、インターネットゲートウェイと NAT ゲートウェイの取り違えです。双方向に通したいなら IGW、中から外だけなら NAT と覚えます。
まとめ
- VPC はクラウドの中に作る自分専用の LAN で、リージョン単位で作る
- サブネットは VPC を区切ったもので、1つのアベイラビリティーゾーンに属する
- パブリックとプライベートの違いはルートテーブルの経路で決まる
- インターネットゲートウェイは双方向の出入口、NAT ゲートウェイは外向き専用の通り道
復習ミニクイズ
VPC 内のあるサブネットを、インターネットから直接アクセスできる「パブリックサブネット」にしたいです。必要なことは次のどれですか。