【AWSサービス 基礎編】Amazon VPC で仮想ネットワークを構築しサブネットを設定する

目次

概要

AWS 上でリソースを運用する際、ネットワーク構成はセキュリティと可用性の基盤です。EC2 インスタンスや RDS データベースなどのリソースは、Amazon VPC(Virtual Private Cloud)内に配置され、VPC のネットワーク設定によって通信範囲やアクセス制御が決まります。

Amazon VPC は、AWS クラウド内に論理的に分離された仮想ネットワークを作成するサービスです。IP アドレス範囲の定義、サブネットの作成、ルートテーブルやゲートウェイの設定を通じて、オンプレミスのネットワークと同様のネットワーク構成を AWS 上に構築できます。

本記事では、VPC の基本概念を理解し、パブリックサブネットとプライベートサブネットを持つ VPC を構築してインターネット接続の設定まで体験します。

VPC の全体像(VPC 内にパブリックサブネット + インターネットゲートウェイ、プライベートサブネット + NAT ゲートウェイの構成)を示す図解を挿入
VPC の全体像(VPC 内にパブリックサブネット + インターネットゲートウェイ、プライベートサブネット + NAT ゲートウェイの構成)を示す図解を挿入

この記事のメリット

  • VPC、サブネット、ルートテーブル、ゲートウェイの関係を理解できる
  • パブリックサブネットとプライベートサブネットの違いと使い分けを把握できる
  • VPC をゼロから作成し、インターネット接続可能なネットワークを構築する手順を習得できる
  • CIDR ブロックの設計の基本的な考え方を学べる

執筆者とキャラクター紹介

執筆者:土肥(とひ)

株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。

土肥

クラウドおさる

クラウドおさる

はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。

クラウドおさる

基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。

クラウドおさる

猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。

技術解説

クラウドおさる

とひさん、今日は VPC について教えてください!AWS のリソースを動かすにはネットワークが必要って聞いたんですけど、VPC ってどういうものなんですか?

土肥

Amazon VPC は、AWS クラウド内に論理的に分離された仮想ネットワークを提供するサービスだよ。各 VPC は他の VPC やインターネットから独立していて、利用者が完全にネットワーク構成を制御できるんだ。

クラウドおさる

自分専用のネットワークを AWS 上に作れるってことですね。VPC を作るときにはどんな要素を設定するんですか?

土肥

VPC を構築する際の主な設定要素をまとめるとこうなるよ。

要素説明
CIDR ブロックVPC の IP アドレス範囲(例: 10.0.0.0/16)
サブネットVPC 内の IP アドレスの区画(AZ ごとに配置)
ルートテーブルトラフィックの転送先を定義するルール
インターネットゲートウェイVPC とインターネットの間の通信を可能にするゲートウェイ
NAT ゲートウェイプライベートサブネットからインターネットへのアウトバウンド通信を可能にする
クラウドおさる

CIDR ブロックっていうのが最初に出てきましたけど、これは何ですか?

土肥

CIDR(Classless Inter-Domain Routing)ブロックは、VPC やサブネットに割り当てる IP アドレスの範囲を指定するものだよ。VPC の CIDR ブロックは /16(65,536 アドレス)から /28(16 アドレス)の範囲で指定できるんだ。一般的には /16 で VPC を作成して、サブネットに /24(256 アドレス)を割り当てるパターンが多く使われるね。ちなみに各サブネットでは先頭 4 つと末尾 1 つの計 5 アドレスを AWS が予約しているから、/24 で実際に使えるのは 251 アドレスになるよ。

CIDRアドレス数用途例
10.0.0.0/1665,536VPC 全体
10.0.1.0/24256パブリックサブネット
10.0.2.0/24256プライベートサブネット
CIDR ブロックの分割イメージ(VPC /16 → サブネット /24 の関係)を示す図解
CIDR ブロックの分割イメージ(VPC /16 → サブネット /24 の関係)を示す図解
クラウドおさる

なるほど、大きな範囲を決めてから小さく区切っていくんですね!サブネットについてもう少し詳しく教えてもらえますか?

土肥

サブネットは、VPC の CIDR ブロックをさらに分割した IP アドレスの区画だよ。各サブネットは 1 つの AZ(アベイラビリティーゾーン)に属するんだ。サブネットは用途に応じてパブリックサブネットとプライベートサブネットに分類されるよ。

種類ルートテーブルの特徴主な用途
パブリックサブネットインターネットゲートウェイへのルートを持つWeb サーバー、ALB、踏み台サーバー
プライベートサブネットインターネットゲートウェイへのルートを持たないデータベース、アプリケーションサーバー
クラウドおさる

パブリックとプライベートで役割が違うんですね。パブリックサブネットがインターネットに繋がるには、インターネットゲートウェイが必要ってことですか?

土肥

そのとおり。インターネットゲートウェイ(IGW)は、VPC 内のリソースとインターネットの間の双方向通信を可能にするコンポーネントなんだ。パブリックサブネットのルートテーブルに IGW へのルートを追加して、リソースにパブリック IP アドレスを割り当てることで、インターネットからのアクセスが可能になるよ。

クラウドおさる

じゃあプライベートサブネットに置いたリソースは、インターネットに一切出られないんですか?ソフトウェアのアップデートとかはどうするんでしょう…?

土肥

そこで使うのが NAT ゲートウェイだね。NAT ゲートウェイは、プライベートサブネット内のリソースがインターネットにアウトバウンド通信を行えるようにするコンポーネントだよ。ポイントは、インターネットからプライベートサブネットへのインバウンド通信は許可されないということ。ソフトウェアアップデートの取得や外部 API の呼び出しなど、プライベートサブネットからのアウトバウンド通信が必要な場合に使うんだ。

クラウドおさる

外に出ることはできるけど、外から入ってこられないようにできるんですね。安心です。ところで、さっきから出てくるルートテーブルっていうのは何ですか?

土肥

ルートテーブルは、サブネット内のトラフィックがどこに転送されるかを定義するルールの集合だよ。各サブネットに 1 つのルートテーブルが関連付けられるんだ。パブリックサブネットとプライベートサブネットで設定が違うから、それぞれ見てみよう。パブリックサブネットのルートテーブル例はこうなるよ。

送信先ターゲット
10.0.0.0/16local
0.0.0.0/0インターネットゲートウェイ
土肥

そしてプライベートサブネットのルートテーブル例はこうだね。

送信先ターゲット
10.0.0.0/16local
0.0.0.0/0NAT ゲートウェイ
クラウドおさる

0.0.0.0/0 の向き先がインターネットゲートウェイか NAT ゲートウェイかで、パブリックかプライベートかが決まるんですね!すごくわかりやすいです!

新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方を募集しています。プログラミング未経験から入社して活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

実践

前提条件

  • リージョン: ap-northeast-1(東京)
  • IAM ユーザーまたはロールに VPC 関連リソースの操作権限があること

作成するリソース一覧

リソース種別リソース名用途
VPCbasic-vpc仮想ネットワーク
パブリックサブネットbasic-public-subnet-1aインターネット接続可能なサブネット(AZ: ap-northeast-1a)
プライベートサブネットbasic-private-subnet-1aインターネットから直接アクセスできないサブネット(AZ: ap-northeast-1a)
インターネットゲートウェイbasic-igwVPC とインターネットの接続
ルートテーブルbasic-public-rtパブリックサブネット用

ステップ1: VPC を作成する

  • AWS マネジメントコンソールにログインし、リージョンが ap-northeast-1(東京)であることを確認します
  • 上部の検索バーに VPC と入力し、表示された「VPC」を選択します
  • 左側ナビゲーションの「お使いの VPC」を選択し、「VPC を作成」をクリックします
  • 「VPC の設定」の「作成するリソース」で「VPC のみ」を選択します
  • 以下の内容を入力します
  • 名前タグ – オプション: basic-vpc
  • IPv4 CIDR ブロック: IPv4 CIDR の手動入力 を選択し、「IPv4 CIDR」に 10.0.0.0/16 を入力
  • IPv6 CIDR ブロック: IPv6 CIDR ブロックなし
  • テナンシー: デフォルト
  • VPC 暗号化コントロール: なし(デフォルトのまま。有効にすると追加料金が発生します)
  • 「タグ」セクションには名前タグの内容から Name タグが自動で追加されるので、そのままにします
VPC 作成画面(CIDR ブロックなどの入力が完了した状態)
VPC 作成画面(CIDR ブロックなどの入力が完了した状態)
  • 画面右下の「VPC を作成」をクリックします
  • 「VPC が正常に作成されました」と表示され、詳細画面で VPC ID と IPv4 CIDR 10.0.0.0/16 を確認します
VPC 作成完了画面(VPC ID が表示されている状態)
VPC 作成完了画面(VPC ID が表示されている状態)

ステップ2: サブネットを作成する

パブリックサブネットの作成

  • 左側ナビゲーションの「サブネット」を選択し、「サブネットを作成」をクリックします
  • 「VPC」セクションの「VPC ID」で作成した basic-vpc を選択します。「関連付けられた VPC CIDR」に 10.0.0.0/16 が表示されます
  • 「サブネットの設定」の「サブネット 1 (1 個中)」に以下の内容を入力します
  • サブネット名: basic-public-subnet-1a
  • アベイラビリティーゾーン: アジアパシフィック (東京) / apne1-az4 (ap-northeast-1a)
  • IPv4 VPC CIDR ブロック: 10.0.0.0/16(デフォルトのまま)
  • IPv4 サブネット CIDR ブロック: 10.0.1.0/24(右端に 256 IPs と表示されます)
  • 「タグ – オプション」にはサブネット名から Name タグが自動で追加されるので、そのままにします
パブリックサブネット作成画面
パブリックサブネット作成画面
  • 画面右下の「サブネットを作成」をクリックします

プライベートサブネットの作成

  • サブネット一覧画面に戻り、再度「サブネットを作成」をクリックします
  • 以下の内容を入力します(その他の項目はデフォルトのままにします)
  • VPC ID: basic-vpc を選択
  • サブネット名: basic-private-subnet-1a
  • アベイラビリティーゾーン: アジアパシフィック (東京) / apne1-az4 (ap-northeast-1a)
  • IPv4 サブネット CIDR ブロック: 10.0.2.0/24
  • 「サブネットを作成」をクリックします
  • サブネット一覧の検索ボックスに basic と入力し、2 つのサブネットが Available になっていることを確認します
サブネット一覧画面(2 つのサブネットが作成されている状態)
サブネット一覧画面(2 つのサブネットが作成されている状態)

ステップ3: インターネットゲートウェイを作成して VPC にアタッチする

  • 左側ナビゲーションの「インターネットゲートウェイ」を選択し、「インターネットゲートウェイの作成」をクリックします
  • 以下の内容を入力します
  • 名前タグ: basic-igw
  • 「インターネットゲートウェイの作成」をクリックします
インターネットゲートウェイ作成完了画面
インターネットゲートウェイ作成完了画面
  • 作成完了画面の上部に「次のインターネットゲートウェイが作成されました」というバナーが表示され、状態が Detached であることを確認します
  • バナー内の「VPC へアタッチ」をクリックします(詳細画面の「アクション」→「VPC にアタッチ」からも同じ画面に進めます)
  • 「使用可能な VPC」の検索ボックスをクリックし、候補から basic-vpc の VPC ID を選択します
  • 「インターネットゲートウェイのアタッチ」をクリックします
インターネットゲートウェイの VPC アタッチ画面
インターネットゲートウェイの VPC アタッチ画面
  • 状態が Attached に変わったことを確認します

ステップ4: パブリックサブネット用のルートテーブルを作成する

  • 左側ナビゲーションの「ルートテーブル」を選択し、「ルートテーブルを作成」をクリックします
  • 以下の内容を入力します
  • 名前: basic-public-rt
  • VPC: basic-vpc を選択
  • 「ルートテーブルを作成」をクリックします
ルートテーブル作成完了画面
ルートテーブル作成完了画面

ステップ5: ルートテーブルにインターネットへのルートを追加する

  • 作成した basic-public-rt の詳細画面で、下部の「ルート」タブを選択します。10.0.0.0/16 → local のルートだけが存在します
  • 「ルートを編集」をクリックします
  • 「ルートを追加」をクリックすると「ルート 2」が追加されるので、以下を入力します
  • 送信先: 0.0.0.0/0
  • ターゲット: ドロップダウンから インターネットゲートウェイ を選択し、その下に表示される検索ボックスで basic-igw(igw-xxxx)を選択
  • 「変更を保存」をクリックします
  • 「ルート」タブに 0.0.0.0/0 → igw-xxxx のルートが アクティブ で追加されたことを確認します
ルートテーブルのルート編集画面(インターネットゲートウェイへのルートを追加した状態)
ルートテーブルのルート編集画面(インターネットゲートウェイへのルートを追加した状態)

ステップ6: ルートテーブルをパブリックサブネットに関連付ける

  • basic-public-rt の詳細画面で、「サブネットの関連付け」タブを選択します
  • 「サブネットの関連付けを編集」をクリックします
  • 「利用可能なサブネット」の一覧で basic-public-subnet-1a にチェックを入れます。下の「選択されたサブネット」に対象のサブネットが表示されます
  • 「関連付けを保存」をクリックします
サブネットの関連付け編集画面
サブネットの関連付け編集画面

ステップ7: パブリックサブネットの自動パブリック IP 割り当てを有効にする

パブリックサブネットに起動したインスタンスが自動的にパブリック IP アドレスを取得するように設定します。

  • 左側ナビゲーションの「サブネット」を選択します
  • 一覧で basic-public-subnet-1a を選択し、右上の「アクション」→「サブネットの設定を編集」をクリックします
  • 「IP アドレスの自動割り当て設定」の「パブリック IPv4 アドレスの自動割り当てを有効化」にチェックを入れます
  • その他の項目はデフォルトのままにして、画面右下の「保存」をクリックします
  • サブネットの詳細画面で「パブリック IPv4 アドレスの自動割り当て」が はい になっていることを確認します
サブネット設定の編集画面(自動割り当てを有効にした状態)
サブネット設定の編集画面(自動割り当てを有効にした状態)

ステップ8: ネットワーク構成を確認する

作成したリソースの構成を確認します。

  • 左側ナビゲーションの「お使いの VPC」を選択し、basic-vpc の VPC ID をクリックして詳細画面を開きます
  • 詳細の下にある「リソースマップ」タブを選択すると、VPC 内のリソース(サブネット、ルートテーブル、ネットワーク接続)の関係が線でつながれて表示されます
VPC リソースマップ画面(VPC 内のサブネット、ルートテーブル、IGW の関係が表示されている状態)
VPC リソースマップ画面(VPC 内のサブネット、ルートテーブル、IGW の関係が表示されている状態)

パブリックサブネット basic-public-subnet-1a がインターネットゲートウェイ basic-igw を経由してインターネットに接続可能であること、プライベートサブネット basic-private-subnet-1a にはインターネットへのルートがないことが確認できます。

まとめ

  • Amazon VPC は、AWS クラウド内に論理的に分離された仮想ネットワークを提供するサービスである
  • CIDR ブロックで IP アドレスの範囲を定義し、サブネットで VPC をさらに区画分けする
  • パブリックサブネットはインターネットゲートウェイへのルートを持ち、プライベートサブネットは外部からの直接アクセスを遮断する
  • ルートテーブルでトラフィックの転送先を制御し、サブネットに関連付けて使用する
  • NAT ゲートウェイを使うとプライベートサブネットからのアウトバウンド通信のみ許可できる

参照先

キャリア相談
クラウドおさる

独学の先に、AWS の仕事がある ── ジュニアおさるのキャリア相談

CLF には受かったけれど、次に何をすればいいのか分からない。独学で AWS を学ぶジュニアおさるの相談に、株式会社ジェニュイン代表の土肥が答えています。

  • ✓資格はゴールか、CLF の次に何から手を付けるか
  • ✓EC2 の次に作ってみる構成と、IaC・コスト管理
  • ✓実務経験ゼロでも、面接で話せる「これまで」の作り方
新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方を募集しています。プログラミング未経験から入社して活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社ジェニュイン(https://genuine-pt.jp)の代表取締役.

2018年〜インフラエンジニアとしてキャリアをスタートし、オンプレミスのネットワーク・サーバ環境で3年半、クラウド環境で4年半の8年間エンジニアとして従事。
2021年に佐藤氏の創業した株式会社Luxyを引き継ぎ、代表に就任。
その後アガルートグループ内の株式会社ジェニュインと合併。
合併後同社代表に就任。

目次