VPC — クラウドの中に持つ 自分専用の区画

概要 — まず全体をつかむ

クラウド は多くの利用者が同じ設備を共有します。その中で「ここからここまでは自分の場所」と塀で囲うのが VPC(Virtual Private Cloud)です。

詳細 — 1段階ずつ追う

これは何をする係?

VPC は、クラウドの中に持つ自分専用の区画——他の利用者と論理的に隔離された仮想ネットワークです(※1 論理的に隔離)。

たとえるなら、大きな共有地の中に塀で囲った自分の土地を持つイメージ。中に何をどう置くかは自分で決められ、外との出入り口も自分で管理します。

登場人物メモ:

  • ※1 論理的に隔離 — 物理的に別の機械ではなく、設定で仕切られて互いに見えない状態
  • ※2 サーバ — Webやデータベースなど、区画の中に置く働き手
この部分をもっと深く(中級

VPC は サブネットで小分けにします。区画をさらに仕切った小区画で、外との関係で2種類に分かれます。

  • パブリックサブネット — 外への出口へ向かう経路を持つ。外に出られる(Webサーバなど公開してよいものを置く)
  • プライベートサブネット — その経路を持たない。直接は外に出られない(DBサーバなど隠すものを置く)
アニメーション『VPCとサブネット(公開/非公開)』を開く
VPC — クラウドの中の自分専用の区画公開してよいものは上(パブリック)、隠すものは下(プライベート)に分けるインターネットインターネットゲートウェイVPC 10.0.0.0/16パブリックサブネット 10.0.1.0/24外に出られる(公開してよいものを置く)門番WebサーバNATゲートウェイ内→外は通す戻りの新規接続は入れないプライベートサブネット 10.0.2.0/24直接は外に出られない(隠すものを置く)門番DBサーバ双方向更新などで外へ門番=セキュリティグループ(許可ルール)。Webは上・DBは下、が定石

登場人物メモ:

  • ※1 サブネット — VPCをさらに小分けした区画
  • ※2 ルートテーブル — どの宛先の通信を どこへ流すかを決める案内表
  • ※3 インターネットゲートウェイ/NATゲートウェイ — 外への出口。前者は双方向、後者は内から外への一方向

仕事の流れ

  1. クラウドの中に自分の区画(VPC)を用意する
  2. 用途ごとに区画を小分けにする(公開用/非公開用)
  3. どこを外に見せ、どこを隠すかを決める
  4. 出入り口に門番を置き、通してよい通信だけ許可する
この部分をもっと深く(中級
  1. VPC全体のアドレス範囲を CIDR で決める(例 10.0.0.0/16)
  2. その中をサブネット(※1)に分割する(例 10.0.1.0/24 と 10.0.2.0/24)
  3. ルートテーブル(※2)で、各サブネットの通信の行き先を決める
  4. 外との出口として インターネットゲートウェイ/NATゲートウェイ(※3)を置く
  5. セキュリティグループ/NACL で、通してよい通信だけ許可する

なぜ分けるのか

すべてを1つの場所にまとめて外に晒すと、DBのような隠すべきものまで狙われます。

そこで、外から見えてよい Webサーバ は公開できる場所へ、外に出したくない DBサーバ(※2)は隔離した場所へ——と分けて置きます。公開してよいものと 隠すものを分ける、これが安全設計の第一歩です。

この部分をもっと深く(中級

CIDR はアドレス範囲の指定方法です。/16 は広い範囲、/24 は狭い範囲——数字が大きいほど区画は小さくなります。「どこまでが同じネットワークか」の考え方は、下の図が助けになります。

アニメーション『IPアドレスの構造(ネットワーク部とホスト部)』を開く
IPアドレスの構造 — 192.168.1.10 /24前半がネットワーク部(どこの町内か)/後半がホスト部(町内の何番地か)ネットワーク部(192.168.1)ホスト部(.10)192168110/24 = ここまで同じ町内サブネットマスク 255.255.255.0(255=ネットワーク部/0=ホスト部)2552552550ネットワーク部が同じ=同じ町内。町内なら直接、別の町へはルーター(出口)から届ける

門番は2種類あります。

  • セキュリティグループ — サーバ単位の門番。許可したい通信を書く(戻りは自動で通る)
  • NACL — サブネット単位の門番。許可も拒否も書け、行き帰りを別々に見る

そして外への出口は使い分けます。パブリックは インターネットゲートウェイで双方向に外とやり取り。プライベートは NATゲートウェイ経由で、内から外へ出るときだけ通します(外からの新規接続は入れない)。「Webはパブリック、DBはプライベート」——これが安全設計の定石です。

⚠️ うまくいかないとき

  • DBをうっかり公開 — 隠すべきものを外に出せる場所へ置いてしまう
  • 門番がゆるい — すべての通信を許可し、塀の意味がなくなる
  • 区画を分けない — 1つにまとめると、1か所破られたとき被害が全体に及ぶ
この部分をもっと深く(中級
  • CIDRの重複 — 後で別ネットワークとつなぐとき、範囲がぶつかって接続できない
  • 経路の付け間違い — プライベートに外向き経路を付けてしまい、隠すはずのDBが外に出られてしまう
  • 門番のゆるさ — セキュリティグループを全開放し、隔離の意味が消える
  • NATの入れ違い — 外からの新規接続まで通そうとして、公開すべきでないものを晒す

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. VPCを一言でいうと?

2. 公開してよいWebと、隠したいDBは どう置くのがよい?

3. VPC は何という英語の略か。英語3語で答えてください。

4. VPCは他の利用者と「◯◯的に隔離」された区画だと本文では表現している。物理的に別の機械ではなく設定で仕切ることを指す、◯◯に入る漢字2文字は?

5. VPCのイメージのたとえとして本文に近いのはどれ?

6. VPCの出入り口に置く「門番」の役割はどれ?

7. 区画を分けず、すべてを1つにまとめると起きやすい問題はどれ?

8. VPCの中を「小分け」にするのは、何のためか本文に近いのはどれ?