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 全体のアドレス設計VPC10.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

VPC はリージョンの中に作り、サブネットはその中の1つのアベイラビリティーゾーンに置きます。VPC がゾーンをまたげるのに対し、サブネットはまたげません。だから高可用性が要る構成では、同じ役割のサブネットを複数のゾーンに並べます。

プライベートサブネットのサーバーからインターネットへ出たいとき、たとえば OS の更新パッケージを取りに行くときは、NAT ゲートウェイをパブリックサブネットに置いて、そこを経由させます。外からは入れないが中からは出られる、という片方向の通り道です。オンプレミスでプロキシサーバーを置いたのと同じ発想です。

試験ではこう出る

CLF では VPC の細かい設定は問われません。問われるのは役割の対応付けです。次の言い換えを覚えておくと選べます。

  • 「AWS 上に論理的に隔離された自分専用のネットワークを作りたい」 — VPC
  • 「インターネットから直接アクセスさせたくないリソースを置く」 — プライベートサブネット
  • 「VPC をインターネットに接続するコンポーネントはどれか」 — インターネットゲートウェイ
  • 「プライベートサブネットのインスタンスから外向きの通信だけ許可したい」 — NAT ゲートウェイ
  • 「サブネットがパブリックかどうかを決めるものは何か」 — ルートテーブルの経路

引っ掛けとしてよく混ざるのが、インターネットゲートウェイと NAT ゲートウェイの取り違えです。双方向に通したいなら IGW、中から外だけなら NAT と覚えます。

まとめ

  • VPC はクラウドの中に作る自分専用の LAN で、リージョン単位で作る
  • サブネットは VPC を区切ったもので、1つのアベイラビリティーゾーンに属する
  • パブリックとプライベートの違いはルートテーブルの経路で決まる
  • インターネットゲートウェイは双方向の出入口、NAT ゲートウェイは外向き専用の通り道
生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア
編集 LuaGate編集部

復習ミニクイズ

VPC 内のあるサブネットを、インターネットから直接アクセスできる「パブリックサブネット」にしたいです。必要なことは次のどれですか。