VPC とサブネットの概要 - Amazon Virtual Private Cloud

VPC とサブネットの概要

Amazon Virtual Private Cloud (Amazon VPC) を開始するには、VPC とサブネットを作成します。Amazon VPC の一般的な概要については、「Amazon VPC とは?」を参照してください。

VPC の基本

Virtual Private Cloud (VPC) は、AWS アカウント専用の仮想ネットワークです。VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されています。VPC 内には、Amazon EC2 インスタンスなどの AWS リソースを起動できます。

VPC を作成するときに、その VPC に対して、IPv4 アドレスの範囲を Classless Inter-Domain Routing (CIDR) ブロックの形式で指定する必要があります (例: 10.0.0.0/16)。これは VPC のプライマリ CIDR ブロックです。CIDR 表記の詳細については、RFC 4632 を参照してください。

VPC は、同じリージョンのアベイラビリティーゾーンすべてにおよびます。次の図は、IPv4 CIDR ブロックがある新しい VPC を示しています。


				リージョンのアベイラビリティーゾーンにまたがる VPC。

VPC を作成したら、アベイラビリティーゾーンごとに 1 つ以上のサブネットを追加します。

サブネットの基本

サブネットは、VPC の IP アドレスの範囲です。起動することができますAWS特定のサブネットには、EC2 インスタンスなどの EC2 リソースをデプロイできます。サブネットを作成する際、VPC CIDR ブロックのサブセットである、サブネットの CIDR ブロックを指定します。各サブネットが完全に 1 つのアベイラビリティーゾーン内に含まれている必要があります。1 つのサブネットが複数のゾーンにまたがることはできません。個別のアベイラビリティーゾーンでインスタンスを起動することにより、1 つの場所で発生した障害からアプリケーションを保護できます。

注記

必要に応じて、サブネットをローカルゾーンに追加できます。ローカルゾーンは、コンピューティング、ストレージ、データベース、その他の厳選したサービスをエンドユーザーの近くに配置する AWS インフラストラクチャデプロイメントです。ローカルゾーンを使用すると、エンドユーザーは 1 桁のミリ秒のレイテンシーを必要とするアプリケーションを実行できます。詳細については、Amazon EC2 Linux インスタンス用ユーザーガイドの「Local Zones」を参照してください。

サブネットタイプ

サブネットを作成するときは、VPC に設定された設定とサブネットに設定した設定に応じて、次の IPv4 および IPv6 オプションがあります。

  • IPv4 専用: VPC は IPv4 CIDR、または IPv4 と IPv6 の両方の CIDR に関連付けられます。選択したサブネット CIDR が IPv4 CIDR の範囲である場合、サブネット内で起動された EC2 インスタンスは IPv4 専用を介して通信します。

  • デュアルスタック (IPv4 および IPv6): VPC は IPv4 CIDR、または IPv4 と IPv6 の両方の CIDR に関連付けられます。その結果、VPC で作成するすべてのサブネットがデュアルスタックサブネットになります。サブネット内で起動された EC2 インスタンスは、サブネットの IP を介して通信します。

  • IPv6 専用: VPC は IPv4 と IPv6 の両方の CIDR に関連付けられます。サブネットの作成時に IPv6 専用オプションを選択すると、サブネット内で起動された EC2 インスタンスは IPv6 専用を介して通信します。

VPC の設定方法に応じて、サブネットはパブリック、プライベート、または VPN 専用と見なされます。

  • パブリックサブネット: サブネットの IPv4 または IPv6 トラフィックは、インターネットゲートウェイまたは出力専用インターネットゲートウェイにルーティングされ、パブリックインターネットに到達できます。詳細については、「インターネットゲートウェイを使用してサブネットをインターネットに接続する」を参照してください。

  • プライベートサブネット: サブネットの IPv4 または IPv6 トラフィックは、インターネットゲートウェイまたは出力専用インターネットゲートウェイにルーティングされず、パブリックインターネットに到達できません。

  • VPN 専用サブネット: インターネットゲートウェイへのルートがなく、トラフィックが Site-to-Site VPN 接続の仮想プライベートゲートウェイにルーティングされているサブネット。現在、Site-to-Site VPN 接続を介した IPv6 トラフィックはサポートされていません。Site-to-Site VPN の詳細については、AWS Site-to-Site VPN ユーザーガイドAWS Site-to-Site VPN とはを参照してください。

注記

サブネットの種類にかかわらず、サブネット内の IPv4 アドレス範囲は常にプライベートです。そのアドレスブロックがインターネットに公開されることはありません。VPC のプライベート IP アドレス指定の詳細については、サブネットの IP アドレス動作を変更する を参照してください。

サブネットの設定

サブネットを作成したら、サブネットの次の設定を変更できます。

  • IP 設定の自動割り当て: このサブネットの新しいネットワークインターフェイスのパブリック IPv4 または IPv6 アドレスを自動的にリクエストするように、IP 設定の自動割り当てを設定できます。これらの設定の詳細については、「IP アドレスの操作」を参照してください。

  • リソースベース名 (RBN) の設定: このサブネット内の EC2 インスタンスのホスト名タイプを指定し、DNS A および AAAA レコードクエリの処理方法を設定できます。これらの設定の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドAmazon EC2 インスタンスのホスト名タイプを参照してください。

VPC とサブネットの図表

次の図は、複数のアベイラビリティーゾーンにある複数のサブネットで設定された VPC を示しています。


					複数のアベイラビリティーゾーンを持つ VPC

以下の点に注意してください。

  • 1A、2A、3A は VPC のインスタンスを表します。

  • サブネット 1 はパブリックサブネット、サブネット 2 はプライベートサブネット、サブネット 3 は VPN 専用サブネットです。

  • IPv6 CIDR ブロックは VPC に関連付けられ、IPv6 CIDR ブロックはサブネット 1 に関連付けられます。

  • インターネットゲートウェイはインターネットを介した通信を有効にし、仮想プライベートネットワーク (VPN) 接続は、企業ネットワークとの通信を有効にします。

注記

パブリックサブネット内に起動した EC2 インスタンスをインターネットと通信させる場合は、そのインスタンスにパブリック IPv4 アドレス (または Elastic IP アドレス) または IPv6 アドレスが割り当てられている必要があります。EC2 インスタンスのパブリックおよびプライベート IP アドレス指定の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドAmazon EC2 インスタンスの IP アドレス指定を参照してください。

その他のリソース

VPC とサブネットのサイズ設定

Amazon VPC は IPv4 および IPv6 のアドレス指定をサポートしており、CIDR ブロックサイズのクォータはそれぞれ異なります。デフォルトでは、すべての VPC とサブネットに IPv4 CIDR が必要で、この動作は変更できません。オプションで IPv6 CIDR ブロックを VPC と関連付けることができます。

IP アドレスの割り当てについては、「サブネットの IP アドレス動作を変更する」を参照してください。

IPv4 用の VPC とサブネットのサイズ設定

VPC を作成するときに、その VPC の IPv4 CIDR ブロックを指定する必要があります。許可されるブロックサイズは、/16 ネットマスク(65,536 個の IP アドレス)から /28 ネットマスク(16 個の IP アドレス)の間です。VPC を作成したら、VPC とセカンダリ CIDR ブロックを関連付けることができます。詳細については、「」を参照してくださいVPC の IPv4 CIDR ブロックを管理する

VPC を作成するときは、RFC 1918 に指定されているように、プライベート IPv4 アドレス範囲からの CIDR ブロックを指定することをお勧めします。

RFC 1918 の範囲 CIDR ブロックの例
10.0.0.0 - 10.255.255.255(10/8 プレフィックス) VPC は /16 以下 (10.0.0.0/16 など) である必要があります。
172.16.0.0 - 172.31.255.255(172.16/12 プレフィックス) VPC は /16 以下 (172.31.0.0/16 など) である必要があります。
192.168.0.0 - 192.168.255.255(192.168/16 プレフィックス) VPC は小さく (192.168.0.0/20など) することができます。

VPC を作成する場合、RFC 1918 に指定されているプライベート IPv4 アドレスの範囲から外れる、パブリックにルーティングできる CIDR ブロックを使うこともできますが、本書ではプライベート IPv4 アドレスを VPC の CIDR 範囲内にある IPv4 アドレスという意味で使います。

注記

他の AWS サービスで使用することを目的として VPC を作成している場合は、サービスドキュメントで、IP アドレス範囲またはネットワークコンポーネントに特定の要件があるかどうかを確認します。

サブネットの CIDR ブロックは、VPC の CIDR ブロック (VPC のサブネットが 1 つの場合)、または VPC の CIDR ブロックのサブネット (サブネットが複数の場合) と同じにすることができます。許可されているのは、/28 ネットマスクから /16 ネットマスクの間のブロックサイズです。VPC に複数のサブネットを作成する場合、サブネットの CIDR ブロックは重複できません。

例えば、CIDR ブロック 10.0.0.0/24 を持つ VPC を作成した場合、その VPC では 256 個の IP アドレスがサポートされます。この CIDR ブロックは 2 つのサブネットに分割でき、それぞれのサブネットで 128 個の IP アドレスがサポートされています。一方のサブネットでは CIDR ブロック 10.0.0.0/25 (アドレス 10.0.0.010.0.0.127) が、もう一方のサブネットでは CIDR ブロック 10.0.0.128/25 (アドレス 10.0.0.12810.0.0.255) が使用されます。

インターネット上には、IPv4 サブネット CIDR ブロックの計算と作成に役立つツールがあります。「サブネット計算ツール」や「CIDR 計算ツール」などの用語を検索して、お客様のニーズに合ったツールを見つけることができます。ネットワーク技術グループが、サブネットに指定する CIDR ブロックを特定することもできます。

各サブネット CIDR ブロックの最初の 4 つの IP アドレスと最後の IP アドレスは使用できず、インスタンスに割り当てることができません。例えば、CIDR ブロック 10.0.0.0/24 を持つサブネットの場合、次の 5 つの IP アドレスが予約されます。

  • 10.0.0.0.: ネットワークアドレスです。

  • 10.0.0.1: AWS が VPC ルーター用に予約しています。

  • 10.0.0.2: AWS が予約しています。DNS サーバーの IP アドレスは、VPC ネットワーク範囲のベースにプラス 2 したものです。複数の CIDR ブロックを持つ VPC の場合、DNS サーバーの IP アドレスはプライマリ CIDR にあります。また、VPC 内のすべての CIDR ブロックに対して、各サブネットの範囲 + 2 のベースを予約します。詳細については、「Amazon DNS サーバー」を参照してください。

  • 10.0.0.3: 将来の利用のために AWS が予約しています。

  • 10.0.0.255: ネットワークブロードキャストアドレスです。VPC ではブロードキャストがサポートされないため、このアドレスを予約します。

コマンドラインツールまたは Amazon EC2 API を使用して VPC またはサブネットを作成すると、CIDR ブロックは自動で正規形式に変更されます。例えば、CIDR ブロックに 100.68.0.18/18 を指定すると、100.68.0.0/18 の CIDR ブロックが作成されます。

VPC の IPv4 CIDR ブロックを管理する

VPC とセカンダリ IPv4 CIDR ブロックを関連付けることができます。CIDR ブロックを VPC に関連付けると、ルートが VPC ルートテーブルに自動的に追加され、VPC 内でのルーティングが可能になります (送信先は CIDR ブロックで、ターゲットは local)。

次の例では、左側の VPC に 1 つの CIDR ブロック (10.0.0.0/16) と 2 つのサブネットがあります。右側の VPC は、2 番目の CIDR ブロック (10.2.0.0/16) を追加し、2 番目の CIDR の範囲から新しいサブネットを作成した後の、同じ VPC のアーキテクチャを表します。


					単一および複数の CIDR ブロックを持つ VPC

CIDR ブロックを VPC に追加する場合は、次のルールが適用されます。

  • 許可されているのは、/28 ネットマスクから /16 ネットマスクの間のブロックサイズです。

  • CIDR ブロックは、VPC に関連付けられている既存の CIDR ブロックと重複してはいけません。

  • 使用できる IPv4 アドレスの範囲には制限があります。詳細については、「」を参照してくださいIPv4 CIDR ブロック関連付けの制限

  • 既存の CIDR ブロックのサイズを増減することはできません。

  • VPC に関連付けることができる CIDR ブロックの数と、ルートテーブルに追加できるルートの数にはクォータがあります。そのため、クォータを超えると CIDR ブロックを関連付けることはできなくなります。詳細については、「」を参照してくださいAmazon VPC クォータ

  • CIDR ブロックは、VPC ルートテーブルのいずれかのルートの送信先 CIDR 範囲と同じ、またはそれ以上に大きくすることはできません。 例えば、プライマリ CIDR ブロックが 10.2.0.0/16 である VPC では、仮想プライベートゲートウェイへの送信先 10.0.0.0/24 を持つルートテーブル内に、既存のルートがあります。10.0.0.0/16 範囲内のセカンダリ CIDR ブロックを関連付けるとします。既存のルートが原因で、10.0.0.0/24 以上の CIDR ブロックを関連付けることはできません。ただし、10.0.0.0/25 以下のセカンダリ CIDR ブロックを関連付けることはできます。

  • ClassicLink の VPC を有効にしている場合、10.0.0.0/16 および 10.1.0.0/16 範囲からの CIDR ブロックを関連付けることはできますが、 10.0.0.0/8 の範囲の他の CIDR ブロックを関連付けることはできません。

  • VPC ピアリング接続の一部である VPC に IPv4 CIDR ブロックを追加する場合は、次のルールが適用されます。

    • VPC ピアリング接続が active の場合、ピア VPC の CIDR ブロックと重複していない VPC に CIDR ブロックを追加できます。

    • VPC ピアリング接続が pending-acceptance の場合、リクエスタ VPC の所有者は、アクセプタ VPC の CIDR ブロックと重複しているかどうかにかかわらず、VPC に CIDR ブロックを追加できません。アクセプタ VPC の所有者がピアリング接続を受け入れるか、またはリクエスタ VPC の所有者が VPC ピアリング接続要求を削除し、CIDR ブロックを追加してから、新しい VPC ピアリング接続を要求する必要があります。

    • VPC ピアリング接続が pending-acceptance の場合、アクセプタ VPC の所有者は CIDR ブロックを VPC に追加できます。セカンダリ CIDR ブロックがリクエスタ VPC の CIDR ブロックと重複している場合、VPC ピアリング接続要求は失敗し、承諾されません。

  • AWS Direct Connect を使用して Direct Connect ゲートウェイ経由で複数の VPC に接続する場合、Direct Connect ゲートウェイに関連付けられた VPC 間では重複する CIDR ブロックが許可されません。Direct Connect ゲートウェイに関連付けられたいずれかの VPC に CIDR ブロックを追加する場合は、追加する CIDR ブロックが、他の関連付けられた VPC の既存の CIDR ブロックと重複しないことを確認してください。詳細については、AWS Direct Connect ユーザーガイドの「Direct Connect ゲートウェイ」を参照してください。

  • CIDR ブロックは、追加または削除に伴い、以下の状態を経過します: associating | associated | disassociating | disassociated | failing | failed。CIDR ブロックは、associated 状態にあるときに、使用可能です。

VPC に関連付け済みの CIDRブロックの関連付けを解除することができます。ただし、元の VPC (プライマリ CIDR ブロック) を作成した CIDR ブロックの関連付けを解除することはできません。Amazon VPC コンソールで VPC のプライマリ CIDR を表示するには、VPC のチェックボックスをオンにして [VPC] を選択し、[CIDR] タブを選択します。AWS CLI を使用してプライマリ CIDR を表示するには、次の describe-vpcs コマンドを使用します。プライマリ CIDR は最上位の CidrBlock element で返されます。

aws ec2 describe-vpcs --vpc-id vpc-1a2b3c4d --query Vpcs[*].CidrBlock

以下は出力例です。

[ "10.0.0.0/16", ]

IPv4 CIDR ブロック関連付けの制限

以下の表に、VPC のプライマリ CIDR ブロックが存在する IPv4 アドレス範囲に依存する、許可および制限された CIDR ブロック関連付けの概要を示します。

プライマリ CIDR ブロックの IP アドレス範囲 制限された関連付け 許可された関連付け

10.0.0.0/8

他の RFC 1918* の範囲 (172.16.0.0/12 から 192.168.0.0/16) からの CIDR ブロック。

プライマリ CIDR ブロックが 10.0.0.0/15 の範囲 (10.0.0.0~10.1.255.255) からである場合、10.0.0.0/16 の範囲 (10.0.0.0~10.0.255.255) から CIDR ブロックを追加することはできません。

198.19.0.0/16 の範囲からの CIDR ブロック。

制限されていない 10.0.0.0/8 の範囲からの他の CIDR ブロック。

パブリックにルーティング可能な IPv4 CIDR ブロック (RFC 1918 以外)、または 100.64.0.0/10 の範囲からの CIDR ブロック。

172.16.0.0/12

他の RFC 1918* の範囲 (10.0.0.0/8 から 192.168.0.0/16) からの CIDR ブロック。

172.31.0.0/16 の範囲からの CIDR ブロック。

198.19.0.0/16 の範囲からの CIDR ブロック。

制限されていない、172.16.0.0/12 の範囲からの他の CIDR ブロック。

パブリックにルーティング可能な IPv4 CIDR ブロック (RFC 1918 以外)、または 100.64.0.0/10 の範囲からの CIDR ブロック。

192.168.0.0/16

他の RFC 1918* の範囲 (10.0.0.0/8 および 172.16.0.0/12) からの CIDR ブロック。

198.19.0.0/16 の範囲からの CIDR ブロック。

192.168.0.0/16 の範囲からの他の CIDR ブロック。

パブリックにルーティング可能な IPv4 CIDR ブロック (RFC 1918 以外)、または 100.64.0.0/10 の範囲からの CIDR ブロック。

198.19.0.0/16

RFC 1918* 範囲からの CIDR ブロック。

パブリックにルーティング可能な IPv4 CIDR ブロック (RFC 1918 以外)、または 100.64.0.0/10 の範囲からの CIDR ブロック。

パブリックにルーティング可能な CIDR ブロック (RFC 1918 以外)、または 100.64.0.0/10 の範囲からの CIDR ブロック

RFC 1918* 範囲からの CIDR ブロック。

198.19.0.0/16 の範囲からの CIDR ブロック。

パブリックにルーティング可能なその他の IPv4 CIDR ブロック (RFC 1918 以外)、または 100.64.0.0/10 の範囲からの CIDR ブロック。

* RFC 1918 の範囲は、RFC 1918 で指定されたプライベート IPv4 アドレス範囲です

IPv6 用の VPC とサブネットのサイズ設定

単一の IPv6 CIDR ブロックをアカウントの既存の VPC に関連付けるか、または新しい VPC の作成時に関連付けることができます。CIDR ブロックは /56 の固定長プレフィックスです。Amazon の IPv6 アドレスプールから IPv6 CIDR ブロックをリクエストできます。

IPv6 CIDR ブロックと VPC を関連付けている場合、IPv6 CIDR ブロック を VPC の既存のサブネットに関連付けるか、または新しいサブネットを作成するときに関連付けることができます。サブネットの IPv6 CIDR ブロックは /64 の固定長プレフィックスです。

例えば、VPC を作成して VPC に Amazon が提供する IPv6 CIDR ブロックを関連付けるよう指定します。VPC には 2001:db8:1234:1a00::/56 の IPv6 CIDR ブロックが割り当てられます。IP アドレスの範囲を自分で選択することはできません。サブネットを作成し、この範囲から IPv6 CIDR ブロックを関連付けることができます。例: 2001:db8:1234:1a00::/64

IPv6 サブネット CIDR ブロックの計算と作成に役立つツール (IPv6 Address Planner など) をインターネットで入手できます。「IPv6 サブネット計算ツール」や「IPv6 CIDR 計算ツール」などの用語を検索して、自分のニーズに合った他のツールを見つけることができます。ネットワーク技術グループが、サブネットに指定する IPv6 CIDR ブロックを特定することもできます。

サブネットから IPv6 CIDR ブロックの関連付けを解除し、VPC から IPv6 CIDR ブロックの関連付けを解除できます。VPC から IPv6 CIDR ブロックの関連付けを解除すると、IPv6 CIDR ブロックと VPC を後で再び関連付けた場合に同じ CIDR を受け取ることは期待できません。

各サブネット CIDR ブロックの最初の 4 つの IPv6 アドレスと最後の IPv6 アドレスは使用できず、インスタンスに割り当てることができません。例えば、CIDR ブロック 2001:db8:1234:1a00/64 を持つサブネットの場合、次の 5 つの IP アドレスが予約されます。

  • 2001:db8:1234:1a00::

  • 2001:db8:1234:1a00::1

  • 2001:db8:1234:1a00::2

  • 2001:db8:1234:1a00::3

  • 2001:db8:1234:1a00:ffff:ffff:ffff:ffff

サブネットのルーティング

各サブネットをルートテーブルに関連付ける必要があります。サブネットを出るアウトバウンドトラフィックに対して許可されるルートは、このテーブルによって指定されます。作成するすべてのサブネットが、VPC のメインルートテーブルに自動的に関連付けられます。この関連付けを変更し、メインルートテーブルのコンテンツを変更できます。詳細については、「」を参照してくださいVPC のルートテーブルの管理

前の図では、サブネット 1 に関連付けられたルートテーブルは、すべての IPv4 トラフィック (0.0.0.0/0) と IPv6 トラフィック (::/0) をインターネットゲートウェイ (例: igw-1a2b3c4d) にルーティングします。インスタンス 1A には IPv4 Elastic IP アドレスと IPv6 アドレスがあるため、IPv4 と IPv6 の両方でインターネットからアクセスできます。

注記

(IPv4 のみ) インスタンスに関連付けられる Elastic IPv4 アドレスまたはパブリック IPv4 アドレスは、VPC のインターネットゲートウェイ経由でアクセスします。インスタンスと別のネットワーク間の AWS Site-to-Site VPN 接続経由で流れるトラフィックは、インターネットゲートウェイではなく仮想プライベートゲートウェイを通過するため、Elastic IPv4 アドレスやパブリック IPv4 アドレスにはアクセスしません。

インスタンス 2A はインターネットにアクセスできませんが、VPC の他のインスタンスにはアクセスできます。ネットワークアドレス変換 (NAT) ゲートウェイまたはインスタンスを使用して、VPC のインスタンスによる IPv4 インターネットへのアウトバウンド接続の開始を許可し、インターネットからの未承諾のインバウンド接続を拒否できます。Elastic IP アドレスは限られた数しかアロケートできないため、静的なパブリック IP アドレスを必要とするインスタンスが多く存在する場合は、NAT デバイスの使用をお勧めします。詳細については、「」を参照してくださいNAT デバイスを使用してサブネットをインターネットまたは他の VPC に接続する IPv6 経由のインターネットへのアウトバウンドのみの通信を開始するには、送信のみのインターネットゲートウェイを使用できます。詳細については、「」を参照してくださいEgress-Only インターネットゲートウェイを使用してサブネットからのみアウトバウンドトラフィックを有効にする

サブネット 3 に関連付けられたルートテーブルは、すべての IPv4 トラフィック (0.0.0.0/0) を仮想プライベートゲートウェイ (例: vgw-1a2b3c4d) にルーティングします。インスタンス 3A は Site-to-Site VPN 接続を介して企業ネットワーク内のコンピュータに到達できます。

サブネットのセキュリティ

AWS では、セキュリティグループネットワーク ACL という 2 つの機能を使用して、VPC のセキュリティを強化できます。セキュリティグループは、インスタンスのインバウンドトラフィックとアウトバウンドトラフィックをコントロールします。ネットワーク ACL は、サブネットのインバウンドトラフィックとアウトバウンドトラフィックをコントロールします。通常、セキュリティグループで用が足りますが、VPC に追加のセキュリティレイヤーが必要な場合は、ネットワーク ACL を使用することもできます。詳細については、「」を参照してくださいAmazon VPC でのインターネットワークトラフィックのプライバシー

設計により、各サブネットをネットワーク ACL に関連付ける必要があります。作成するサブネットはすべて、VPC のデフォルトのネットワーク ACL に自動的に関連付けられます。この関連付けを変更し、デフォルトのネットワーク ACL のコンテンツを変更できます。詳細については、「」を参照してくださいネットワーク ACL を使用してサブネットへのトラフィックを制御する

VPC またはサブネットでフローログを作成し、VPC またはサブネットでネットワークインターフェイスとの間を行き来するトラフィックをキャプチャできます。個別のネットワークインターフェイスでフローログを作成することもできます。フローログは CloudWatch Logs または Amazon S3 に公開されます。詳細については、「VPC フローログを使用した IP トラフィックのロギング」を参照してください。