Amazon EC2 インスタンスの IP アドレス指定 - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスの IP アドレス指定

Amazon EC2 と Amazon VPC は、IPv4 と IPv6 の両方のアドレス設定プロトコルをサポートします。デフォルトでは、Amazon VPC は IPv4 アドレス設定プロトコルを使用します。この動作を無効にすることはできません。VPC の作成時には IPv4 CIDR ブロック (プライベート IPv4 アドレスの範囲) を指定する必要があります。必要に応じて、IPv6 CIDR ブロックを VPC に割り当て、そのブロックからサブネットのインスタンスに IPv6 アドレスを割り当てることができます。

プライベート IPv4 アドレス

プライベート IPv4 アドレスは、インターネットから到達できない IP アドレスです。プライベート IPv4 アドレスは、同じ VPC 内のインスタンス間の通信に使用できます。プライベート IPv4 アドレスの標準および仕様については、RFC 1918 を参照してください。DHCP を使用してインスタンスにプライベート IPv4 アドレスが割り当てられます。

注記

RFC 1918 に指定されているプライベート IPv4 アドレスの範囲に含まれない、パブリックにルーティングできる CIDR ブロックを持つ VPC を作成できます。ただし、このドキュメントでプライベート IPv4 アドレス (またはプライベート IP アドレス) と言う場合は、VPC の IPv4 CIDR 範囲に含まれる IP アドレスを指します。

VPC サブネットは、次のいずれかのタイプです。

  • IPv4 専用サブネット: IPv4 アドレスが割り当てられたこれらのサブネット内のリソースのみを作成できます。

  • IPv6 専用サブネット: これらのサブネットには、IPv6 アドレスが割り当てられたリソースのみを作成できます。

  • IPv4 および IPv6 サブネット: IPv4 または IPv6 アドレスのいずれかを割り当てて、これらのサブネットにリソースを作成できます。

EC2 インスタンスをIPv4 専用サブネットまたはデュアルスタック (IPv4 および IPv6) サブネットで起動すると、インスタンスはサブネットの IPv4 アドレス範囲からプライマリプライベート IP アドレスを受け取ります。詳細については、[Amazon VPC User Guide] (Amazon VPC ユーザーガイド) の[IP addressing] (IP アドレス指定) を参照してください。プライマリプライベート IP アドレスを指定しないでインスタンスを起動すると、サブネットの IPv4 範囲内で使用可能な IP アドレスが自動的に選択されます。各インスタンスには、プライマリプライベート IPv4 アドレスが割り当てられたデフォルトのネットワークインターフェイス (eth0) があります。追加のプライベート IPv4 アドレス (セカンダリプライベート IPv4 アドレス) も指定できます。プライマリプライベート IP アドレスとは異なり、セカンダリプライベート IP アドレスは、別のインスタンスに割り当て直すことができます。詳細については、複数の IP アドレスを参照してください。

プライベート IPv4 アドレスは、プライマリアドレスまたはセカンダリアドレスを問わず、インスタンスが停止して起動、または休止して起動した際に、ネットワークインターフェイスに関連付けられたままになり、インスタンスを終了するとリリースされます。

パブリック IPv4 アドレス

パブリック IP アドレスは、インターネットから到達可能な IPv4 アドレスです。インスタンスとインターネット間で通信するには、パブリック アドレスを使用できます。

デフォルトの VPC でインスタンスを起動すると、デフォルトでパブリック IP アドレスが割り当てられます。デフォルト以外の VPC でインスタンスを起動するとき、サブネットには、そのサブネットで起動するインスタンスがパブリック IPv4 アドレスプールからパブリック IP アドレスを受け取るかどうかを決定する属性があります。デフォルトでは、デフォルト以外のサブネットで起動されたインスタンスにパブリック IP アドレスを割り当てません。

インスタンスがパブリック IP アドレスを割り当てられるかどうかを制御するには、以下の方法を使用します。

パブリック IP アドレスは、Amazon のパブリック IPv4 アドレスプールからインスタンスに割り当てられ、お客様の AWS アカウントには関連付けられません。パブリック IP アドレスをインスタンスから割り当て解除すると、そのパブリック IPv4 アドレスはパブリック IP アドレスプールに戻され、再利用することはできません。

パブリック IP アドレスをインスタンスからリリースするか、新しく割り当てる場合があります。

  • インスタンスのパブリック IP アドレスが停止、休止または終了すると、インスタンスのパブリック IP アドレスがリリースされます。停止または休止状態のインスタンスは、起動時に、新しいパブリック IP アドレスを受け取ります。

  • Elastic IP アドレスをこれに関連付けると、インスタンスのパブリック IP アドレスがリリースされます。Elastic IP アドレスをインスタンスから割り当て解除すると、そのインスタンスには新しいパブリック IP アドレスが送信されます。

  • VPC 内のインスタンスのパブリック IP アドレスが既にリリースされている場合には、複数のネットワークインターフェイスがインスタンスにアタッチされていると、インスタンスに新しいパブリック IP アドレスは送信されません。

  • インスタンスのパブリック IP アドレスがリリースされ、Elastic IP アドレスに関連付けられたセカンダリプライベート IP アドレスがある場合、インスタンスは新しいパブリック IP アドレスを受信しません。

必要に応じて、インスタンスに関連付けおよびインスタンスから関連付けできる永続的なパブリック IP アドレスが必要な場合は、Elastic IP アドレスを使用します。

動的 DNS を使用して既存の DNS 名を新しいインスタンスのパブリック IP アドレスにマッピングした場合、その IP アドレスがインターネット内に伝達されるまでに最大 24 時間かかることがあります。その結果、新しいインスタンスはトラフィックを受信せず、終了したインスタンスがリクエストの受信を継続することがあります。この問題を解決するには、Elastic IP アドレスを使用します。独自の Elastic IP アドレスを割り当てて、それをインスタンスに関連付けることができます。詳細については、「Elastic IP アドレス」を参照してください。

注記
  • AWS では、実行中のインスタンスに関連付けられているパブリック IPv4 アドレスと Elastic IP アドレスを含む、すべてのパブリック IPv4 アドレスに対して料金が課されます。詳細については、「Amazon VPC の料金」ページの「パブリック IPv4 アドレス」タブを参照してください。

  • インスタンスがパブリック NAT IP アドレスを使用して他のインスタンスにアクセスする場合、アクセス先のインスタンスが同じリージョンにあるかどうかによって、リージョンデータ転送またはインターネットデータ転送に対して課金されます。

Elastic IP アドレス (IPv4)

Elastic IP アドレスは、アカウントに割り当てることができるパブリック IPv4 アドレスです。このアドレスとインスタンスを関連付けたり、その関連付けを解除したりできます。アドレスはアカウントに割り当てられ、割り当てを解除するまでアカウントに残ります。Elastic IP アドレスとその使用方法の詳細については、Elastic IP アドレスを参照してください。

IPv6 に対する Elastic IP アドレスはサポートされていません。

IPv6 アドレス

必要に応じて、IPv6 CIDR ブロックを VPC と関連付けることができます。また、IPv6 CIDR ブロックをサブネットと関連付けることができます。VPC の IPv6 CIDR ブロックは、Amazon の IPv6 アドレスのプールから自動的に割り当てられます。独自にアドレス範囲を選択することはできません。詳細については、「Amazon VPC ユーザーガイド」の次のトピックを参照してください。

IPv6 アドレスはグローバルに一意であり、プライベートのまま、またはインターネット経由で到達可能になるように設定できます。IPv6 CIDR ブロックが VPC およびサブネットと関連付けられていて、以下のいずれかに該当する場合、インスタンスには IPv6 アドレスが割り当てられます。

  • 起動時にサブネットからインスタンスに IPv6 アドレスが自動的に割り当てられるように設定されている。詳細については、サブネットの IPv6 アドレス指定属性の変更を参照してください。

  • 起動時に IPv6 アドレスをインスタンスに割り当てる。

  • 起動後に IPv6 アドレスをインスタンスのプライマリネットワークインターフェイスに割り当てる。

  • 起動後に IPv6 アドレスを同じサブネットのネットワークインターフェイスに割り当て、そのネットワークインターフェイスをインスタンスにアタッチする。

起動時にインスタンスに IPv6 アドレスが割り当てられると、そのアドレスはインスタンスのプライマリネットワークインターフェイス (eth0) と関連付けられます。インスタンスのプライマリネットワークインターフェイス (eth0) の IPv6 アドレスは、次の方法で管理できます。

IPv6 アドレスは、インスタンスの停止して起動、または休止して起動する際には保持され、インスタンスの終了時にリリースされます。IPv6 アドレスは、別のネットワークインターフェイスに割り当てられている間は再割り当てできません。最初に割り当てを解除する必要があります。

インスタンスのサブネットのルーティングを制御するか、セキュリティグループとネットワーク ACL ルールを使用することで、IPv6 アドレスを介してインスタンスに接続できるかどうかを制御できます。詳細については、「Amazon VPC User Guide」のインターネットワークトラフィックのプライバシーを参照してください。

予約済み IPv6 アドレスの範囲については、「IANA IPv6 Special-Purpose Address Registry」と「RFC4291」を参照してください。

インスタンスの IPv4 アドレスの操作

インスタンスを起動するときに、パブリック IPv4 アドレスをインスタンスに割り当てることができます。インスタンスの IPv4 アドレスをコンソールに表示するには、Instances (インスタンス) ページまたは [Network Interfaces] (ネットワークインターフェイス) ページを使用します。

IPv4 アドレスの表示

Amazon EC2 コンソールを使用して、インスタンスのプライベート IPv4 アドレスおよびパブリック IPv4 アドレスを表示できます。また、インスタンスメタデータを使用して、インスタンス内からインスタンスのパブリック IPv4 アドレスとプライベート IPv4 アドレスを確認することもできます。詳細については、インスタンスメタデータとユーザーデータを参照してください。

パブリック IPv4 アドレスは、コンソールのネットワークインターフェイスのプロパティとして表示されますが、NAT によってプライマリプライベート IPv4 アドレスにマッピングされます。したがって、インスタンスのネットワークインターフェイスのプロパティを、例えば ifconfig (Linux) または ipconfig (Windows) を通して調べてみると、パブリック IPv4 アドレスは表示されていません。インスタンスからインスタンスのパブリック IPv4 アドレスを判断するには、インスタンスメタデータを使用します。

コンソールを使用してインスタンスの IPv4 アドレスを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [Instances] を選択し、インスタンスを選択します。

  3. [Networking (ネットワーク)] タブでは、次の情報が表示されます。

    • パブリック IPv4 アドレス — パブリック IPv4 アドレス。Elastic IP アドレスをインスタンスまたはプライマリネットワークインターフェイスに関連付けた場合、これが Elastic IP アドレスになります。

    • プライベート IPv4 アドレス — プライベート IPv4 アドレス。

    • セカンダリプライベート IPv4 アドレス — 任意のセカンダリプライベート IPv4 アドレス。

  4. 詳細情報を表示するには、[ネットワーキング] タブで、プライマリネットワークインターフェイスの ID を選択して [ネットワークインターフェイス] ページを開き、ネットワークインターフェイスの ID を選択して詳細ページを開きます。

コマンドラインを使用してインスタンスの IPv4 アドレスを表示するには

次のいずれかのコマンドを使用できます。これらのコマンドラインインターフェイスの詳細については、「Amazon EC2 へのアクセス」を参照してください。

インスタンスのメタデータを使用してインスタンスの IPv4 アドレスを確認するには
  1. インスタンスに接続します。詳細については、「Linux インスタンスへの接続」を参照してください。

  2. プライベート IP アドレスにアクセスするには、次のコマンドを使用します。

    IMDSv2
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/local-ipv4
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/local-ipv4
  3. パブリック IP アドレスにアクセスするには、次のコマンドを使用します。

    IMDSv2
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-ipv4
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/public-ipv4

    インスタンスに Elastic IP アドレスが関連付けられている場合、返される値は Elastic IP アドレスの値です。

インスタンス起動時のパブリック IPv4 アドレスの割り当て

各サブネットに、そのサブネット内で起動されるインスタンスにパブリック IP アドレスが割り当てられるかどうかを決定する属性があります。デフォルトでは、デフォルト以外のサブネットではこの属性が false に設定されており、デフォルトのサブネットではこの属性が true に設定されています。インスタンスを起動する場合、パブリック IPv4 アドレス指定機能を使用してインスタンスにパブリック IPv4 アドレスを割り当てるかどうかを制御することもできます。サブネットの IP アドレス指定属性のデフォルトの動作をオーバーライドできます。パブリック IPv4 アドレスは、Amazon のパブリック IPv4 アドレスプールから割り当てられ、デバイスインデックス eth0 を持つネットワークインターフェイスに割り当てられます。この機能は、インスタンス起動時の特定の条件により異なります。

考慮事項
  • ネットワークインターフェースに関連付けられた IP アドレスを管理することで、起動後にインスタンスからパブリック IP アドレスの割り当てを解除できます。パブリック IPv4 アドレスの詳細については、「パブリック IPv4 アドレス」を参照してください。

  • 複数のネットワークインターフェイスを指定した場合、パブリック IP アドレスを自動割り当てすることはできません。さらに、eth0 のように既存のネットワークインターフェイスを指定すると、パブリック IP の自動割り当て機能を使用してサブネット設定をオーバーライドすることはできません。

  • 起動時にパブリック IP アドレスをインスタンスに割り当てるかどうかにかかわらず、起動後に Elastic IP アドレスをインスタンスに関連付けることができます。詳細については、「Elastic IP アドレス」を参照してください。サブネットのパブリック IPv4 アドレス指定動作を変更することもできます。詳細については、「サブネットの IPv4 アドレス指定属性の変更」を参照してください。

コンソールを使用してインスタンス起動時にパブリック IPv4 アドレスを割り当てるには

手順に従ってインスタンスを起動し、[Network Settings] (ネットワーク設定) を設定するときに、[Auto-assign Public IP] (パブリック IP を自動的に割り当てる) オプションを選択します。

コマンドラインを使用してパブリック IP アドレス指定機能を有効または無効にするには

次のいずれかのコマンドを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセスを参照してください。

  • run-instances コマンド (AWS CLI) で --associate-public-ip-address または --no-associate-public-ip-address オプションを使用します。

  • New-EC2Instance コマンド (AWS Tools for Windows PowerShell) で -AssociatePublicIp パラメータを使用します。

インスタンスの IPv6 アドレスの操作

インスタンスに割り当てられた IPv6 アドレスを表示したり、インスタンスにパブリック IPv6 アドレスを割り当てたり、インスタンスから IPv6 アドレスの割り当てを解除したりできます。これらのアドレスは、[Instances] (インスタンス) ページまたは [Network Interfaces] (ネットワークインターフェイス) ページを使用してコンソールに表示できます。

IPv6 アドレスの表示

Amazon EC2 コンソール、AWS CLI、インスタンスメタデータを使用して、インスタンスの IPv6 アドレスを表示できます。

コンソールを使用してインスタンスの IPv6 アドレスを表示するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. インスタンスを選択します。

  4. [Networking] (ネットワーキング) タブで、[IPv6 addresses] (IPv6 アドレス) を見つけます。

コマンドラインを使用してインスタンスの IPv6 アドレスを表示するには

次のいずれかのコマンドを使用できます。これらのコマンドラインインターフェイスの詳細については、「Amazon EC2 へのアクセス」を参照してください。

インスタンスメタデータを使用してインスタンスの IPv6 アドレスを表示するには
  1. インスタンスに接続します。詳細については、「Linux インスタンスへの接続」を参照してください。

  2. 次のコマンドを使用して IPv6 アドレスを表示します (http://169.254.169.254/latest/meta-data/network/interfaces/macs/ から MAC アドレスを取得できます)。

    IMDSv2
    [ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
    IMDSv1
    [ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s

インスタンスへの IPv6 アドレスの割り当て

VPC とサブネットに IPv6 CIDR ブロックが関連付けられている場合は、起動時または起動後に IPv6 アドレスをインスタンスに割り当てることができます。IPv6 アドレスは、サブネットの IPv6 アドレス範囲から割り当てられ、eth0 のデバイスインデックスを持つネットワークインターフェイスに割り当てられます。

インスタンス起動時に IPv6 アドレスを割り当てるには

手順に従ってインスタンスを起動し、[Network Settings] (ネットワーク設定) を設定するときに、[Auto-assign IPv6 IP] (IPv6 IP を自動的に割り当てる) オプションを選択します。

起動後に IPv6 アドレスをインスタンスに割り当てるには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. インスタンスを選択後、[アクション]、[ネットワーク]、[IP アドレスの管理] の順に選択します。

  4. ネットワークインターフェイスを展開します。[IPv6 addresses] (IPv6 アドレス) で、[Assign new IP address] (新しい IP アドレスの割り当て) を選択します。サブネットの範囲から IPv6 アドレスを入力します。また、フィールドを空白のままにすると Amazon によって IPv6 アドレスが自動的に選択されます。

  5. [Save] を選択します。

コマンドラインを使用して IPv6 アドレスを割り当てるには

次のいずれかのコマンドを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセスを参照してください。

インスタンスからの IPv6 アドレスの割り当て解除

IPv6 アドレスは、インスタンスからいつでも割り当て解除できます。

コンソールを使用してインスタンスから IPv6 アドレスを割り当て解除するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

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

  3. インスタンスを選択後、[アクション]、[ネットワーク]、[IP アドレスの管理] の順に選択します。

  4. ネットワークインターフェイスを展開します。[IPv6 addresses] (IPv6 アドレス) で、IPv6 アドレスの横にある [Unassign] (割り当て解除) を選択します。

  5. [Save] を選択します。

コマンドラインを使用してインスタンスから IPv6 アドレスを割り当て解除するには

次のいずれかのコマンドを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセスを参照してください。

EC2 インスタンスのホスト名

EC2 インスタンスを作成すると、AWS は、そのインスタンスのホスト名を作成します。ホスト名のタイプと、AWS によるプロビジョニング方法についての詳細Amazon EC2 インスタンスのホスト名タイプを参照してください。Amazon は、Amazon が提供するホスト名を IPv4 および IPv6 アドレスに解決する DNS サーバーを提供します。Amazon DNS サーバーは VPC ネットワークの範囲に 2 をプラスしたアドレスにあります。詳細については、Amazon VPC ユーザーガイドの「DNS attributes for your VPC」(VPC の DNS 属性) を参照してください。

リンクローカルアドレスはよく知られた、ルーティング不可の IP アドレスです。Amazon EC2 は、リンクローカルアドレス空間のアドレスを使用して、EC2 インスタンスからのみアクセスできるサービスを提供します。これらのサービスはインスタンス上では実行されず、基盤となるホスト上で実行されます。これらのサービスのリンクローカルアドレスにアクセスすると、Xen ハイパーバイザーまたは Nitro コントローラーのどちらかと通信することになります。

リンクローカルアドレスの範囲
  • IPv4 — 169.254.0.0/16 (169.254.0.0~169.254.255.255)

  • IPv6 – fe80::/10

リンクローカルアドレスを使用してアクセスするサービス