はじめに
このハンズオンでは、AWSを使って実際にネットワークを構築しながら、ネットワークグルーピングの基礎を学んでいきます。
「ネットワークグルーピング」と聞くと難しそうに感じるかもしれませんが、
実は私たちが普段使っているインターネットも、大きなネットワークをいくつかの小さなグループに分けて管理しています。
このハンズオンを通じて、その仕組みを体験的に理解できるようになります。
このハンズオンで学べること
- VPC(Virtual Private Cloud)の作成方法
- サブネットによるネットワークの分割
- CIDR記法の読み方と使い方
- IPアドレスの範囲計算の基本
前提知識
このハンズオンを始める前に、以下の知識があると理解がスムーズです。ただし、必須ではありませんので、分からない部分があっても進めていけば自然と理解できるようになっています。
- IPアドレスとは何か(大まかなイメージでOK)
- AWSアカウントの作成方法(既にアカウントをお持ちの方)
座学パート
ネットワークグルーピングとは?
実際の作業に入る前に、ネットワークグルーピングの基本概念を理解しておきましょう。
なぜネットワークを分けるのか
大きなオフィスビルを想像してみてください。
すべての部屋が一つの大きな空間だと、何かと管理が大変です。
というのもある程度の会社であれば基本的に部署を持ち、島分けをしてそれぞれの機能や場所ごとに分割します。
そこで、フロアや部署ごとに区切りを設けます。
ネットワークも同じで、大きなネットワークをいくつかの小さなグループに分けることをします。
分割することで以下のようなメリットが得られます。
- セキュリティの向上: 重要なデータを扱うサーバーは専用のグループに配置し、アクセスを制限できます
- 管理のしやすさ: グループごとに異なるルールを適用でき、トラブルの切り分けも容易になります
- 効率的なリソース利用: 必要なリソースを必要なグループに割り当てられます(AWSリソースについて詳しくない方はこちらへ)
※超大事!! VPCとサブネットの関係
AWSでは、以下の2つの概念でネットワークをグルーピングします。
-
VPC(Virtual Private Cloud)
- あなた専用の独立したネットワーク空間全体です。マンション全体のようなイメージです。
- この中であなた独自のネットワーク世界を作ることができます。
-
サブネット
- VPCの中をさらに細かく分けたネットワークのグループです。
- マンションの各階や各部屋のようなイメージです。
例えば、VPCで「10.0.0.0/16」という大きなネットワーク空間を確保し、その中に「10.0.0.0/18」「10.0.64.0/18」といった小さなサブネットを作成します。この数字の意味は次のセクションで詳しく説明します。
/16とかっていういわゆるCIDR記法については後続のトピックで解説します🙇
CIDR記法を理解しよう
先ほど出てきた「10.0.0.0/16」や「10.0.0.0/18」という表記は、CIDR(サイダー)記法と呼ばれるものです。
少し専門的に見えますが、ルールが分かれば簡単に理解できます。
CIDR記法の基本
CIDR記法は「IPアドレス/数字」という形式で表されます。
例: 10.0.0.0/16
- 10.0.0.0 の部分: ネットワークの開始アドレス
- /16 の部分: このネットワークの大きさを表す数字
これを知らないと話にならないIPアドレスの構成
- IPアドレスは
- ネットワーク部がある
- ホスト部がある
- 4バイトずつの区切って(10.0.0.0でいえば10とか0とかのこと)全体としては32ビットで表される
スラッシュの後ろの数字の意味
「/16」や「/18」といった数字は、ネットワーク部が何バイト目までか?を表す重要な指標です。
この数字から得られる重要なポイントは以下の2つです。
- 数字が小さいほど、使えるノード数は大きい (使えるIPアドレスが多い、ホスト部に割り当てられる数が多いともいえる)
- 数字が大きいほど、使えるノード数は小さい (使えるIPアドレスが少ない、ホスト部に割り当てられる数が少ないともいえる)
よく使われるサイズ
実際の開発でよく使われるサイズを表にまとめました。
| CIDR記法 | 使えるIPアドレス数 | 用途例 |
|---|---|---|
| /16 | 約65,000個 | VPC全体に適したサイズ |
| /18 | 約16,000個 | 大きめのサブネットに適したサイズ |
| /24 | 256個 | 標準的なサブネットのサイズ |
| /28 | 16個 | 小規模な用途や検証環境 |
IPアドレスの範囲を理解する
「10.0.0.0/18」という表記は、「10.0.0.0から10.0.63.255までの約16,000個のIPアドレスを含むネットワーク」という意味です。
計算のコツ:
- /18の場合、16,384個のIPアドレスを含みます(実際にはAWSが予約する分を除く)
- /16の場合、後ろ2つの数字が変化する範囲になります(例: 10.0.0.0〜10.0.255.255)
- サブネットを複数作る場合は、範囲が重複しないように計算します
注意点: 実際にAWSで使える数は、表示されている数より少し少なくなります。これは、AWSがネットワークの管理用に最初と最後のいくつかのアドレスを予約しているためです。
ハンズオンパート
VPCを作成する
それでは実際にAWSでVPCを作成してみましょう。ここからは画面の指示に従って操作していきます。
AWSマネジメントコンソールにログイン
- AWSマネジメントコンソールにアクセスします
- ログイン情報を入力してサインインします
VPCサービスを開く
- 画面上部の検索バーに「VPC」と入力します
- 検索結果から「VPC」を選択してクリックします
VPCを作成
- 左側のメニューから「VPC」を選択します
- 「VPCを作成」ボタンをクリックします
- 以下の項目を入力します
- 名前タグ: my-handson-vpc(このハンズオン用であることがわかりやすければ任意の名前でOK)
- IPv4 CIDRブロック: 10.0.0.0/16
- IPv6 CIDRブロック: IPv6 CIDRブロックなし
- テナンシー: デフォルト
最後に右下らへんにある「VPCを作成」ボタンをクリックします
作成完了の確認
VPCが正常に作成されると、緑色の成功メッセージが表示されます。VPC一覧に作成したVPCが表示されていることを確認しましょう。
サブネットを作成する
次に、作成したVPCの中にサブネットを作成します。今回は2つのサブネットを作成し、ネットワークをグループ化する感覚をつかみましょう。
1つ目のサブネットを作る
- 左側のメニューから「サブネット」を選択します
- 「サブネットを作成」ボタンをクリックします
- 以下の項目を入力します
- VPC: 先ほど作成した「my-handson-vpc」を選択
- サブネット名: my-handson-subnet1
- アベイラビリティーゾーン: ap-northeast-1a(東京リージョンの場合)
- IPv4 サブネット CIDRブロック: 10.0.0.0/18
ポイント: 10.0.0.0/18は、VPCの10.0.0.0/16の範囲内に収まっています。サブネットはVPCの範囲を超えることはできません。
2つ目のサブネットを作る
続けて、もう1つサブネットを作成します。画面を下にスクロールして「新しいサブネットを追加」をクリックします。
以下の項目を入力します:
- サブネット名: my-handson-subnet2
- アベイラビリティーゾーン: ap-northeast-1a
- IPv4 サブネット CIDRブロック: 10.0.64.0/18
重要: 2つ目のサブネットは 10.0.64.0/18 にします。これにより、1つ目のサブネット(10.0.0.0/18 = 10.0.0.0〜10.0.63.255)と範囲が重複しません。
- 「サブネットを作成」ボタンをクリックします
作成したサブネットの確認
サブネット一覧画面で、2つのサブネットが作成されていることを確認しましょう。
それぞれのCIDRブロックと使用可能なIPアドレス数も表示されています:
- my-handson-subnet1: 10.0.0.0/18(約16,384個のIP)
- my-handson-subnet2: 10.0.64.0/18(約16,384個のIP)
疑問に思われる方が結構いる部分なので
サブネットの切り方について補足すると
今回の場合
10.0.0.0/18でサブネット1をきっていますね
これはそのサブネットは
10.0.0.0~10.0.63.0までとれるということです
(ここについてさらに深掘りして聞きたい方はぜひともコメントください)
なので次のサブネットは
10.0.64.0で切り始めるわけです
作成したネットワークを理解する
これで基本的なネットワークグルーピングが完成しました。作成した構成を図で整理してみましょう。
構成図の説明
今回作成したネットワークは以下のような階層構造になっています。
VPC (10.0.0.0/16)
├─ サブネット1 (10.0.0.0/18) → 10.0.0.0 〜 10.0.63.255
└─ サブネット2 (10.0.64.0/18) → 10.0.64.0 〜 10.0.127.255
IPアドレスの分配
作成した各ネットワークで使えるIPアドレスを確認してみましょう。
| ネットワーク | CIDRブロック | 使用可能IP範囲 |
|---|---|---|
| VPC | 10.0.0.0/16 | 10.0.0.0 〜 10.0.255.255 |
| サブネット1 | 10.0.0.0/18 | 10.0.0.0 〜 10.0.63.255 |
| サブネット2 | 10.0.64.0/18 | 10.0.64.0 〜 10.0.127.255 |
重要な点: 各サブネットのIPアドレス範囲は重複していません。これがネットワークグルーピングの基本原則です。
サブネットの使い分け
実際の運用では、サブネットを以下のように使い分けることが一般的です:
- サブネット1(パブリック用途): Webサーバーなど、インターネットからアクセスされる必要があるリソースを配置
- サブネット2(プライベート用途): データベースなど、内部でのみ使用するリソースを配置
注意: 今回のハンズオンでは、サブネットの名前に「パブリック」「プライベート」とつけていませんが、実際にその機能を有効にするには、インターネットゲートウェイやルートテーブルの設定が必要です。
これについてはこの記事では触れません。
リソースの削除(クリーンアップ)
ハンズオンが完了したら、作成したリソースを削除して料金が発生しないようにしましょう。VPCとサブネットは基本的に料金がかかりませんが、今後の学習のために削除方法も覚えておくと良いでしょう。
重要: 削除は必ず「サブネット → VPC」の順番で行います。VPCを先に削除しようとするとエラーになります。
サブネットの削除
- 左側のメニューから「サブネット」を選択します
- 削除したいサブネット(my-handson-subnet1)を選択します
- 「アクション」→「サブネットを削除」を選択します
- 確認画面で「削除」と入力し、「削除」ボタンをクリックします
- 同じ手順でもう1つのサブネット(my-handson-subnet2)も削除します
VPCの削除
- 左側のメニューから「VPC」を選択します
- 削除したいVPC(my-handson-vpc)を選択します
- 「アクション」→「VPCを削除」を選択します
- 確認画面で「削除」と入力し、「VPCを削除」ボタンをクリックします
まとめ
お疲れ様でした!このハンズオンを通じて、以下のことを学びました。
学んだこと
- VPCとサブネットの概念: 大きなネットワークを小さなグループに分割する方法
- CIDR記法: ネットワークの範囲を表現する方法とその読み方
- 実践的な操作: AWSでVPCとサブネットを実際に作成する手順
- ネットワーク設計の基本: サブネットを重複なく配置する方法
【追記】よくある疑問
Q1: VPCは複数作成できますか?
A: はい、1つのAWSアカウントで複数のVPCを作成できます。
例えば、開発環境用と本番環境用で別々のVPCを作成することが一般的です。
Q2: サブネットは何個まで作れますか?
A: 1つのVPCに最大200個のサブネットを作成できます(デフォルト)。実際のプロジェクトでは、用途や可用性要件に応じて必要な数だけ作成します。
Q3: 10.0.0.0/16以外のCIDRブロックも使えますか?
A: はい、プライベートIPアドレス範囲(10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)であれば自由に設定できます。プロジェクトの規模に応じて適切な範囲を選択しましょう。
Q4: サブネットを後から追加できますか?
A: はい、VPC作成後もサブネットは自由に追加できます。ただし、既存のサブネットと重複しない範囲を指定する必要があります。
Q5: /18で切るのと/24で切るのはどう違いますか?
A: /18は約16,000個、/24は256個のIPアドレスを含みます。大規模なシステムでは/18、小規模なシステムでは/24を使うことが多いです。今回は学習用でどちらでもよくて、気分で/18を採用しました。
参考リソース
- AWS公式ドキュメント - VPC とは: https://docs.aws.amazon.com/vpc/
- CIDR計算ツール: https://www.ipaddressguide.com/cidr
- AWSアーキテクチャセンター: https://aws.amazon.com/architecture/



