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

上級の解説は準備中のため、上級の内容を表示しています。

概要 — まず全体をつかむ

中級では VPC を「サブネットに小分けし、ルートテーブルとゲートウェイと門番で制御する」と捉えました。上級では、そのルートテーブルが何をキーに経路を選ぶか・出口が3種類あること・2種類の門番の性質差・区画どうしを閉域でつなぐ方法・重複しないCIDR設計まで、区画を「組み立てる」目線で掘り下げます。

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

詳細 — 1段階ずつ追う

ルートテーブルの最長一致

ルートテーブル(※1)は「宛先レンジ → ターゲット」の対応表です。要点は、複数のエントリに宛先が一致したときどれを選ぶかという規則にあります。

  • 原則は 最長一致(ロンゲストマッチ)——プレフィックスが長い(=範囲が狭い)経路ほど優先される
  • 例として 0.0.0.0/0 → NATゲートウェイ(全部の外向きはNAT経由)と 10.0.5.0/24 → ピアリング接続(この範囲だけ相手VPCへ)を同居させると、10.0.5.x宛だけがピアリングへ、それ以外はNATへ流れる
  • ターゲットには local(VPC内は無条件で到達)・インターネットゲートウェイNATゲートウェイピアリングエンドポイントなどが入る

「全体のデフォルトを引きつつ、特定レンジだけ上書きする」——最長一致だからこそ、この重ね書きが素直に表現できます。ネットワークの層 で見たルーティングの考え方が、そのままクラウドの区画内に持ち込まれているわけです。

3種類の出口

外との出口は用途で3つに分かれます。ここを取り違えると「隠すはずのDBが出られてしまう/出たいのに出られない」が起きます。

  • インターネットゲートウェイ(IGW) — パブリックサブネット用の双方向の出口。パブリックIPを持つインスタンスが外と直接やり取りできる
  • NATゲートウェイ — プライベートサブネット用。内から外へ出るときだけ通し、外からの新規接続は入れない。DBを公開せずに更新通信だけ許すのに使う
  • egress-onlyインターネットゲートウェイIPv6専用の外向き片方向の出口。IPv6はアドレスが枯渇しないためNAT(アドレス変換)の必要がなく、代わりに「外からの新規接続は塞ぐが、内から外へは出せる」専用装置が用意されている
アニメーション『NAT(プライベートIPを公開IPに変換)』を開く
NAT — 私設IPを1つの公開IPに変換して外へ家庭内ネットワーク(192.168.x.x)端末1(家の中)192.168.1.11端末2(家の中)192.168.1.12端末3(家の中)192.168.1.13ルーター(NAT)私設IP → 公開IPに付け替え戻りは変換表で送信元=203.0.113.5インターネットNAT変換表(ポート番号で「誰宛てか」を区別)内側(私設IP : ポート)外側(公開IP : ポート)192.168.1.11 : 52001203.0.113.5 : 40001192.168.1.12 : 49770203.0.113.5 : 40002192.168.1.13 : 51234203.0.113.5 : 400031つの公開IP(203.0.113.5)を家じゅうで共有。ポート番号が違うから戻りも取り違えない

なぜIPv6だけ別物か。NATはそもそも足りないIPv4を使い回すための変換で、その副作用として外からの入りを塞いでいました。IPv6ではアドレスが潤沢なので変換が要らず、「外からの入りを塞ぐ」という目的だけを取り出したのが egress-only です。仕組みの由来を追うと、名前の違いが腑に落ちます。詳しくは NATとポート を参照。

2種類の門番 — ステートフルとステートレス

門番も性質が根本から違う2種類があり、多層で重ねて使います。

  • セキュリティグループ(SG)インスタンス単位の門番。ステートフル(※2)で、いったん許可した接続の戻りの通信は自動で通る。書けるのは許可(allow)だけ
  • ネットワークACL(NACL)サブネット単位の門番。ステートレス(※3)で、往路と復路を別々に許可する必要がある。拒否(deny)も書けるので「この一部レンジだけ遮断」が可能

使い分けの定石は「通常の許可制御はSGで細かく・広域の遮断はNACLで粗く」。SGはステートフルなので戻りを気にせず書け、運用が素直です。NACLは往復を別々に書く手間があるぶん、特定レンジの明示的ブロックのようなSGでは書けない拒否を担います。この2枚を重ねるのが多層防御の基本形です。

区画どうしを閉域でつなぐ

VPCは孤立した区画ですが、他の区画やサービスとインターネットを経由せずつなぐ手段があります。

  • VPCピアリング — 2つのVPCを1対1で直結する。互いのプライベートIPで通信でき、トラフィックは外部を通らない。注意点としてCIDRが重複していると張れない(宛先が一意に決まらないため)
  • VPCエンドポイント/PrivateLink — マネージドサービス(ストレージやDBなど)へ、VPCの中から閉域で到達する入口。インターネットゲートウェイもNATも通らず、サービスへの通信が外に出ない
  • ピアリングは推移しない——AとB、BとCがつながっていても、AからCへは直接届かない(必要なら個別に張るかハブ構成にする)

「つながればいい」ではなく「経路を外に晒さずにつなぐ」のが閉域接続の狙いです。クラウド 上の本番構成では、DBやストレージへの通信をこうして閉域化するのが定石になっています。

CIDR設計と可用性

区画を組み立てる土台がアドレス設計です。中級で触れたCIDRを、設計の観点で深掘りします。

アニメーション『IPアドレスの構造(ネットワーク部とホスト部)』を開く
IPアドレスの構造 — 192.168.1.10 /24前半がネットワーク部(どこの町内か)/後半がホスト部(町内の何番地か)ネットワーク部(192.168.1)ホスト部(.10)192168110/24 = ここまで同じ町内サブネットマスク 255.255.255.0(255=ネットワーク部/0=ホスト部)2552552550ネットワーク部が同じ=同じ町内。町内なら直接、別の町へはルーター(出口)から届ける
  • 重複回避 — VPCのCIDRは、後でピアリングや社内ネットワークとつなぐ相手と重ならない範囲を最初に選ぶ。一度動かすと変更は困難なので、将来の接続先まで見越して割り当てる
  • サブネット分割 — VPCの /16 を、用途とAZごとに /24 などへ切り分ける。パブリック/プライベートを分け、さらにAZごとに別サブネットを用意する
  • 予約アドレス — サブネットの先頭・末尾の数個はクラウド側が予約するため、使える数は「2のべき−予約分」になる。ぎりぎりで切ると足りなくなる

そして可用性マルチAZ配置で確保します。1つのアベイラビリティゾーン(※4)に固めると、そのゾーン障害でサービスが丸ごと止まります。サブネットをAZごとに分け、同じ役割のサーバを複数AZに散らして置くことで、片方が倒れてももう片方で受けられる——区画設計と可用性は地続きです。

⚠️ 深いところの落とし穴

  • 最長一致の見落とし — 意図せず狭いレンジの経路が全体設定を上書きし、一部の通信だけ想定外の出口へ流れる
  • CIDR重複でピアリング不能 — 設計時に範囲がぶつかると、後からVPC同士をつなげない(アドレスの引き直しは大工事)
  • NACLのステートレス忘れ — 往路だけ許可して復路を塞ぎ、通信が片道で止まる(SGの感覚で書くと起きる)
  • 単一AZ集中 — すべてを1ゾーンに置き、ゾーン障害で全滅(マルチAZで緩和)
  • エンドポイント未使用 — サービスへの通信をNAT経由でインターネットに出してしまい、閉域化の利点と帯域を捨てる

理解度チェック

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

1. VPCのルートテーブルで宛先が複数の経路に一致するとき どれが選ばれる?

2. IPv6専用で、外からの新規接続は塞ぎつつ内から外へは出せる出口装置を何と呼ぶ?

3. セキュリティグループとネットワークACLの違いとして正しいのは?

4. すべての宛先に一致し、他に長い一致がなければ選ばれる「デフォルトルート」のCIDR表記を答えてください。

5. NATゲートウェイの通信の向きとして正しいのはどれ?

6. 2つのVPCをVPCピアリングで直結しようとしたが張れなかった。原因として最もありがちなのはどれ?

7. VPCのAとB、BとCがそれぞれピアリングで接続されている。AからCへはどうなる?

8. 1つのアベイラビリティゾーン(AZ)にサーバを固めて置くことの問題と、その対策として正しいのはどれ?