この記事について
本記事は、2020年公開の AWS Black Belt「Amazon VPC」の資料・動画をもとに、自身の復習も兼ねて初心者向けに要点を整理したものです。
Black Beltの内容は非常に充実していますが、動画は長く情報量も多いため、これからAWSやVPCを学び始める初学者にとっては少しハードルが高く感じられるかもしれません。
そこで本記事では、AWS学習の入口として、VPCの基礎をできるだけ分かりやすく構成しています。
最新仕様は変更されることがあるため、最終確認はAWS公式ドキュメントを参照してください。
AWS学習の最初の壁
- VPCって結局なに?
- サブネットって何のために分けるの?
- ルートテーブル / IGW / NAT / Security Group / NACL が全部似て見える…
ここで一度つまずくと、EC2・RDS・ALB・ECSなど個別のサービスを学んでも全体的にぼんやりしがちです。
この記事では、AWS Black Beltの「Amazon VPC」回をベースに、初心者向けに噛み砕いてお伝えします。
この記事のゴール
この記事を読み終わるころには、少なくとも次がつながる状態を目指します。
- VPCが「何をするためのものか」が言える
- パブリック/プライベートサブネットの違いが説明できる
-
IGW / NAT / ルートテーブル / SG / NACLの役割が区別できる - CLF(Cloud Practitioner)やSAA(Solution Architect Associate)でよく問われる論点が見える
1.本記事の前提(後ろの章で詳しく説明します)
VPCは一言でいうと、AWS上に作る自分専用の仮想ネットワークです。
AWS上でも、他の利用者と論理的に分離された安全なネットワーク空間を作るための仕組みとして使われます。
VPCでは主に、以下を自分で設計できます。
- IPアドレスレンジ(CIDR)
- サブネット分割
- 通信経路(ルート)
- インターネット接続の有無
- セキュリティ制御
- オンプレ接続方法(VPN / 専用線など)
つまり、VPCは「EC2を置く場所」ではなく、
EC2やRDSなどを安全に配置・接続するための土台(ネットワーク) です。
VPC関連の用語は抽象度が高いので、用語が多く、最初はイメージしづらいかもしれません。
なので、最初はこの例えでイメージを掴んでください。
- VPC = 建物全体(敷地)
- AZ = 別棟(耐障害性のために分かれている)
- Subnet = 部屋(用途ごとの区画 Public/Private)
- Route Table = 部屋の道案内(Subnetに紐づく)
- Internet Gateway (IGW) = 正面玄関
- NAT Gateway = 裏口(Privateから外へ出るため)
- Security Group (SG) = 部屋の中の各機器の個別ロック(ALB / EC2 / RDS などに付与)
- Network ACL (NACL) = 部屋の入口ゲート(Subnet単位)
このイメージを持った上で、以下の図を見てください。
この図で見てほしいポイント
- Public Subnet は IGW 側へ出られる
- Private Subnet は NAT 経由で外へ出る(直接IGWには出ない)
この図のようなシステムを構成する土台となるのがVPCです。
2. VPCの学習
オンプレの「機器」ではなく、クラウドの「機能」を組み合わせる
VPC学習でやることは、「コンポーネントの役割と組み合わせ方を理解する」こと です。
VPCは、先ほどの図のようにサブネット・ルートテーブル・IGW・NAT Gateway・VPC Endpoint・VPN・PrivateLink などの部品を組み合わせて設計します。(図にないものもありますが)
最初は全部覚えなくてOKです。
まずはこの順番で理解を進めると覚えやすいです。
- VPC(CIDR)
- サブネット(AZ)
- ルートテーブル
- IGW / NAT
- SG / NACL
3. 最初に覚えるべき“最小構成”
VPCの基本構成は、次の流れで考えると分かりやすいです。
-
VPCを作る(例:
10.0.0.0/16) -
サブネットを作る(例:
10.0.1.0/24) - IGW + ルートで外と繋ぐ
- 必要ならプライベートサブネット + NATを足す
目指すべき“最初の完成形”
-
パブリックサブネット
- ALB / 踏み台 / 公開Web
-
プライベートサブネット
- アプリEC2 / RDS
-
NAT Gateway
- プライベート側からの外向き通信
この形を理解できると、SAAの問題文がかなり読みやすくなります。
4. CIDRの考え方
4-0. VPCとCIDRの関係
VPCを作成するとき、必ず最初に決めるのがCIDR(IPアドレス範囲)です。
VPCは「仮想ネットワーク」ですが、その中で使えるIPアドレスの範囲を決めなければ、リソースを配置することができません。
つまり、
CIDRは、VPCという“土地”の広さを決めるもの です。
たとえば、10.0.0.0/16 というCIDRを指定すると、
- そのVPCでは
10.0.0.0 ~ 10.0.255.255の範囲が使える - その範囲の中でサブネットを切り分けていく
という構造になります。
重要なのは、次の2点です。
- VPCのCIDRの中からサブネットのCIDRを切り出す
- サブネットの範囲はVPCのCIDRを超えられない
イメージとしては、
- VPC = 大きな土地(CIDRで広さを決める)
- サブネット = その土地を区画整理した区画
という関係になります。
まずは「VPCを作る = CIDRを決めること」と理解しておくと、
その後のサブネット設計やルート設計がスムーズになります。
4-1. CIDRって何?
CIDRは、IPアドレスのうち
- どこまでがネットワーク部か
- どこからがホスト部か
を表す書き方です。
例:10.0.0.0/16
-
/16= 先頭16ビットがネットワーク部 - 残りがホスト部
4-2. 初心者向けの覚え方
-
/16= 大きい土地(VPC全体) -
/24= 部屋(サブネット)
図の読み方
-
/16はVPC全体の“広いネットワーク空間” -
/24は用途別に切る“部屋(サブネット)”
4-3. 設計で地味に大事な注意点
- 最初に作ったVPCのCIDRは後から変更できない(追加CIDRは可能)
- 後から変更できないため、最初の設計が重要です。
(おまけ)サブネットのIPは全部使えない
/24 サブネット = 256個IP、に見えますが、AWSでは一部予約されます。
予約される代表例(/24)
-
.0ネットワークアドレス -
.1VPCルータ -
.2Amazon提供DNS -
.3AWS予約 -
.255ブロードキャスト相当(VPCでブロードキャストは使わない)
これは SAAの小ネタ として出ることもあります。
5. サブネット設計
「1つ作って終わり」ではなく「AZごとに作る」
VPCを作るとき、サブネットは AZごとに分ける のが基本です。
なぜAZごとに分けるの?
- 片方のAZが落ちても、もう片方で継続しやすい
- ALB / Auto Scaling / RDS Multi-AZ などに繋がる設計になる
例(東京リージョン)
-
ap-northeast-1aに Public / Private サブネット -
ap-northeast-1cに Public / Private サブネット
この構成が“それっぽいAWS構成”の基本になります。
6. ルートテーブル
“どこへ行くか”を決める交通整理役
ルートテーブルは、通信先に応じてどこへ流すか を決めるものです。
宛先IPアドレスを見て、どこへ転送するかを決めます。
6-1. まず覚えるべき3ルート
① VPC内通信
10.0.0.0/16 -> local
- VPC内の通信は
localで完結
② インターネットへ出す(パブリック)
0.0.0.0/0 -> igw-xxxx
- インターネットへの通信は、インターネットゲートウェイ(IGW)にルートを向ける
- パブリックサブネットで使う
③ プライベートから外へ出す(NAT)
0.0.0.0/0 -> nat-xxxx
- プライベートからインターネットへ通信するときは、パブリックサブネットのNATにルートを向ける
- プライベートサブネットで使う
6-2. 初心者のよくある混乱
「EC2にパブリックIPをつけたのに外に出られない」
よくある原因:
- IGW未アタッチ
- ルートテーブル未設定
- Security Group未許可
- パブリックIP未付与
VPCは“部品を作っただけ”では動かず、ルートや許可設定が必要です。
7. パブリックサブネット / プライベートサブネット
違いは“置く場所”ではなく“出口”
7-1. パブリックサブネット
-
0.0.0.0/0 -> IGWがある - 公開サービス(ALB/Webサーバなど)を置く
7-2. プライベートサブネット
- 直接IGWへ出ない
- 通常は
0.0.0.0/0 -> NATで外向きのみ許可 - DBや内部アプリを置く
前述と被りますが
“プライベート = インターネットに一切出られない”ではない です。
“直接は出ない(NAT経由で出る)” が正しい理解です。
8. Security Group と NACL
VPC初学者が高確率で混同するのがこの2つです。
8-1. Security Group(SG)
SGは、インスタンス(ENI)単位で適用する仮想ファイアウォールです。
ポイント
- 適用単位:インスタンス(ENI)
- 基本思想:許可(Allow)で管理
- ステートフル:戻り通信は自動で許可される
例
- Web公開するなら
80/tcpを0.0.0.0/0から許可 - SSHは自宅IPだけ許可、など
8-2. Network ACL(NACL)
NACLは、サブネット単位で適用するアクセス制御です。
ポイント
- 適用単位:サブネット
- Allow / Deny の両方書ける
- ステートレス:戻り通信も明示許可が必要
まずはこう覚える
- SG = サーバ単位のメイン防御
- NACL = サブネット単位の追加ガード
実務でも、まずSGを主軸に設計して、必要時にNACLを足すケースが多いです。
9. NAT Gatewayの正しい理解
“外から入るため”ではなく“中から出るため”
NAT Gatewayは、プライベートサブネット内のリソースが外部へ通信するための出口です。
Privateからきた送信元IPを変換してインターネットと通信する仕組みです。
典型ユースケース
- パッチ適用のために外部リポジトリへ出る
- 外部APIへアクセスする
- AWSサービス側と通信する(運用エージェント等)
この図で強調したいこと
- NAT Gatewayは プライベートから外に出るためのもの
- 外からプライベートEC2へ直接入るためのものではない※
- NATは通常、パブリックサブネット側に配置する
※外からプライベートEC2にアクセスする場合は、いくつか方法はありますが、踏み台EC2(Public)を用いてプライベートEC2にSSH接続するなどが一般的です。
10. VPC同士やオンプレをどう繋ぐ?
VPCは単体で完結するだけでなく、他のVPCやオンプレとも接続できます。
最初は細部よりも、どんな選択肢があるか を掴めば十分です。
VPC間接続の代表例
- VPC Peering
- AWS Transit Gateway
- AWS PrivateLink
オンプレ接続の代表例
- Site-to-Site VPN
- AWS Direct Connect
- TGW:複数VPC/オンプレをハブ型で整理
- Peering:小規模なVPC同士の直結
- PrivateLink:特定サービスを安全に公開・利用したいとき
- VPN / Direct Connect:オンプレとAWSを繋ぐ方法
おわりに
Black Beltの資料は情報量が多いので、
まずはこの記事で全体像を掴んでから、
必要に応じて公式資料を見返すのがおすすめです。
VPCやAWS資格学習向けに、要点整理サイトも作っています。
復習用途で使ってもらえれば嬉しいです。
気が向いたら他のサービスについても整理してみようと思います
(おまけ1)初学者向けの勉強順
VPCは一気に全部やると重いので、以下の順で進めると理解が深まりやすいです。
- VPC(CIDR)
- サブネット(AZ)
- ルートテーブル
- IGW / NAT
- SG / NACL
- VPC間接続(Peering / TGW / PrivateLink)
- VPN / Direct Connect(必要なら)
(おまけ2) 次に学ぶと理解がつながるもの
VPCを理解できると、次のサービスが一気に読みやすくなります。
- EC2(どのサブネットに置く?)
- ALB(どのサブネットに配置?)
- RDS(プライベート配置の意味)
- ECS/EKS(ネットワーク設計が前提)
- Lambda のVPC接続(なぜNATが必要になるのか)
VPCは地味ですが、AWS全体の“共通土台”です。
(おまけ3) CLF / SAAでどう出るか
1. CLF(Cloud Practitioner)で押さえるところ
- VPCの役割(論理的なネットワーク分離)
- パブリックサブネット / プライベートサブネットの違い
- Security Groupの基本イメージ
- NAT Gatewayのざっくり役割
CLFは細かい設定値より、「何のための機能か」 の理解が問われます。
2. SAA(Solutions Architect Associate)で押さえるところ
- CIDR設計(重複回避)
- AZをまたぐサブネット配置
- IGW / NAT / ルートテーブル の組み合わせ
- SG と NACL の違い
- Peering / TGW / PrivateLink の選択肢
SAAは「要件に対してどの構成にするか」を問われるので、
部品名だけでなく“組み合わせ”理解 が大事です。