← ハンズオン一覧に戻る

AWS Hands-on / Networking

VPC をサブネットで区切る

大きなネットワークの箱である VPC の中を、用途ごとに区切る「サブネット」を 2 つ作成します。VPC のアドレス範囲を小さな区画に分けるという、AWS のネットワーク設計でいちばん基本となる考え方を体感します。

● Lv.1 AWS をはじめて触る人 ⏱ 所要 20〜40 分 コンソールのみで完結
01 — Prerequisites

はじめる前に

  • 必須AWS アカウントを持っていること
  • 必須マネジメントコンソールにサインインできること
  • 必須サブネットの土台となる VPC を用意できること(基本的な VPC を 1 つ作れれば十分です。細かい手順はここでは深く扱わず、ざっくり用意します)
  • あると良い「IP アドレスの範囲(CIDR ブロック)」という言葉をなんとなく聞いたことがある

※ コマンドラインや SSH などの操作は一切ありません。すべてブラウザのコンソール上で完結します。

02 — References

参照する公式ドキュメント

手順に迷ったときや、用語の意味を確かめたいときに開きましょう。

※ リンク切れの場合は、ページタイトルで検索してください。

03 — Background

背景・シナリオ

VPC は、AWS の中に確保したあなた専用の大きなネットワーク空間です。たとえば 10.0.0.0/16 の VPC なら、約 65,536 個の IP アドレスを持つ広いスペースになります。

ただ、この広い空間をそのまま 1 つのかたまりとして使うことはあまりありません。実際には 「サブネット」という小さな区画にいくつか分けて、用途ごとに使い分けます。今回はその第一歩として、VPC の中にサブネットを 2 つ作り、ネットワークを区画に分ける感覚をつかみます。

どうして VPC をそのまま使わず、わざわざサブネットに分けるの?

「インターネットに見せる区画/見せない区画」「障害に備えて場所を分けた区画」のように、役割やルールごとにネットワークを分けて管理したいからです。まずは“分けられる”こと自体を体験しましょう。

Goal

VPC(例:10.0.0.0/16)の中に、アドレス範囲が重ならないサブネットを 2 つ作成し、どちらも一覧で「Available(利用可能)」になっている状態にする。

04 — Architecture

つくる構成

VPC のアドレス範囲(例:10.0.0.0/16)を、2 つのサブネット(例:10.0.1.0/2410.0.2.0/24)に切り分けます。CIDR は VPC の範囲内で重ならなければ自由に決めて構いません。サブネットの中にサーバーなどはまだ置きません。

aws AWS Cloud
Region : ap-northeast-1(東京)
VPC : 10.0.0.0/16(例)
my-subnet-1
ap-northeast-1a
10.0.1.0/24
my-subnet-2
ap-northeast-1a
10.0.2.0/24
VPC の 10.0.0.0/16(約 65,536 個)の中から、10.0.1.0/2410.0.2.0/24(各約 256 個)を切り出して 2 つの区画にします。
※ 数値は一例です。VPC の範囲内で重ならなければ、CIDR は自由に決められます。
05 — Requirements

要件

以下の要件を満たすサブネットを作成してください。

No要件
1リージョンは「東京(ap-northeast-1)」を使用する。
2土台となる VPC を 1 つ用意する。すでにあればそれを利用し、なければ「VPC のみ」でざっくり作成する。VPC の CIDR は任意でよい(例:10.0.0.0/16)。
3その VPC の中にサブネットを 2 つ作成する。
4各サブネットの IPv4 CIDR は、VPC の範囲内で、かつ 2 つが互いに重ならないように自由に決める(例:10.0.1.0/2410.0.2.0/24)。
5各サブネットに名前タグ(例:my-subnet-1 / my-subnet-2)を付け、アベイラビリティーゾーンは ap-northeast-1a を選ぶ。
62 つのサブネットが「サブネット」一覧に表示され、状態が「Available(利用可能)」になっていることを確認する。
06 — Steps

構築の進め方

下のステップは「どの順で進めると迷いにくいか」の道しるべです。各ステップで「なぜそうするのか」を意識しながら進めると、理解が定着しやすくなります。

  1. マネジメントコンソールにサインインする

    ブラウザで AWS マネジメントコンソールにサインインします。画面右上のリージョン名をクリックして、「アジアパシフィック(東京)ap-northeast-1」になっていることを確認してください。

    リージョンを最初に決める理由

    サブネットも VPC もリージョンごとに作られます。「あとから見つからない」を防ぐため、最初に必ずリージョンをそろえておきましょう。

  2. 土台となる VPC を用意する

    VPC コンソールの左メニュー「お使いの VPC」を開き、使えそうな VPC があるか確認します(例:IPv4 CIDR が 10.0.0.0/16 の VPC)。あればそれをそのまま使います。

    無い場合は「VPC を作成」→「VPC のみ」を選び、VPC を 1 つざっくり作成します。CIDR は任意で構いません(例:10.0.0.0/16)。細かい設定は気にせず、サブネットを入れる「器」を 1 つ用意できれば十分です。

    なぜ先に VPC が必要なの?

    サブネットは「VPC のアドレス範囲を切り分けたもの」です。土台となる VPC が無いとサブネットは作れません。まず器(VPC)を用意してから、その中を区切ります。

  3. VPC コンソールの「サブネット」を開く

    画面上部の検索バーに VPC と入力して VPC コンソールを開き、左メニューの「サブネット」をクリックします。現在のリージョンにあるサブネットの一覧が表示されます。

    最初からいくつか見えても大丈夫

    デフォルト VPC のサブネットが最初から並んでいることがあります。これから作る 2 つはその一覧に追加されていきます。

  4. 「サブネットを作成」を押し、VPC を選ぶ

    右上の「サブネットを作成」ボタンを押します。最初に 「VPC ID」を選ぶ欄が出てくるので、ステップ 2 で用意した 10.0.0.0/16 の VPC を選択します。

    ここで選んだ VPC の中に作られる

    サブネットは必ずどれか 1 つの VPC に属します。ここで選んだ VPC のアドレス範囲(例:10.0.0.0/16)の中から区画を切り出すことになります。

  5. 1 つ目のサブネットの設定を入力する

    「サブネット設定」に次の値を入力します(サブネット 1)。

    サブネット名my-subnet-1
    アベイラビリティーゾーンap-northeast-1a
    IPv4 サブネット CIDR ブロックVPC の範囲内で自由に決める(例:10.0.1.0/24
    アベイラビリティーゾーンって何?

    1 つのリージョンの中にある、物理的に離れたデータセンターのまとまりです。サブネットは必ずどれか 1 つのゾーンに置かれます。今回は 2 つとも ap-northeast-1a にそろえます。

  6. 「新しいサブネットを追加」で 2 つ目も入力する

    同じ画面の下にある「新しいサブネットを追加」を押すと、2 つ目の入力欄が増えます。次の値を入力します(サブネット 2)。

    サブネット名my-subnet-2
    アベイラビリティーゾーンap-northeast-1a
    IPv4 サブネット CIDR ブロック1 つ目と重ならない範囲で自由に決める(例:10.0.2.0/24
    CIDR が重ならないようにする

    10.0.1.0/2410.0.2.0/24 は使うアドレスの範囲が重なりません。同じ VPC の中のサブネット同士は、アドレス範囲が重複しないように分ける必要があります。

  7. 作成して、一覧で 2 つを確認する

    画面下部の「サブネットを作成」ボタンを押します。「サブネット」一覧に my-subnet-1my-subnet-2 が並び、どちらも状態が 「Available(利用可能)」になっていれば完了です。

    サブネットをクリックすると、属している VPC・アベイラビリティーゾーン・割り当てられた CIDR などの詳細を確認できます。

07 — Pitfalls

つまずきポイント

初学者がよく引っかかる箇所を先回りでまとめました。答えそのものは載せていませんが、「どこを見直せばよいか」の手がかりとして使ってください。

Pitfall 01 — CIDR の入力でエラーになる

「サブネットの CIDR を入れるとエラーが出る」

サブネットの CIDR は、土台となる VPC の範囲(10.0.0.0/16)の内側に収まっている必要があります。また、同じ VPC のサブネット同士で範囲が重なっていてもエラーになります。VPC の CIDR をはみ出していないか、もう一方のサブネットと重複していないかを見直してみてください。半角・スペースなしで入力することも確認しましょう。

Pitfall 02 — VPC が選べない/サブネットが見つからない

「VPC を選ぶ欄に目的の VPC が出てこない」

多くは リージョンの違いが原因です。VPC もサブネットも、作成したリージョンにしか表示されません。画面右上のリージョンが東京(ap-northeast-1)になっているかを確認してください。土台の VPC をまだ作っていない場合は、先に 10.0.0.0/16 の VPC を用意する必要があります。

08 — Checklist

完了チェック

要件の再確認ではなく、画面のどこを見れば達成を確認できるかをまとめました。VPC コンソールの「サブネット」を開いて、次を順に確かめましょう。

  • 画面右上のリージョン表示が 「東京 / ap-northeast-1」になっている。
  • 「サブネット」の一覧に my-subnet-1my-subnet-2 の 2 行が見えている。
  • 2 行とも「状態」列が 「Available(利用可能)」と表示されている。
  • 各行をクリックして開いた詳細で、所属する VPC が用意した VPC(例:10.0.0.0/16)になっている。
  • 2 つのサブネットの IPv4 CIDR(例:10.0.1.0/2410.0.2.0/24)が互いに重なっていない。
09 — Think

考えてみよう

手を動かすことに加えて、次の問いに自分の言葉で答えられるようにしておくと、理解がより深まります。

  1. VPC をそのまま 1 つの空間として使わず、わざわざサブネットに分けるのはなぜでしょうか。分けることで何がうれしいのか考えてみましょう。
    ヒント
    「インターネットに直接見せたいサーバー」と「外から隠しておきたいデータベース」を、同じ 1 つの空間にまとめて置くと、ルールを分けて管理しにくくなります。役割ごとに区画を分けると、それぞれに別のルールを当てやすくなる——という観点から考えてみましょう。
  2. /24 のサブネット(例:10.0.1.0/24)には、計算上は約 256 個の IP アドレスが含まれます。しかし実際に使える数はもう少し少なくなります。なぜでしょうか。何個が予約され、使えるのは何個になるか調べてみましょう。
    ヒント
    AWS は各サブネットの先頭や末尾のいくつかのアドレスを、ネットワーク自身やルーター、将来の用途などのために予約しています。予約される個数は決まっています。「256 − 予約数」で使える数が求められます。公式ドキュメント「サブネットの CIDR ブロック」に答えが載っています。
  3. 今回は 2 つのサブネットを同じ ap-northeast-1a に置きました。もしこれを別々のアベイラビリティーゾーンに分けて作ると、どんな利点があると思いますか。
    ヒント
    アベイラビリティーゾーンは物理的に離れたデータセンターのまとまりです。もし片方のゾーンで障害が起きたとき、両方のサブネットが同じゾーンにあった場合と、別々のゾーンにあった場合とで、サービスの止まり方はどう変わるでしょうか。「可用性(止まりにくさ)」という言葉を手がかりに考えてみましょう。
10 — Clean up

後片づけ

作ったものを片づけるところまでが一連の流れです。AWS では「使い終わったら消す」習慣をつけておくと、不要な課金やリソースの散らかりを防げます。

今回作成したサブネットは無料なので、学習を続けるならそのまま残しておいて構いません。整理したい場合は、次の手順で削除できます。

  1. VPC コンソールの左メニュー「サブネット」を開く。
  2. 一覧から my-subnet-1my-subnet-2 を選択する(2 つまとめて選んで構いません)。
  3. 右上の「アクション」→「サブネットを削除」を選び、確認ダイアログで削除を確定する。
  4. このハンズオン用に新しく VPC を作った場合は、サブネットを削除したあと、同じ要領で「お使いの VPC」からその VPC も削除できます。
Caution — デフォルトのリソースは消さない

削除するのは自分で作ったものだけ

一覧には、最初から用意されている「デフォルト VPC」とそのサブネットも並んでいます。間違えて削除しないよう、名前タグが my-subnet-1 / my-subnet-2 のものだけを選んで削除してください。VPC を消す場合も、このハンズオンで自分が作った VPC だけにしましょう。もし消してしまっても、同じ手順でいつでも作り直せます。

コストに関する注意: VPC・サブネット・ルートテーブルそのものには料金はかかりません。このハンズオンの範囲では課金されることはありません。ただし、サブネットの中に EC2 を起動したり、NAT ゲートウェイ・Elastic IP・VPC エンドポイントなどを追加したりすると料金が発生します。使い終えて不要になったリソースは、上の「後片づけ」を参考に削除しておきましょう。