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 桁のミリ秒のレイテンシーを必要とするアプリケーションを実行できます。詳細については、Linux インスタンス用の Amazon EC2 ユーザーガイドの「リージョンとアベイラビリティーゾーン」を参照してください。

さらに、オプションで IPv6 CIDR ブロックを VPC に割り当てて、IPv6 CIDR ブロックをサブネットに割り当てることができます。

次の図は、複数のアベイラビリティーゾーンにある複数のサブネットで設定された VPC を示しています。1A、2A、および 3A は VPC のインスタンスです。IPv6 CIDR ブロックは VPC に関連付けられ、IPv6 CIDR ブロックはサブネット 1 に関連付けられます。インターネットゲートウェイはインターネットを介した通信を有効にし、仮想プライベートネットワーク (VPN) 接続は、企業ネットワークとの通信を有効にします。


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

サブネットのトラフィックがインターネットゲートウェイにルーティングされる場合、そのサブネットはパブリックサブネットと呼ばれます。この図では、サブネット 1 がパブリックサブネットです。パブリックサブネット内のインスタンスが IPv4 を介してインターネットと通信することが必要な場合は、そのインスタンスにパブリック IPv4 アドレスまたは Elastic IP アドレス (IPv4) が割り当てられている必要があります。パブリック IPv4 アドレスの詳細については、「パブリック IPv4 アドレス」を参照してください。パブリックサブネットのインスタンスに IPv6 を介してインターネットと通信させたい場合は、インスタンスに IPv6 アドレスが必要です。

インターネットゲートウェイへのルートがないサブネットは、プライベートサブネットと呼ばれます。この図では、サブネット 2 がプライベートサブネットです。

インターネットゲートウェイへのルートがなく、トラフィックが Site-to-Site VPN 接続の仮想プライベートゲートウェイにルーティングされているサブネットは、VPN のみのサブネットと呼ばれます。この図では、サブネット 3 が VPN のみのサブネットです。現在、Site-to-Site VPN 接続を介した IPv6 トラフィックはサポートされていません。

詳細については、AWS Site-to-Site VPN ユーザーガイドの「VPC 設定の例」、「インターネットゲートウェイ」、および「AWS Site-to-Site VPN とは」を参照してください。

注記

サブネットの種類にかかわらず、サブネット内の IPv4 アドレス範囲は常にプライベートです。そのアドレスブロックがインターネットに公開されることはありません。

アカウント内に作成できる VPC とサブネットの数にはクォータがあります。詳細については、「」を参照してくださいAmazon VPC クォータ

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

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

IP アドレスの割り当てについては、「VPC の IP アドレス指定」を参照してください。

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

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

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: VPC ルーター用に AWS で予約されています。

  • 10.0.0.2: で予約されています。AWSDNS サーバーの 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 ブロックが作成されます。

IPv4 CIDR ブロックを VPC に追加する

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 ブロックが存在する IPv4 アドレス範囲に依存する、許可および制限された CIDR ブロック関連付けの概要を示します。

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

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/16 の範囲から 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* の範囲 (172.16.0.0/12 から 10.0.0.0/8) からの 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 アドレス範囲です

VPC に関連付け済みの CIDRブロックの関連付けを解除することができます。ただし、元の VPC (プライマリ CIDR ブロック) を作成した CIDR ブロックの関連付けを解除することはできません。Amazon VPC コンソールで VPC のプライマリ CIDR を表示するには、[VPC] を選択して自分の VPC を選択し、[CIDR ブロック] の最初のエントリを書き留めます。または、describe-vpcs コマンドを使用することもできます。

aws ec2 describe-vpcs --vpc-id vpc-1a2b3c4d

プライマリ CIDR は最上位の CidrBlock 要素で返されます。

{ "Vpcs": [ { "VpcId": "vpc-1a2b3c4d", "InstanceTenancy": "default", "Tags": [ { "Value": "MyVPC", "Key": "Name" } ], "CidrBlockAssociations": [ { "AssociationId": "vpc-cidr-assoc-3781aa5e", "CidrBlock": "10.0.0.0/16", "CidrBlockState": { "State": "associated" } }, { "AssociationId": "vpc-cidr-assoc-0280ab6b", "CidrBlock": "10.2.0.0/16", "CidrBlockState": { "State": "associated" } } ], "State": "available", "DhcpOptionsId": "dopt-e0fe0e88", "CidrBlock": "10.0.0.0/16", "IsDefault": false } ] }

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 デバイスの使用をお勧めします。詳細については、「」を参照してくださいVPC の NAT デバイス 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 フローログ