仮想プライベートクラウド (VPC)
仮想プライベートクラウド (VPC) は、AWS アカウント専用の仮想ネットワークです。VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されています。VPC 内には、Amazon EC2 インスタンスなどの AWS リソースを起動できます。
内容
VPC の基本
VPC を作成するときに、その VPC に対して、IPv4 アドレスの範囲を Classless Inter-Domain Routing (CIDR) ブロックの形式で指定する必要があります。例えば、10.0.0.0/16 です。これは VPC のプライマリ CIDR ブロックです。詳細については、「IP アドレス指定」を参照してください。
VPC は、同じリージョンのアベイラビリティーゾーンすべてにおよびます。次の図表は、新しい VPC を示しています。VPC を作成したら、アベイラビリティーゾーンごとに 1 つ以上のサブネットを追加します。詳細については、「VPC のサブネット」を参照してください。

VPC CIDR ブロック
Amazon VPC では、IPv4 と IPv6 アドレス設定がサポートされています。VPC には、それに関連付けられた IPv4 CIDR ブロックがある必要があります。オプションでは、VPC に複数の IPv4 CIDR ブロックと複数の IPv6 CIDR ブロックを関連付けることができます。IP アドレスの割り当てについては、「IP アドレス指定」を参照してください。
IPv4 VPC CIDR ブロック
VPC を作成するときに、その VPC の IPv4 CIDR ブロックを指定する必要があります。許可されるブロックサイズは、/16
ネットマスク(65,536 個の IP アドレス)から /28
ネットマスク(16 個の IP アドレス)の間です。VPC を作成したら、VPC と追加の IPv4 CIDR ブロックを関連付けることができます。詳細については、「追加の IPv4 CIDR ブロックと VPC の関連付け」を参照してください。
VPC を作成するときは、RFC 1918
RFC 1918 の範囲 | CIDR ブロックの例 |
---|---|
10.0.0.0 – 10.255.255.255(10/8 プレフィックス) | 10.0.0.0/16 |
172.16.0.0 – 172.31.255.255(172.16/12 プレフィックス) | 172.31.0.0/16 |
192.168.0.0 – 192.168.255.255(192.168/16 プレフィックス) | 192.168.0.0/20 |
一部の AWS サービスは、172.17.0.0/16
CIDR 範囲を使用します。将来競合が発生しないように、VPC を作成するときはこの範囲を使用しないでください。例えば、AWS Cloud9 または Amazon SageMaker のようなサービスでは、172.17.0.0/16
IP アドレス範囲がネットワークのどこかで既に使用されている場合に、IP アドレスの競合が発生する可能性があります。詳細については、「AWS Cloud9 ユーザーガイド」の「VPC の IP アドレスを Docker が使用しているため、EC2 環境に接続できません」を参照してください。
RFC 1918 に指定されているプライベート IPv4 アドレスの範囲に含まれない、パブリックにルーティングできる CIDR ブロックを持つ VPC を作成できます。ただし、このドキュメントで「プライベート IP アドレス」と言う場合は、VPC の CIDR 範囲に含まれる IPv4 アドレスを指します。
AWS サービスで使用するために 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 にプライマリ CIDR ブロックとセカンダリ CIDR ブロックの両方があります。Subnet A および Subnet B の CIDR ブロックは、プライマリ VPC CIDR ブロックからのものです。Subnet C の CIDR ブロックは、セカンダリ VPC CIDR ブロックからのものです。

次のルートテーブルは、VPC のローカルルートを示しています。
送信先 | ターゲット |
---|---|
10.0.0.0/16 | [Local] (ローカル) |
10.2.0.0/16 | [Local] (ローカル) |
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 ブロック関連付けの概要を示します。制限の理由は、一部の AWS サービスでは、AWS サービス側で競合しない CIDR ブロックを必要とするクロス VPC およびクロスアカウント機能を利用しているためです。
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) からの VPC に関連づけられている場合、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
IPv6 VPC CIDR ブロック
アカウントの既存の VPC に関連付けられた新しい VPC を作成する場合、単一の IPv6 CIDR ブロックを VPC に関連付けるか、または既存の VPC を変更して最大 5 つまで関連付けることができます。CIDR ブロックは /56
の固定長プレフィックスです。Amazon の IPv6 アドレスプールから IPv6 CIDR ブロックをリクエストできます。詳細については、「IPv6 CIDR ブロックと VPC の関連付け」を参照してください。
IPv6 CIDR ブロックと VPC を関連付けている場合、IPv6 CIDR ブロック を VPC の既存のサブネットに関連付けるか、または新しいサブネットを作成するときに関連付けることができます。詳細については、「IPv6 のサブネットのサイズ設定」を参照してください。
例えば、VPC を作成して VPC に Amazon が提供する IPv6 CIDR ブロックを関連付けるよう指定します。VPC には 2001:db8:1234:1a00::/56
の IPv6 CIDR ブロックが割り当てられます。IP アドレスの範囲を自分で選択することはできません。サブネットを作成し、この範囲から IPv6 CIDR ブロックを関連付けることができます。例: 2001:db8:1234:1a00::/64
。
IPv6 CIDR ブロックと VPC の関連付けを解除できます。VPC から IPv6 CIDR ブロックの関連付けを解除すると、IPv6 CIDR ブロックと VPC を後で再び関連付けた場合に同じ CIDR を受け取ることは期待できません。