Public SubnetとPrivate Subnetの判定問題、3つのチェックポイント

AWS

Subnet判定は暗記ではなく手順で解ける

SAA-C03のVPCまわりで、Public Subnet / Private Subnet の判定は「言葉は知ってるのに、問題文になると迷う」代表格です。理由はシンプルで、現場でも試験でも「インターネットに出られる=Public」と短絡しやすいから。

でもAWS公式ドキュメントの定義は、もう少し機械的です。結論から言うと、Subnetの種別はルートで決まる。そして、判定問題で取りこぼしを減らすには、見る順番を固定するのが一番ラクです。

この記事では、Public/Private Subnetを判定するための3つのチェックポイントを、問題の読み方に落とし込んで整理します。


SAA-C03対策で評価の高いUdemy講座をまとめて確認できます。👇

前提整理:Public/Privateを決めるのはルーティング

まず大前提として、AWSは「Subnetのタイプはルーティング設定で決まる」と説明しています。たとえばPublic Subnetは「インターネットゲートウェイへの直接ルートがあるSubnet」、Private Subnetは「インターネットゲートウェイへの直接ルートがないSubnet」です。

さらに、VPCでは各Subnetは必ずルートテーブルに関連付けられ、そのルートテーブルが通信経路を制御します。

ここまでを試験対策の言葉に翻訳するとこうなります。

  • 「Public/Private Subnetの判定」は、そのSubnetに紐づくルートテーブルを読む問題
  • 「通信できるかどうか」は、ルートのほかにIP付与やセキュリティ設定も関わる
  • だからこそ、判定と到達性確認を分けて考えると迷いが減る

3つのチェックポイント:判定の手順を固定する

ここから本題です。判定問題で見るべきポイントを、順番込みで3つにまとめます。

チェックポイント:ルートテーブルにIGW宛てのデフォルトルートがあるか

最初に見るのはここです。AWS公式は「SubnetがIGWへのルートを持つルートテーブルに関連付くならPublic、持たないならPrivate」と明言しています。

問題文や図でよく出るのは次の形です。

  • IPv4なら 0.0.0.0/0 → igw-...
  • IPv6なら ::/0 → igw-...

このデフォルトルートの宛先がInternet Gatewayなら、そのSubnetはPublicとして扱うのが基本線です。

逆に、0.0.0.0/0NAT GatewayNAT Instance を指している場合、そのSubnetは「外へ出る経路はある」ものの、IGWへ直接は出ていないのでPrivate側の典型です(このあと例で整理します)。NATの役割は「Private Subnetのインスタンスが外部へ接続できるようにする」ことです。

ここでのコツ:
「デフォルトルートがあるか」ではなく、**“どこに向いているか”**を見る。

チェックポイント:VPCにIGWがアタッチされているか

ルートテーブルに igw-... が出てきても、そもそもVPCにIGWが存在し、アタッチされていなければ成立しません。IGWはVPCにアタッチして使う前提のコンポーネントで、外部への接続に関わる基本要素です。

試験では、次のような引っかけが起きがちです。

  • ルートに igw-... がある風に見えるが、VPC側の記述で「IGW未アタッチ」
  • あるいは「ルートはあるが、実は別VPCのIGW」など構成がズレている

現実の構築でも同じで、「ルートだけ作ったつもり」になっていると通信できません。判定の確度を上げるために、IGWの存在を軽く確認する癖をつけると安定します。

チェックポイント:そのSubnetのリソースがインターネット到達できる条件を満たしているか

ここが一番混乱ポイントです。SubnetがPublicかどうかと、EC2がインターネットへ到達できるかは別問題になります。

AWSは、Public Subnetの例で「インターネットゲートウェイ経由で通信するには、インスタンスにパブリックIPまたはElastic IPが必要」と説明しています。

つまり、判定問題の読み替えはこうです。

  • Public Subnet判定:IGWへのルートがあるか
  • インターネット到達性:パブリックIPv4/EIPやIPv6付与、さらにセキュリティグループやNACLの許可があるか

SAA-C03の文脈だと、ここで問われやすいのは「Public Subnetなのに、なぜインターネットに出られないのか」といった原因切り分けです。Subnet判定ができたうえで、次の確認に進めるかがポイントになります。

よくある落とし穴をまとめます。

  • ルートはIGW向きだが、EC2がプライベートIPしか持っていない
  • ルートはIGW向きだが、セキュリティグループのアウトバウンドやNACLで遮断している
  • 逆にPrivate Subnetでも、NAT経由でアウトバウンド通信はできる(ただし外から開始される通信は基本的にできない)

ここでのコツ:
「Public/Privateの判定」はルートで即決し、
「通信できるか」はIP付与とセキュリティで別チェックにする。


典型パターン:3点チェックを当てはめて迷いを消す

ここでは、問題で見かける典型構成を「チェックポイント」で機械的に処理してみます。

パターン:Public Subnetの基本形

  • Subnetのルートテーブル:0.0.0.0/0 → IGW
  • VPCにIGWがアタッチ済み
  • EC2にPublic IPv4またはEIPが付与されている

このときSubnetはPublicです。ドキュメントでも「ルートテーブルにIGWへのルートがあるSubnetがPublic」と説明されています。

なお、AWSのデフォルトVPCは「IGWがあり、デフォルトSubnetはPublic」とされています。デフォルトSubnetがPublic扱いになる理由も、メインルートテーブルがIGWへインターネット向けトラフィックを送るためです。

パターン:Private SubnetでNAT Gatewayを使う

  • Public Subnet側:0.0.0.0/0 → IGW(ここにNAT Gatewayを置く)
  • Private Subnet側:0.0.0.0/0 → NAT Gateway

この構成では、Private Subnetのリソースは直接IGWへは行かないのでPrivate判定です。一方で、NAT Gatewayにより「外部へ接続できるが、外部から開始される接続は受けない」という性質になります。

試験でありがちな誤解は「インターネットに出られるからPublic」。ここは逆で、NAT経由で出られるのはPrivateの典型として押さえると整理しやすいです。

パターン:インターネットに出ない隔離Subnet

  • ルートテーブルに 0.0.0.0/0 がない
  • あるのは VPC CIDR → local と、必要ならVPCエンドポイントやピアリングなど

これは「Private」というより、実務では「Isolated Subnet」と呼ぶことが多い構成です。AWS公式も、ルートテーブルで多様なサブネット構成が作れることに触れています。

SAA-C03だと、例えば「RDSは外部公開不要なので隔離寄りに置く」といった設計意図の話に繋がります。ここでも判定の入口はルートテーブルです。


学習の進め方:判定問題の解き方とUdemy活用例

演習で伸びやすいコツは、毎回同じ順番でメモすることです。おすすめはこのテンプレです。

  • そのSubnetに関連付くルートテーブルはどれか
  • 0.0.0.0/0::/0 の宛先は何か
  • IGWはVPCにアタッチされているか
  • EC2が通信できる条件は満たすか(Public IP/EIP、SG、NACL)

このテンプレで解くと、引っかけの多くが「どのルートテーブルを見ているか」「IGWとNATを混同していないか」「Subnet判定と到達性を混ぜていないか」に分解されます。

また、VPCは文章だけだとつまずきやすいので、体系的に図と一緒に学ぶのが相性が良いです。もし独学で点が安定しない場合は、VPCのルーティングとNAT、IGWの関係をハンズオン込みで整理できるUdemy講座を「教材の一例」として挟むのもありです。


    SAA-C03対策で評価の高いUdemy講座をまとめて確認できます。👇

    まとめ:Public/Private Subnetはこの3点で判定する

    Public Subnet/Private Subnetの判定は、暗記よりも「見る順番」を固定すると安定します。

    • ルートテーブルにIGW宛てのデフォルトルートがあるかで、Public/Privateの入口が決まる
    • IGWがVPCにアタッチされているかを確認すると、引っかけに強くなる
    • Subnet判定とインターネット到達性は別問題で、Public IP/EIPの有無などは次のチェックに回す

    この3点セットで整理できると、VPCの設計問題でも「どこに何を置くべきか」が読みやすくなります。SAA-C03の学習では、まずルートテーブルを読める状態を作るのが近道です。

    タイトルとURLをコピーしました