Amazon Virtual Private Cloud
ユーザーガイド

デフォルト VPC とデフォルトサブネット

2013 年 12 月 4 日より後に AWS アカウントを作成した場合、EC2-VPC のみサポートされます。この場合、AWS リージョンごとにデフォルト VPC が用意されています。デフォルト VPC は使用できる状態になっているため、独自の VPC の作成および設定は不要です。すぐにデフォルト VPC に Amazon EC2 インスタンスの起動を開始できます。また、Elastic Load Balancing、Amazon RDS、Amazon EMR などのサービスをデフォルト VPC で使用することもできます。

デフォルト VPC は、すぐに使用を開始する場合や、ブログやシンプルなウェブサイトなど、パブリックインスタンスを起動する場合に適しています。デフォルト VPC のコンポーネントは、必要に応じて変更できます。特定の要件 (例: 推奨される CIDR ブロック範囲やサブネットサイズを使用する) に適したデフォルト以外の VPC を作成する場合は、「シナリオの例」を参照してください。

デフォルト VPC のコンポーネント

デフォルト VPC を作成するとき、Amazon 側で次の設定を行います。

  • サイズ /16 の IPv4 CIDR ブロック (172.31.0.0/16) の VPC を作成する。これは、最大 65,536 個のプライベート IPv4 アドレスを提供します。

  • 各アベイラビリティーゾーンに、サイズ /20 のデフォルトサブネットを作成する。この場合は、サブネットあたり最大 4,096 個のアドレスが作成され、その中のいくつかは Amazon が使用するように予約されています。

  • インターネットゲートウェイを作成して、デフォルト VPC に接続する。

  • インターネットに向かうすべての IPv4 トラフィックをインターネットゲートウェイに送信するルールを持つデフォルト VPC のメインルートテーブルを作成する。

  • デフォルトのセキュリティグループを作成し、デフォルト VPC に関連付ける。

  • デフォルトのネットワークアクセスコントロールリスト (ACL) を作成し、デフォルト VPC に関連付ける。

  • デフォルト VPC を備えた AWS アカウントに、デフォルトの DHCP オプションセットを関連付ける。

次の図は、デフォルト VPC に対して設定する重要なコンポーネントを示します。

 デフォルト VPC

デフォルト VPC は、他の VPC と同じように使用できます。

  • デフォルト以外のサブネットを追加します。

  • メインルートテーブルを変更します。

  • ルートテーブルを追加します。

  • 追加セキュリティグループを関連付けます。

  • デフォルトのセキュリティグループのルールを更新します。

  • VPN 接続を追加します。

  • さらに多くの IPv4 CIDR ブロックを追加します。

デフォルトサブネットは、他のサブネットと同じように (カスタムルートテーブルの追加、ネットワーク ACL の設定など) 使用できます。また、EC2 インスタンスを起動するときに、特定のデフォルトサブネットを指定することもできます。

オプションで IPv6 CIDR ブロックをデフォルト VPC と関連付けることができます。詳細については, VPC とサブネットの使用.

デフォルトサブネット

デフォルトでは、デフォルトサブネットはパブリックサブネットに指定されています。メインルートテーブルがインターネット用のサブネットのトラフィックをインターネットゲートウェイに送信するためです。デフォルトサブネットをプライベートサブネットにするには、送信元 0.0.0.0/0 からインターネットゲートウェイへのルートを削除します。ただし、この操作を行った場合、そのサブネットで実行されている EC2 インスタンスすべてがインターネットにアクセスできなくなります。

デフォルトサブネット内に起動する各インスタンスは、パブリック IPv4 アドレスとプライベート IPv4 アドレスの両方、およびパブリックとプライベート DNS ホスト名の両方を受け取ります。デフォルト VPC 内のデフォルト以外のサブネット内に起動するインスタンスは、パブリック IPv4 アドレスまたはパブリック DNS ホスト名を受け取りません。サブネットのデフォルトのパブリック IP アドレス指定の動作は変更できます。詳細については、「サブネットのパブリック IPv4 アドレス属性を変更する」を参照してください。

AWS によって、リージョンに新しいアベイラビリティゾーンが追加される場合があります。ほとんどの場合、数日以内に、このアベイラビリティーゾーン内でデフォルト VPC の新しいデフォルトサブネットが自動的に作成されます。ただし、デフォルト VPC への変更を行った場合、新しいデフォルトサブネットは追加されません。新しいアベイラビリティーゾーンでデフォルトサブネットが必要な場合は、独自に作成できます。詳細については、「デフォルトサブネットの作成」を参照してください。

アベイラビリティーおよびサポートされているプラットフォーム

2013 年 12 月 4 日より後に AWS アカウントを作成した場合、EC2-VPC のみサポートされます。この場合は、AWS リージョンごとにデフォルト VPC が作成されます。したがって、デフォルト以外の VPC を作成し、インスタンスの起動時にそれを指定しない限り、インスタンスは、デフォルト VPC 内に起動されます。

2013 年 3 月 18 日より前に AWS アカウントを作成した場合、以前使用したことがあるリージョンでは、EC2-Classic と EC2-VPC の両方がサポートされます。使用したことがないリージョンでは EC2-VPC のみがサポートされます。この場合、AWS リソースを作成しなかった各リージョンには、デフォルト VPC が作成されます。デフォルト以外の VPC を作成して、新しいリージョンでインスタンスを起動するときにそれを指定する場合を除き、インスタンスは、該当リージョンのデフォルト VPC で起動されます。ただし、以前使用したことがあるリージョン内にインスタンスを起動する場合、そのインスタンスは EC2-Classic 内に起動されます。

2013 年 3 月 18 日から 2013 年 12 月 4 日の間に AWS アカウントを作成した場合は、EC2-VPC のみサポートされている場合があります。または、使用したリージョンの一部では、EC2-Classic および EC2-VPC の両方をサポートしていることがあります。AWS アカウントの各リージョンがサポートするプラットフォームを確認する場合は、「サポートされているプラットフォームとデフォルト VPC があるかどうかを確認する」を参照してください。各リージョンでデフォルト VPC が有効になった時期については、Amazon VPC の AWS フォーラムの「Announcement: Enabling regions for the default VPC feature set」を参照してください。

AWS アカウントが EC2-VPC のみをサポートしている場合は、その AWS アカウントに関連付けられている IAM アカウントも EC2-VPC のみをサポートし、AWS アカウントと同じデフォルト VPC を使用します。

AWS アカウントが EC2-Classic と EC2-VPC のいずれもサポートしている場合は、新しい AWS アカウントを作成するか、以前に使用したことがないリージョンでインスタンスを起動することができます。そのため、EC2-Classic 内にインスタンスを起動するシンプルさを備えた EC2-VPC の利点を活用できる場合があります。デフォルト VPC が存在しないリージョンで EC2-Classic がサポートされている場合、このリージョンにデフォルト VPC を追加するには、「既存の EC2 アカウントでどうしてもデフォルト VPC が使いたいのです。何か方法はありますか?" (「デフォルトの VPC についてよくある質問」) を参照してください。

EC2-Classic プラットフォームと EC2-VPC プラットフォームの詳細については、「サポートされているプラットフォーム」を参照してください。

サポートされているプラットフォームとデフォルト VPC があるかどうかを確認する

AWS アカウントが両方のプラットフォームをサポートしているかどうか、またはデフォルト VPC があるかどうかを確認するには、Amazon EC2 コンソールまたはコマンドラインを使用します。

Amazon EC2 コンソールを使用してプラットフォームのサポート有無を確認するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. ナビゲーションバーで、右上のリージョンセレクターを使用して、リージョンを選択します。

  3. Amazon EC2 コンソールダッシュボード上で、 Account Attributes の下にある Supported Platforms を探します。そこに値が 2 つ (EC2VPC) あれば、どちらのプラットフォームにもインスタンスを起動できます。値が 1 つ (VPC) なら、EC2-VPC にのみインスタンスを起動できます。

    例えば、次の図は、アカウントが EC2-VPC プラットフォームのみをサポートしていること、および識別子 vpc-1a2b3c4d を持つデフォルト VPC があることを示しています。

     サポートされているプラットフォームのインジケータ.

    デフォルト VPC を削除すると、[Default VPC] 値として None が表示されます。詳細については、「デフォルトサブネットとデフォルト VPC の削除」を参照してください。

コマンドラインを使用してプラットフォームのサポート有無を確認するには

出力の supported-platforms 属性は、EC2 インスタンスを起動できるプラットフォームを示します。

デフォルト VPC とデフォルトサブネットの表示

デフォルト VPC およびデフォルトサブネットを表示するには、Amazon VPC コンソールまたはコマンドラインを使用します。

Amazon VPC コンソールを使用して、デフォルト VPC とデフォルトサブネットを表示するには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. 画面左枠のナビゲーションペインで、[VPC] を選択します。

  3. [Default VPC] 列で、[Yes] の値を探します。デフォルト VPC の ID をメモしておきます。

  4. ナビゲーションペインで、[Subnets] を選択します。

  5. 検索バーで、デフォルト VPC の ID を入力します。デフォルト VPC のサブネットが返ります。

  6. どのサブネットがデフォルトサブネットかを確認するには、[Default Subnet] 列で [Yes] の値を探します。

コマンドラインを使用してデフォルト VPC を記述するには

このコマンドを使用するときは、isDefault フィルタの値を true に設定します。

コマンドラインを使用してデフォルトサブネットを記述するには

このコマンドを使用するときは、vpc-id フィルタの値をデフォルト VPC の ID に設定します。出力で、DefaultForAz フィールドは、デフォルトサブネットの true に設定されます。

EC2 インスタンスをデフォルト VPC 内に起動する

サブネットを指定せずに EC2 インスタンスを起動すると、そのインスタンスはデフォルト VPC のデフォルトサブネット内に自動的に起動されます。デフォルトでは、アベイラビリティーゾーンが選択され、インスタンスは、そのアベイラビリティーゾーンに対応するサブネットから起動されます。また、インスタンスのアベイラビリティーゾーンを選択することもできます。そのためには、対応するデフォルトサブネットをコンソールで選択するか、サブネットまたはアベイラビリティーゾーンを AWS CLI で指定します。

コンソールを使用して EC2 インスタンスを起動する

EC2 インスタンスをデフォルト VPC 内に起動するには

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. EC2 ダッシュボードから、[Launch Instance] を選択します。

  3. ウィザードの指示にしたがって操作します。AMI を選択し、インスタンスタイプを選択します。[Review and Launch] を選択すると、ウィザードの残りの部分のデフォルト設定を確定できます。これにより、[Review Instance Launch] ページが直接表示されます。

  4. 設定を確認します。[Instance Details] セクションで、[Subnet] のデフォルトは [No preference (default subnet in any Availability Zone)] です。つまり、インスタンスは、選択したアベイラビリティーゾーンのデフォルトサブネット内に起動されていることを意味します。また、[Edit instance details] を選択し、特定のアベイラビリティーゾーンのデフォルトサブネットを選択します。

  5. [Launch] を選択し、キーペアを選択してインスタンスを起動します。

コマンドラインを使用して EC2 インスタンスを起動する

次のいずれかのコマンドを使用して、EC2 インスタンスを起動できます。

デフォルト VPC で EC2 インスタンスを起動するには、サブネットやアベイラビリティーゾーンを指定しないでこれらのコマンドを使用します。

EC2 インスタンスをデフォルト VPC の特定のサブネット内に起動するには、サブネット ID またはアベイラビリティーゾーンを指定します。

デフォルトサブネットとデフォルト VPC の削除

デフォルトサブネットやデフォルト VPC は、他のサブネットや VPC と同様、削除できます。デフォルトサブネットやデフォルト VPC を削除する場合、インスタンスを起動する別の VPC のサブネットを明示的に指定する必要があります。これは、EC2-Classic でインスタンスを起動できないためです。別の VPC がない場合は、デフォルト以外の VPC とデフォルト以外のサブネットを作成する必要があります。詳細については、「VPC を作成する」を参照してください。

デフォルト VPC を削除した場合は、新しく作成することができます。詳細については、「デフォルト VPC の作成」を参照してください。

デフォルトサブネットを削除した場合は、新しく作成できます。詳細については、「デフォルトサブネットの作成」を参照してください。または、デフォルト VPC でデフォルト以外のサブネットを作成し、AWS サポートに連絡してこのサブネットをデフォルトサブネットとしてマークできます。AWS アカウント ID、リージョン、およびサブネット ID の詳細を指定する必要があります。新しいデフォルトサブネットが想定どおりに動作することを確認するには、サブネット属性を変更して、そのサブネットで起動されたインスタンスにパブリック IP アドレスを割り当てます。詳細については、「サブネットのパブリック IPv4 アドレス属性を変更する」を参照してください。アベイラビリティーゾーンごとに 1 つだけデフォルトサブネットを持つことができます。デフォルト以外の VPC でデフォルトサブネットを作成することはできません。

デフォルト VPC の作成

デフォルト VPC を削除した場合は、新しく作成することができます。以前の削除したデフォルト VPC を復元することはできません。また、デフォルト以外の既存の VPC をデフォルト VPC としてマーキングすることはできません。アカウントが EC2-Classic をサポートしている場合は、これらの手順を使用して、EC2-Classic をサポートするリージョンにデフォルト VPC を作成することはできません。

デフォルト VPC を作成する場合、各アベイラビリティーゾーンのデフォルトサブネットなど、デフォルト VPC の標準コンポーネントを使用して作成されます。独自のコンポーネントを指定することはできません。新しいデフォルト VPC では、サブネット CIDR ブロックが、以前のデフォルト VPC と同じアベイラビリティーゾーンにマッピングされない場合があります。たとえば、CIDR ブロック (172.31.0.0/20) を持つサブネットが、以前のデフォルト VPC の us-east-2a に作成されていた場合、新しいデフォルト VPC では us-east-2b に作成される場合があります。

デフォルト VPC がすでに該当リージョンに作成されている場合は、新しく作成することはできません。

Amazon VPC コンソールを使用してデフォルト VPC を作成するには

  1. https://console.aws.amazon.com/vpc/にある Amazon VPC コンソールを開きます。

  2. 画面左枠のナビゲーションペインで、[VPC] を選択します。

  3. [Actions]、[Create Default VPC] の順に選択します。

  4. [Create] を選択します確認画面を閉じます。

コマンドラインを使用してデフォルト VPC を作成するには

  • AWS CLI の create-default-vpc コマンドを使用できます。このコマンドには、入力パラメータがありません。

    aws ec2 create-default-vpc
    { "Vpc": { "VpcId": "vpc-3f139646", "InstanceTenancy": "default", "Tags": [], "Ipv6CidrBlockAssociationSet": [], "State": "pending", "DhcpOptionsId": "dopt-61079b07", "CidrBlock": "172.31.0.0/16", "IsDefault": true } }

また、Tools for Windows PowerShell の New-EC2DefaultVpc コマンド、または Amazon EC2 API の CreateDefaultVpc アクションも使用できます。

デフォルトサブネットの作成

アベイラビリティーゾーンにデフォルトサブネットがない場合は、これを作成できます。たとえば、デフォルトサブネットを削除したか、AWS に新しく追加されたアベイラビリティーゾーンでデフォルトサブネットがデフォルト VPC 内に自動的に作成されなかった場合、デフォルトサブネットを作成できます。

デフォルトサブネットを作成すると、そのサイズはデフォルト VPC で次に利用可能な連続領域の /20 IPv4 CIDR ブロックになります。以下のルールが適用されます。

  • CIDR ブロックを独自に指定することはできません。

  • 削除済みのデフォルトサブネットは復元できません。

  • デフォルトサブネットは、アベイラビリティーゾーンごとに 1 つに限ります。

  • デフォルト以外の VPC でデフォルトサブネットを作成することはできません。

デフォルト VPC のアドレス空間が足りなくてサイズが /20 の CIDR ブロックを作成できない場合、リクエストは失敗します。追加のアドレス空間が必要な場合は、IPv4 CIDR ブロックを VPC に追加することができます。

IPv6 CIDR ブロックをデフォルト VPC に関連付けている場合、新しいデフォルトサブネットは IPv6 CIDR ブロックを自動的に受け取りません。代わりに、デフォルトサブネットを作成した後で IPv6 CIDR ブロックを関連付けることができます。詳細については、「IPv6 CIDR ブロックとサブネットの関連付け」を参照してください。

現在、デフォルトサブネットは AWS CLI、AWS SDK、または Amazon EC2 API でのみ作成できます。

コマンドラインを使用してデフォルトサブネットを作成するには

  • AWS CLI の create-default-subnet コマンドを使用し、サブネットを作成する先のアベイラビリティーゾーンを指定します。

    aws ec2 create-default-subnet --availability-zone us-east-2a
    { "Subnet": { "AvailabilityZone": "us-east-2a", "Tags": [], "AvailableIpAddressCount": 4091, "DefaultForAz": true, "Ipv6CidrBlockAssociationSet": [], "VpcId": "vpc-1a2b3c4d", "State": "available", "MapPublicIpOnLaunch": true, "SubnetId": "subnet-1122aabb", "CidrBlock": "172.31.32.0/20", "AssignIpv6AddressOnCreation": false } }

    または、Tools for Windows PowerShell の CreateDefaultSubnet アクションを使用できます。