FOR LEARNERS学習中向け

Gネットワーク on AWS段1入口層とは

VPC とは何か|サブネット・ルートテーブル・ゲートウェイ・セキュリティグループと NACL の関係を1枚で

VPC とは何か|サブネット・ルートテーブル・ゲートウェイ・セキュリティグループと NACL の関係を1枚で

VPC の設定画面を初めて開くと、VPC・サブネット・ルートテーブル・インターネットゲートウェイ・NAT ゲートウェイ・セキュリティグループ・ネットワーク ACL と、部品が7つ並びます。それぞれの説明は読めても、「どれがどれにつながっていて、パケットがどう通るか」が1枚の絵になっていないと、「なぜつながらないか」が分かりません。この記事は、ネットワークとは何かの「住所・経路・通過」の3つに、VPC の部品を当てはめます。

この記事の結論

  • VPC(Virtual Private Cloud)は、AWS の中に作る自分専用の仮想ネットワークです。住所の範囲(CIDR)を自分で決め、その中にサーバーを置きます。
  • 部品は「住所・経路・出入口・通過」の4つに分かれます。サブネットが住所の区画、ルートテーブルが経路、インターネットゲートウェイ/NAT ゲートウェイが出入口、セキュリティグループ/ネットワーク ACLが通過の門です。
  • パブリックとプライベートの違いは、サブネットの種類ではなく、ルートテーブルにインターネットへの経路があるかどうかです。
  • セキュリティグループはインスタンス単位・ステートフル・許可だけ。ネットワーク ACL はサブネット単位・ステートレス・許可と拒否。主に使うのはセキュリティグループです。
  • 「つながらない」は、この4つを経路 → 出入口 → 通過の順に確かめます。

VPC は「自分専用の仮想ネットワーク」で、住所の範囲を自分で決める

VPCは、AWS のリージョンの中に作る、自分だけの仮想ネットワークです。会社の LAN を AWS の中に作るものと考えると位置づけが掴めます。EC2 も RDS も、この VPC の中に置きます。

VPC を作るときに決めるのは、住所の範囲です。ネットワークとは何かで扱ったプライベート IP アドレスの範囲から、10.0.0.0/16 のようにCIDRで指定します。

/16 の読み方は「32 ビットのうち先頭 16 ビットがネットワーク部、残り 16 ビットがその中の各機器の番号」で、10.0.0.0/16 なら 10.0.0.0 〜 10.0.255.255 の 65,536 個のアドレスがこの VPC の範囲です。数字が大きいほど範囲が狭く、/24 なら 256 個です。

VPC の範囲は、あとで会社のネットワークや別の VPC とつなぐときに重ならないように決めます。学習用なら 10.0.0.0/16 で構いませんが、「重なると困る」ことだけは知っておいてください。

CHECK 1ここまでの確認

パブリックサブネットとプライベートサブネットは、何で決まる?

答えと解説

答え: 2. ルートテーブルにインターネットゲートウェイへの経路があるかどうか

サブネット自体に種類はありません。ルートテーブルに 0.0.0.0/0 → igw があればパブリック、無ければプライベートと呼んでいるだけです。

5つの部品の関係を1枚で

FOUR ROLES部品を4つの役割で

VPC の部品は住所・経路・出入口・門の4つに分かれる

  1. 住所

    サブネット — VPC の範囲を AZ ごとの区画に分ける

    10.0.1.0/24(AZ-a)、10.0.2.0/24(AZ-c)

  2. 経路

    ルートテーブル — 宛先ごとにどこへ送るか

    0.0.0.0/0 → igw があればパブリック、無ければプライベート

  3. 出入口

    インターネットゲートウェイ/NAT ゲートウェイ

    外と直接やり取り/内側から外へ出るだけ

  4. 門

    セキュリティグループ/ネットワーク ACL

    インスタンス単位・許可だけ/サブネット単位・許可と拒否

出典: Amazon VPC ユーザーガイド。パブリックとプライベートはルートテーブルで決まる
役割 部品 何を決めるか 一般のネットワークでの対応
住所の区画 サブネット VPC の範囲を、AZ ごとに小さく区切る LAN の中のセグメント
経路 ルートテーブル 各サブネットから、宛先ごとにどこへ送るか ルーター、デフォルトゲートウェイ
出入口 インターネットゲートウェイ、NAT ゲートウェイ インターネットとの出入り ルーターの WAN 側、家の Wi-Fi ルーターの NAT
通過の門 セキュリティグループ、ネットワーク ACL 通信を通すか止めるか ファイアウォール

サブネット: 住所の区画

サブネットは、VPC の住所の範囲を小さく区切ったものです。1つのサブネットは1つの AZ の中に置かれます。だから、複数の AZ にサーバーを分けて置きたければ、AZ ごとにサブネットを作ります。10.0.0.0/16 の VPC に、10.0.1.0/24(AZ-a)と 10.0.2.0/24(AZ-c)のように切るのが典型です。

各サブネットの先頭4つと末尾1つのアドレスは AWS が予約しているので、/24 で使えるのは 251 個です。

ルートテーブル: 経路

ルートテーブルは、「この宛先へは、ここへ送る」の表です。各サブネットに1つ結び付き、サブネットから出るパケットはこの表で次の行き先が決まります。

宛先 送り先 意味
10.0.0.0/16 local VPC の中は、直接届く(既定で入っている)
0.0.0.0/0 igw-xxxx それ以外(インターネット)は、インターネットゲートウェイへ

この2行目があるサブネットがパブリックサブネット、無いサブネットがプライベートサブネットです。パブリックとプライベートはサブネットの種類ではなく、ルートテーブルの中身で決まる。ここが一番の誤解ポイントです。

インターネットゲートウェイと NAT ゲートウェイ: 出入口

インターネットゲートウェイ(IGW)は、VPC とインターネットの間の出入口です。VPC に1つ付け、ルートテーブルからここへ経路を向けると、パブリック IP アドレスを持つインスタンスがインターネットと直接やり取りできます。

NAT ゲートウェイは、プライベートサブネットのインスタンスが「外へ出るだけ」のための出口です。パブリック IP を持たないインスタンスが、OS の更新やパッケージの取得でインターネットに出たいとき、NAT ゲートウェイが内側の住所を外側の住所に書き換えて出してくれます。外からは入れません。家の Wi-Fi ルーターと同じ役割で、NAT ゲートウェイ自体はパブリックサブネットに置きます。

NAT ゲートウェイには時間と転送量の料金がかかります。学習で作ったら、消し忘れに注意する部品の1つです。

セキュリティグループとネットワーク ACL: 通過の門

門は2種類あり、違いを表で持っておきます。

項目 セキュリティグループ ネットワーク ACL
付ける単位 インスタンス(正確には ENI) サブネット
書けるルール 許可だけ 許可と拒否
状態 ステートフル(行きを許可すれば帰りは自動で通る) ステートレス(行きと帰りを別々に書く)
ルールの評価 全ルールを見て、1つでも当たれば許可 番号の小さい順に見て、最初に当たったルールで決まる
既定 外からの通信は全部拒否 全部許可

日常的に使うのはセキュリティグループです。ネットワーク ACL は、「このサブネット全体で、特定の送信元を拒否する」のように、拒否を書きたいときの道具です。両方を細かく書くと、どちらで止まっているか分からなくなるので、理由がなければネットワーク ACL は既定のままにします。

SG VS NACL2種類の門

日常的に使うのはセキュリティグループ

セキュリティグループ

インスタンス単位

  • 許可のルールだけ書く
  • ステートフル。行きを許可すれば帰りは自動
  • 全ルールを見て、1つでも当たれば許可
  • 既定は外からの通信を全部拒否

ネットワーク ACL

サブネット単位

  • 許可と拒否を書ける
  • ステートレス。行きと帰りを別々に書く
  • 番号の小さい順に見て、最初に当たったルールで決まる
  • 既定は全部許可。理由がなければ既定のまま
出典: Amazon VPC ユーザーガイド

CHECK 2ここまでの確認

プライベートサブネットのサーバーが OS の更新でインターネットへ出るには、何が要る?

答えと解説

答え: 2. NAT ゲートウェイ(パブリックサブネットに置く)

パブリック IP を持たないサーバーが外へ出るだけなら NAT ゲートウェイです。内側の住所を外側に書き換えて出してくれ、外からは入れません。

パケットの通り道で考える

インターネットから、パブリックサブネットの Web サーバーへ HTTPS で来る通信は、次の順に通ります。

  1. インターネットゲートウェイに届く(出入口)
  2. サブネットのネットワーク ACL を通る(門1・既定なら素通り)
  3. インスタンスのセキュリティグループを通る(門2・TCP 443 の許可が要る)
  4. インスタンスの 443 番で待つプロセスに届く(窓口)

PACKET PATHパケットの通り道

インターネットから Web サーバーへは、この順に通る

  1. インターネットゲートウェイ

    出入口に届く

  2. ネットワーク ACL

    門1。既定なら素通り

  3. セキュリティグループ

    門2。TCP 443 の許可が要る

  4. 443 番のプロセス

    窓口に届く

返事はステートフルなので自動で通り、ルートテーブルに従って IGW から出る

返事は、セキュリティグループがステートフルなので自動で通り、ルートテーブルの 0.0.0.0/0 → igw に従ってインターネットゲートウェイから出ていきます。

プライベートサブネットのアプリサーバーが外へ出る通信は、ルートテーブルの 0.0.0.0/0 → nat に従って NAT ゲートウェイへ行き、そこで住所を書き換えられてインターネットゲートウェイから出ます。

「つながらない」ときは、ping と DNS で分かる「つながる」の仕組みの順番のうち、経路(ルートテーブルに行き先があるか)→ 出入口(IGW が VPC に付いているか、NAT がパブリックサブネットにあるか)→ 通過(セキュリティグループと ACL)の順に見ます。

CHECK 3ここまでの確認

セキュリティグループについて正しいのはどれ?

答えと解説

答え: 2. 許可だけを書き、行きを許可すれば帰りは自動で通る

セキュリティグループはインスタンス単位・許可だけ・ステートフルです。許可と拒否を番号順に評価するサブネット単位の門は、ネットワーク ACL です。

まとめ

VPC は、住所の範囲を自分で決める専用の仮想ネットワークです。部品は、サブネット(区画)・ルートテーブル(経路)・インターネットゲートウェイと NAT ゲートウェイ(出入口)・セキュリティグループとネットワーク ACL(門)の4つの役割に分かれます。パブリックとプライベートはルートテーブルで決まり、門は主にセキュリティグループを使います。次はS3 とは何かで、VPC の外にある「ファイルの置き場」を扱います。

参照ソース

SCOREこの記事の確認テスト

0/3問 正解

各章の「ここまでの確認」に答えると、ここに集まります。結果はこの端末のブラウザにだけ残り、サーバには送りません。

FAQよくある質問

パブリックサブネットとプライベートサブネットは、作るときに種類を選ぶのですか?

選びません。サブネット自体に種類はなく、そのサブネットのルートテーブルにインターネットゲートウェイへの経路(0.0.0.0/0 → igw)があればパブリック、無ければプライベートと呼んでいるだけです。だから、ルートテーブルを付け替えるとサブネットの性質が変わります。

セキュリティグループとネットワーク ACL は両方要りますか?

既定のネットワーク ACL は全部を許可しているので、最初はセキュリティグループだけで足ります。ネットワーク ACL は「このサブネット全体で、この送信元からの通信を拒否する」のようにサブネット単位で止めたいときに使います。両方を細かく書くと、どちらで止まっているか分かりにくくなるので、理由がなければセキュリティグループを主にします。

1つのサブネットで使えるアドレスが 5 つ少ないのはなぜですか?

AWS が各サブネットの先頭4つ(ネットワークアドレス・VPC ルーター・DNS・将来用)と末尾1つ(ブロードキャスト)を予約しているからです。/24(256 個)のサブネットなら、使えるのは 251 個です。

SAME TRACK同じ領域の記事

Cloud Practitioner(CLF-C02)の位置づけ|何ができる証明か、暗記にしない勉強の順番
Cloud Practitioner(CLF-C02)の位置づけ|何ができる証明か、暗記にしない勉強の順番 段1 入口とは
S3 とは何か|バケットとオブジェクト・ストレージクラス・公開設定を「ディスクではない置き場」で理解する
S3 とは何か|バケットとオブジェクト・ストレージクラス・公開設定を「ディスクではない置き場」で理解する 段1 入口とは
IAM とは何か|ユーザー・ロール・ポリシーを「誰が・何に・何をしてよいか」で読み解く
IAM とは何か|ユーザー・ロール・ポリシーを「誰が・何に・何をしてよいか」で読み解く 段1 入口とは