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

VPC のサブネット

サブネットは、VPC の IP アドレスの範囲です。サブネットに AWS リソースを起動できます。

サブネットの基本

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

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

サブネットタイプ

サブネットのルーティングの設定方法に応じて、サブネットはパブリック、プライベート、または VPN のみと見なされます。

  • パブリックサブネット: サブネットには、インターネットゲートウェイへの直接ルートがあります。パブリックサブネット内のリソースは、パブリックインターネットにアクセスできます。

  • プライベートサブネット: サブネットには、インターネットゲートウェイへの直接ルートがありません。プライベートサブネット内のリソースには、パブリックインターネットへのアクセス用に NAT デバイスが必要です。

  • VPN のみのサブネット: サブネットには、仮想プライベートゲートウェイを介した Site-to-Site VPN 接続へのルートがあります。サブネットには、インターネットゲートウェイへのルートがありません。

サブネットを作成するときは、VPC の設定に応じて次のように IP アドレスを指定します。

  • IPv4 のみ: サブネットには IPv4 CIDR ブロックがありますが、IPv6 CIDR ブロックはありません。IPv4 のみのサブネット内のリソースは IPv4 経由で通信する必要があります。

  • デュアルスタック: サブネットには IPv4 CIDR ブロックと IPv6 CIDR ブロックの両方があります。VPC には、IPv4 CIDR ブロックと IPv6 CIDR ブロックの両方があります。デュアルスタックのサブネット内のリソースは、IPv4 および IPv6 経由で通信できます。

  • IPv6 のみ: サブネットには IPv6 CIDR ブロックがありますが、IPv4 CIDR ブロックはありません。VPC には IPv6 CIDR ブロックが必要です。IPv6 のみのサブネット内のリソースは IPv6 経由で通信する必要があります。

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

サブネットの設定

すべてのサブネットに、そのサブネットで作成したネットワークインターフェイスをパブリック IPv4 アドレス (該当する場合は IPv6 アドレス) に割り当てるかどうかを決定する、変更可能な属性があります。これには、サブネットでインスタンスを起動したときにインスタンス用に作成されるプライマリネットワークインターフェイス (eth0) が含まれます。サブネットの属性に関係なく、特定のインスタンスの起動時の設定によって上書きできます。

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

  • IP 設定の自動割り当て: このサブネットの新しいネットワークインターフェイスのパブリック IPv4 または IPv6 アドレスを自動的にリクエストするように、IP 設定の自動割り当てを設定できます。

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

サブネットの図表

次の図表は、あるリージョン内の 2 つの VPC を示しています。各 VPC には、パブリックサブネットとプライベートサブネット、およびインターネットゲートウェイがあります。VPC はローカルゾーンにもまたがっています。


                    アベイラビリティーゾーンとローカルゾーンにサブネットを持つ VPC。

サブネットのサイズ設定

サブネットの CIDR ブロックは、VPC の CIDR ブロック (VPC のサブネットが 1 つの場合)、または VPC の CIDR ブロックのサブネット (VPC で複数のサブネットを作成するため) と同じにすることができます。許可されているのは、/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 アドレスは使用できず、EC2 インスタンスなどのリソースに割り当てることができません。例えば、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 を使用してサブネットを作成すると、CIDR ブロックは自動で正規形式に変更されます。例えば、CIDR ブロックに 100.68.0.18/18 を指定した場合、100.68.0.0/18 の CIDR ブロックが作成されます。

IPv6 のサブネットのサイズ設定

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

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

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

  • 2001:db8:1234:1a00::

  • 2001:db8:1234:1a00::1: VPC ルーター用に AWS で予約されています。

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

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

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

上記の例の VPC ルーター用に AWS で予約された IP アドレスに加えて、次の IPv6 アドレスがデフォルト VPC ルーター用に予約されています。

  • EUI-64 を使用して生成された FE80::/10 範囲のリンクローカル IPv6 アドレス。リンクローカルアドレスの詳細については、「Link-local address」(リンクローカルアドレス) を参照してください。

  • リンクローカル IPv6 アドレス FE80:ec2::1

IPv6 経由で VPC ルーターと通信する必要がある場合は、ニーズに最適なアドレスと通信するようにアプリケーションを設定できます。

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

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

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

AWS リソースを保護するために、プライベートサブネットを使用することをお勧めします。プライベートサブネット内にあるリソース (EC2 インスタンスなど) へのインターネットアクセスを許可するには、踏み台ホストまたは NAT デバイスを使用します。

AWS では、機能を使用して、VPC リソースのセキュリティを強化できます。セキュリティグループは、EC2 インスタンスなど、関連付けられたリソースのインバウンドトラフィックとアウトバウンドトラフィックを制御します。ネットワーク ACL を使用して、サブネットレベルでインバウンドトラフィックとアウトバウンドトラフィックを許可または拒否します。ほとんどの場合、セキュリティグループはニーズを満たすことができます。ただし、セキュリティの追加のレイヤーが必要な場合は、ネットワーク ACL を使用できます。詳細については、「セキュリティグループとネットワーク ACL を比較する」を参照してください。

設計により、各サブネットをネットワーク ACL に関連付ける必要があります。作成するサブネットはすべて、VPC のデフォルトのネットワーク ACL に自動的に関連付けられます。デフォルトのネットワーク ACL では、すべてのインバウンドトラフィックとアウトバウンドトラフィックを許可します。デフォルトのネットワーク ACL を更新したり、カスタムネットワーク ACL を作成してサブネットに関連付けることができます。詳細については、「ネットワーク ACL を使用してサブネットへのトラフィックを制御する」を参照してください。

VPC またはサブネットでフローログを作成し、VPC またはサブネットでネットワークインターフェイスとの間を行き来するトラフィックをキャプチャできます。個別のネットワークインターフェイスでフローログを作成することもできます。(詳しくは、「VPC フローログを使用した IP トラフィックのログ記録」を参照してください。)