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 アドレスは、別のインスタンスに割り当て直すことができます。詳細については、EC2 インスタンスで複数の 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 アドレス」を参照してください。

Amazon VPC IP Address Manager (IPAM) を使用している場合は、AWS からパブリック IPv4 アドレスの連続したブロックを取得し、それを使用して Elastic IP アドレスを AWS リソースに割り当てることができます。連続した IPv4 アドレスブロックを使用すると、セキュリティアクセスコントロールリストの管理オーバーヘッドを大幅に削減し、AWS でスケーリングするエンタープライズの IP アドレスの割り当てと追跡を簡素化できます。詳細については、「Amazon VPC IPAM ユーザーガイド」の「Allocate sequential Elastic IP addresses from an IPAM pool」を参照してください。

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

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

パブリック IPv4 アドレスの最適化

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

次のリストには、使用するパブリック IPv4 アドレスの数を最適化するために実行できるアクションが含まれています。

  • Elastic Load Balancer を使用して EC2 インスタンスへのトラフィックを分散させ、インスタンス に割り当てられたプライマリ ENI でパブリック IP の自動割り当てを無効にします。ロードバランサーは 1 つのパブリック IPv4 アドレスを使用するため、パブリック IPv4 アドレスの数を削減できます。パブリック IPv4 アドレスの数をさらに削減すために、既存のロードバランサーを統合することもできます。

  • NAT ゲートウェイを使用する唯一の理由が、メンテナンスまたは緊急のためにプライベートサブネットの EC2 インスタンスに SSH 接続することである場合は、代わりに EC2 Instance Connect Endpoint を使用することを検討してください。EC2 Instance Connect Endpoint を使用すると、パブリック IPv4 アドレスを使わないでインスタンスに接続できます。

  • EC2 インスタンスがパブリックサブネットにあり、パブリック IP アドレスが割り当てられている場合は、インスタンスをプライベートサブネットに移動し、パブリック IP アドレスを削除して、EC2 インスタンスとの間のアクセスを許可するためにパブリック NAT ゲートウェイを使用することを検討してください。NAT ゲートウェイを使用する場合は、費用に注意する必要があります。この計算方法を使用して、NAT ゲートウェイを使用する場合の費用対効果を判断します。この計算に必要な Number of public IPv4 addresses は、AWS請求コストと使用状況レポート を作成することで取得できます。

    NAT gateway per hour + NAT gateway public IPs + NAT gateway transfer / Existing public IP cost

    コードの説明は以下のとおりです。

    • NAT gateway per hour = $0.045 * 730 hours in a month * Number of Availability Zones the NAT gateways are in

    • NAT gateway public IPs = $0.005 * 730 hours in a month * Number of IPs associated with your NAT gateways

    • NAT gateway transfer = $0.045 * Number of GBs that will go through the NAT gateway in a month

    • Existing public IP cost = $0.005 * 730 hours in a month * Number of public IPv4 addresses

    合計が 1 未満の場合、NAT ゲートウェイの方がパブリック IPv4 アドレスよりも安価に済みます。

  • AWS PrivateLink を使用して、パブリック IPv4 アドレスやインターネットゲートウェイを使用するのではなく、AWS サービスまたは他の AWS アカウントによってホストされているサービスにプライベートに接続します。

  • Amazon が所有するパブリック IPv4 アドレスを使用するのではなく、独自の IP アドレス範囲 (BYOIP) を AWS 環境に持ち込み、その範囲をパブリック IPv4 アドレスに使用します。

  • サブネット内に起動されたインスタンスに対するパブリック IPv4 アドレスの自動割り当てを無効ににします。このオプションは通常、サブネットの作成時に VPC に対してデフォルトで無効になっていますが、既存のサブネットをチェックして無効になっていることを確認する必要があります。

  • パブリック IPv4 アドレスを必要としない EC2 インスタンスがある場合は、インスタンスにアタッチされたネットワークインターフェイスでパブリック IP の自動割り当てが無効になっていることを確認してください

  • プライベートサブネットの EC2 インスタンス用に AWS Global Accelerator でアクセラレータエンドポイントを設定して、パブリック IP アドレスを使用せずにインターネットトラフィックが VPCs内のエンドポイントに直接流れるようにします。また、独自のアドレスを AWS Global Accelerator に持ち込んで、アクセラレーターの静的 IP アドレスに独自の IPv4 アドレスを使用することもできます。

IPv6 アドレス

IPv6 アドレスはグローバルに一意であり、プライベートのまま、またはインターネット経由で到達可能になるように設定できます。AWS では、パブリック IPv6 とプライベート IPv6 のどちらのアドレス指定も利用可能です。

  • プライベート IPv6: AWS では、AWS からインターネット上でアドバタイズされておらず、アドバタイズできない IPv6 アドレスをプライベート IPv6 アドレスと見なします。

  • パブリック IPv6: AWS では、AWS からインターネットでアドバタイズされている IPv6 アドレスをパブリック IPv6 アドレスと見なします。

パブリックおよびプライベート IPv6 アドレスの詳細については、「Amazon VPC ユーザーガイド」の「IPv6 アドレス」を参照してください。

IPv6 CIDR ブロックが VPC およびサブネットと関連付けられており、以下のいずれかに該当する場合、EC2 インスタンスには IPv6 アドレスが割り当てられます。

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

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

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

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

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

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

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

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

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

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