クラウド
AWS VPC設計入門:CIDRの決め方とサブネットの分け方
- VPC 設計
- クラウド
- ネットワーク
- CIDR
- サブネット
- AWS
- アドレス計画
- アベイラビリティーゾーン
- VPC ピアリング
- Transit Gateway
- セカンダリ CIDR
- IPAM
- NAT ゲートウェイ
- パブリックサブネット
- プライベートサブネット
- Well-Architected
目次
AWS の VPC(Virtual Private Cloud)は、利用者が自分で作る仮想のネットワークで、論理的に切り離されている。AWS は、自社のデータセンターで運用する従来のネットワークによく似たものだと説明している。EC2 のサーバーなどは、VPC の中で動かす1。
VPC は、作った後でサブネットに分ける。サブネットは VPC のアドレスの範囲を区切った一部で、一つのアベイラビリティーゾーンの中に置かれる1。アベイラビリティーゾーンは、一つのリージョン(地理的に分かれた地域)の中にある、互いに独立した複数の場所である2。
VPC は画面の操作だけですぐに作れる。作るときにはアドレスの範囲を一つ決める必要があり、手近な値を入れても、その VPC は問題なく動く。
困るのは、しばらく経ってから、VPC をほかのネットワークとつなぎたくなったときである。つなぐ相手は、ほかの VPC のこともあれば、社内のネットワークや、ほかのクラウドのこともある13。ここで「つなぐ」とは、二つのネットワークのあいだに、プライベートなアドレスのまま通信できる経路を作ることをいう。範囲の決め方によっては、そのときになって、つなげないことが分かる。
AWS の VPC を作るとき、最初に何を決めればよいのか。アドレスの範囲は、なぜ後から直しにくいのか。サブネットは、どう分ければよいのか。
VPC の設計で最初に決めるのは、アドレスの範囲(CIDR)である。VPC の最初の範囲とサブネットの IPv4 の範囲は後から変えられず、つなぐ相手と範囲が重なると、そのままではつなげない。AWS の Well-Architected フレームワークは、将来の拡張とアベイラビリティーゾーンの数を見込み、つなぐ可能性のあるすべてのネットワークと重ならない範囲を、初めに割り当てるよう勧めている。サブネットは一つのゾーンに収まるので、ゾーンごとに用意する。
同じ範囲で作った二つの VPC をつなぐ
※ この節の数値は説明のための仮定で、測定値ではありません。
ある会社で、アプリのチームが app-vpc という VPC を、10.0.0.0/16 の範囲で作った。1 年後、分析のチームも、data-vpc という VPC を同じ 10.0.0.0/16 で作った。どちらのチームも、相手の範囲を確かめなかった。
その後、アプリから分析のデータを読みたくなり、管理者が二つの VPC を、ピアリング(二つの VPC を直接つなぐ接続)でつなごうとした。
- 管理者AWS1. app-vpc と data-vpc を、ピアリングでつなぎたい
- AWS管理者2. 範囲が重なっているので、作れない
- 管理者AWS3. app-vpc の範囲を 10.1.0.0/16 に変えたい
- AWS管理者4. 最初の範囲は、変えることも外すこともできない
- 管理者AWS5. 10.1.0.0/16 を、二つ目の範囲として足したい
- AWS管理者6. 足せる。ただし 10.0.0.0/16 が重なったままなので、ピアリングは作れない
残る方法は、重ならない範囲で新しい VPC を作り、app-vpc の中のサーバーやデータベースを移すか、アドレスを変換する仕組みや、特定のサービスだけを公開する仕組みを間に置いて、重なったままつなぐかである。どれも、data-vpc を作るときに相手の範囲を確かめていれば、要らなかった手間である。
VPC のアドレス:CIDR の範囲と、その中のサブネット
VPC を作るときには、使う IPv4 アドレスの範囲を CIDR の形で指定する。CIDR は、アドレスと「/」の後ろの数で範囲を表す書き方で、IPv4 のアドレスは 32 ビットの数で、10.0.0.0/16 なら、先頭の 16 ビットが固定で、残りの 16 ビットが自由に変わる。そのため 2 の 16 乗、つまり 65,536 個のアドレスを含む。数が大きいほど範囲は狭い。VPC に指定できる大きさは、/16(65,536 個)から /28(16 個)までである4。範囲は、RFC 1918 が社内などで使うために定めたプライベートアドレスの三つの範囲(10.0.0.0/8 など)から選ぶよう、AWS は勧めている4。ただし 172.17.0.0/16 は SageMaker AI など一部の AWS のサービスが使うので、ぶつからないように VPC には使わないことを求めている4。
サブネットの範囲は、VPC の範囲の中から、互いに重ならないように切り出す5。各サブネットでは、先頭の四つと最後の一つのアドレスを AWS が予約するため、サーバーなどには割り当てられない。たとえば /24(256 個)のサブネットで使えるのは 251 個である5。
後から変えられない範囲と、後から足せる範囲
VPC を作ったときの最初の範囲は、後から変えることも外すこともできない46。サブネットの IPv4 の範囲も変えられない6。
一方、重ならない範囲を、二つ目以降の範囲(セカンダリ CIDR)として足すことはできる。範囲の数は、最初の範囲を含めて、既定では一つの VPC に五つまでである7。この機能は 2017 年 8 月に加わり、AWS はそのとき、これからは必要な分だけを割り当て、後で広げればよいと説明した8。
ただし、範囲を足しても、最初の範囲がほかのネットワークと重なっているという問題は消えない。足した重ならない範囲は、private NAT ゲートウェイを置いてアドレスを変換する場所としては使える9。とはいえ、後で広げられることは、最初の範囲を重ならないように選ばなくてよい理由にはならない。
範囲が重なると、つなげない
VPC をほかのネットワークとつなぐときは、サブネットの経路表(ルートテーブル)に、相手の範囲あての通信をその接続へ送る経路を書く。たとえば VPC が 10.0.0.0/16、社内のネットワークが 172.16.0.0/16 なら、経路表は次のようになる。
| 宛先 | 送り先 |
|---|---|
| 10.0.0.0/16 | VPC の |
| 172.16.0.0/16 | 社内への |
宛先が 172.16.1.20 の通信は 2 行目に当たり、社内へ送られる。宛先が VPC の範囲に入る通信は、1 行目の local の経路で、VPC の中で届けられる10。local より狭い範囲の経路も書けるが、その宛先は VPC の中のサブネットに限られる11。そのため、社内も 10.0.0.0/16 を使っていると、社内のそのアドレスあての通信を社内へ送る経路は書けず、通信は社内に届かない。重なりで困るのは、このようにプライベートなアドレスのまま通信する場合である。インターネット上の相手と公開のアドレスでやりとりする通信は、影響を受けない。
範囲が一致する VPC や、一部でも重なる VPC のあいだには、ピアリングを作れない。VPC に範囲が複数あるときは、そのうち一つでも重なれば作れない12。
多くの VPC をまとめてつなぐ Transit Gateway も、範囲が一致する VPC や、範囲が重なる VPC のあいだの経路を扱わない13。重なる VPC を Transit Gateway に接続すること自体はできるが、後から接続した VPC の経路は、Transit Gateway の経路表に伝わらない13。
AWS の Well-Architected フレームワークは、ピアリング、Transit Gateway、VPN(インターネット越しの暗号化された接続)のどれでつなぐ場合も、VPC どうしの範囲は重なってはならないとしている。重なってしまった場合は、新しい範囲に移るか、アドレスを変換する private NAT ゲートウェイや、アドレスに頼らずに特定のサービスだけを公開する AWS PrivateLink を使う3。AWS のプリンシパル・ソリューションアーキテクト Brett Looney は 2022 年に、重なりは会社の買収でよく起きると書き、長い目で見れば安く簡単なので、できる限りアドレスを付け直すよう強く勧めている9。
最初に決めること:重ならず、成長を見込んだアドレス計画
ネットワークの構成を計画するときの最初の一歩は、アドレス空間そのものを決めることである。Well-Architected フレームワークの信頼性の柱は、そう位置づけたうえで、アドレスの計画に二つのことを求めている6。
- 成長とゾーンを見込む。 VPC の範囲は、将来の拡張と、複数のアベイラビリティーゾーンに置くサブネットの分まで入る大きさにする。ただし、見込みをはるかに超えた大きすぎる範囲も、ほかのネットワークと重なりやすくなるので避ける。一方で、伸びが読めないときは、作り直しを避けるために大きめの範囲を取ることも勧めている6。
- 重ならないようにする。 社内のネットワークや、ほかのクラウドで使っている範囲を VPC に使わない。後でそれらとつなぐときに重なるからである。誰がどの範囲を使っているかを、表計算のような手作業で管理することにも頼らない3。
複数の VPC の設計を扱う AWS のホワイトペーパーも、アドレスの計画と管理は欠かせないとし、計画には社内とクラウドの両方と、新しいリージョンや買収のような将来の拡張を含めるよう書いている。そのうえで、隔離したネットワークのように、あえて範囲を重ねる場合は、経路とセキュリティと費用への影響を承知して決めるよう求めている14。手作業の管理に代わる仕組みとして、AWS は 2021 年 12 月に、VPC へのアドレスの割り当てを自動で行う IPAM(IP Address Manager)を公開した15。
サブネットは、アベイラビリティーゾーンごとに分ける
AWS では、一つのサブネットは一つのアベイラビリティーゾーンに収まり、ゾーンをまたげない。AWS は、リソースを別々のゾーンに置けば、一つのゾーンの障害からアプリを守れると説明している16。そのため、複数のゾーンを使うには、ゾーンごとにサブネットを作る。
サブネットには、役割の違いもある。インターネットゲートウェイ(VPC とインターネットの出入り口)への経路があるサブネットをパブリックサブネット、無いサブネットをプライベートサブネットと呼ぶ。どちらになるかは、サブネットの経路の設定で決まる16。たとえば、外に公開するサーバー用と、データベース用の二種類を三つのゾーンに置けば、サブネットは六つになる。VPC の範囲は、この六つが入り、さらに後でサブネットを増やせる大きさにしておく。
プライベートサブネットからインターネットに出るには、アドレスを変換して外へ通す NAT ゲートウェイを通る。NAT ゲートウェイは一つのゾーンに作られるので、AWS は、ゾーンごとに一つ作り、各ゾーンのリソースが同じゾーンの NAT ゲートウェイを使うよう勧めている17。2025 年 11 月からは、ゾーンをまたいで自動で広がる NAT ゲートウェイも選べる18。
サブネットがゾーンをまたげるかは、クラウドによって違う。Azure のサブネットは、すべてのゾーンにまたがる19。ネットワークの専門家 Ivan Pepelnjak は 2021 年に、Azure のようにサブネットの中も IP で経路を決める作りなら、ゾーンをまたいでも障害を分ける点では差がなく、違いはアプリの置きやすさに出ると書いている19。
アドレスの範囲は、最初に重ならないように決める
VPC の設計で最初に決めるのは、アドレスの範囲である。最初の範囲とサブネットの IPv4 の範囲は後から変えられない。範囲を足すことはできるが、ほかのネットワークとの重なりは、足しても消えない。重なった VPC はピアリングを作れず、Transit Gateway もそのあいだの経路を扱わない。
そのため AWS は、将来の拡張とゾーンの数を見込み、社内やほかの VPC と重ならない範囲を、初めに割り当てるよう勧めている。サブネットはゾーンごとに作り、その数と大きさも、範囲の中に見込んでおく。
出典19件
-
AWS「What is Amazon VPC?」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html ↩ ↩2 ↩3
-
AWS「Regions and Zones」(Amazon EC2 ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html ↩
-
AWS「REL02-BP05 Enforce non-overlapping private IP address ranges in all private address spaces where they are connected」(Well-Architected 信頼性の柱)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_non_overlap_ip.html ↩ ↩2 ↩3
-
AWS「VPC CIDR blocks」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html — 大きさの範囲、最初の範囲を外せないこと、既存の範囲の大きさを変えられないこと。 ↩ ↩2 ↩3 ↩4
-
AWS「Subnet CIDR blocks」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/subnet-sizing.html — 予約される五つのアドレス。 ↩ ↩2
-
AWS「REL02-BP03 Ensure IP subnet allocation accounts for expansion and availability」(Well-Architected 信頼性の柱)2026年10月17日取得. https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_network_topology_ip_subnet_allocation.html ↩ ↩2 ↩3 ↩4
-
AWS「Add or remove a CIDR block from your VPC」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/add-ipv4-cidr.html — 上限は引き上げられる。 ↩
-
AWS「Amazon Virtual Private Cloud (VPC) now allows customers to expand their existing VPCs」2017年8月29日、2026年10月17日取得. https://aws.amazon.com/about-aws/whats-new/2017/08/amazon-virtual-private-cloud-vpc-now-allows-customers-to-expand-their-existing-vpcs/ ↩
-
Brett Looney「Connecting Networks with Overlapping IP Ranges」AWS ブログ、2022年6月16日、2026年10月17日取得. 著者は AWS の Principal SA。REL02-BP05 が関連文書に挙げる。 https://aws.amazon.com/blogs/networking-and-content-delivery/connecting-networks-with-overlapping-ip-ranges/ ↩ ↩2
-
AWS「Route priority」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/route-tables-priority.html ↩
-
AWS「Example routing options」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/route-table-options.html — local より狭い経路。 ↩
-
AWS「How VPC peering connections work」(Amazon VPC ピアリングガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html ↩
-
AWS「Amazon VPC attachments in AWS Transit Gateway」2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpc-attachments.html ↩ ↩2
-
AWS「Building a Scalable and Secure Multi-VPC AWS Network Infrastructure」AWS Whitepaper、2024年4月17日、2026年10月17日取得. https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html ↩
-
AWS「Amazon Virtual Private Cloud (VPC) announces IP Address Manager (IPAM) to help simplify IP address management on AWS」2021年12月1日、2026年10月17日取得. https://aws.amazon.com/about-aws/whats-new/2021/12/amazon-virtual-private-cloud-vpc-announces-ip-address-manager-ipam/ ↩
-
AWS「Subnets for your VPC」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html ↩ ↩2
-
AWS「NAT gateway basics」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-basics.html — ゾーン単位の NAT ゲートウェイ。 ↩
-
AWS「Regional NAT gateways for automatic multi-AZ expansion」(Amazon VPC ユーザーガイド)2026年10月17日取得. https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateways-regional.html / 提供開始 2025年11月19日(AWS What’s New). https://aws.amazon.com/about-aws/whats-new/2025/11/aws-nat-gateway-regional-availability/ ↩
-
Ivan Pepelnjak「Virtual Networks and Subnets in AWS, Azure, and GCP」ipSpace.net、2021年2月23日、2026年10月17日取得. 著者は ipSpace.net の独立ネットワークアーキテクト(1990年から設計・執筆)。 https://blog.ipspace.net/2021/02/vpc-subnets-aws-azure-gcp/ ↩ ↩2
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。