

# Amazon EC2 インスタンスの IP アドレス指定
<a name="using-instance-addressing"></a>

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

EC2 インスタンスを起動するときに、VPC とサブネットを指定できます。インスタンスは、サブネットの CIDR 範囲からプライベート IPv4 アドレスを受け取ります。必要に応じて、インスタンスにパブリック IPv4 アドレスと IPv6 アドレスを設定できます。異なる VPC の EC2 インスタンスがパブリック IP アドレスを使用して通信する場合、トラフィックは AWS プライベートグローバルネットワークにとどまり、パブリックインターネットを通過しません。

**Topics**
+ [プライベート IPv4 アドレス](#concepts-private-addresses)
+ [パブリック IPv4 アドレス](#concepts-public-addresses)
+ [パブリック IPv4 アドレスの最適化](#concepts-public-ip-address-opt)
+ [IPv6 アドレス](#ipv6-addressing)
+ [複数の IP アドレス](#multiple-ip-addresses)
+ [EC2 インスタンスのホスト名](#amazon-dns)
+ [リンクローカルアドレス](#link-local-addresses)
+ [EC2 インスタンスの IPv4 アドレスを管理する](working-with-ip-addresses.md)
+ [EC2 インスタンスの IPv6 アドレスを管理する](working-with-ipv6-addresses.md)
+ [EC2 インスタンスのセカンダリ IP アドレス](instance-secondary-ip-addresses.md)
+ [Windows インスタンスのセカンダリプライベート IPv4 アドレスを設定する](config-windows-multiple-ip.md)

## プライベート IPv4 アドレス
<a name="concepts-private-addresses"></a>

プライベート IPv4 アドレスはインターネットから到達できない IP アドレスです。プライベート IPv4 アドレスは同じ VPC 内のインスタンス間の通信に使用できます。プライベート IPv4 アドレスの標準および仕様については[RFC 1918](http://www.faqs.org/rfcs/rfc1918.html) を参照してください。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]](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html) (IP アドレス指定) を参照してください。プライマリプライベート IP アドレスを指定しないでインスタンスを起動すると、サブネットの IPv4 範囲内で使用可能な IP アドレスが自動的に選択されます。各インスタンスにはプライマリプライベート IPv4 アドレスが割り当てられたデフォルトのネットワークインターフェイス (eth0) があります。追加のプライベート IPv4 アドレス (*セカンダリプライベート IPv4 アドレス*) も指定できます。プライマリプライベート IP アドレスとは異なり、セカンダリプライベート IP アドレスは別のインスタンスに割り当て直すことができます。詳細については、「[複数の IP アドレス](#multiple-ip-addresses)」を参照してください。

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

## パブリック IPv4 アドレス
<a name="concepts-public-addresses"></a>

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

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

インスタンスがパブリック IP アドレスを割り当てられるかどうかを制御するには以下の方法を使用します。
+ **サブネットのパブリック IP アドレス指定属性を変更します。**詳細については「*Amazon VPC ユーザーガイド*」の「[サブネットのパブリック IPv4 アドレス指定属性の変更](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)」を参照してください。
+ **起動時にパブリック IP アドレス指定機能を有効または無効にします。**これにより、サブネットのパブリック IP アドレス指定属性が上書きされます。詳細については、「[起動時にパブリック IPv4 アドレスを割り当てる](working-with-ip-addresses.md#public-ip-addresses)」を参照してください。
+ **起動後にインスタンスからパブリック IP アドレスの割り当てを解除します。**詳細については、「[ネットワークインターフェイスの IP アドレスを管理する](managing-network-interface-ip-addresses.md)」を参照してください。

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

次の場合、パブリック IP アドレスをインスタンスか解放し、新しい IP アドレスを割り当てます。
+ インスタンスが停止、休止状態、または終了すると、インスタンスのパブリック IP アドレスが開放されます。停止または休止状態のインスタンスは起動時に、新しいパブリック IP アドレスが割り当てられます。
+ Elastic IP アドレスをインスタンスに関連付けると、パブリック IP アドレスが解放されます。インスタンスから Elastic IP アドレスの関連付けを解除すると、そのインスタンスには新しいパブリック IP アドレスが割り当てられます。
+ インスタンスのパブリック IP アドレスを開放し、セカンダリネットワークインターフェイスがある場合、新しいパブリック IP アドレスは割り当てられません。
+ インスタンスのパブリック IP アドレスが開放され、且つそのインスタンスに Elastic IP アドレスに関連付けられたセカンダリプライベート IP アドレスがある場合、新しいパブリック IP アドレスは割り当てられません。

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

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

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](https://docs.aws.amazon.com/vpc/latest/ipam/tutorials-eip-pool.html)」を参照してください。

**考慮事項**
+ AWS は、実行中のインスタンスに関連付けられているパブリック IPv4 アドレスや Elastic IP アドレスを含めたすべてのパブリック IPv4 アドレスの料金を請求します。詳細については「[Amazon VPC の料金](https://aws.amazon.com/vpc/pricing/)」ページの「**パブリック IPv4 アドレス**」タブを参照してください。
+ インスタンスがパブリック NAT IP アドレスを使用して他のインスタンスにアクセスする場合、アクセス先のインスタンスが同じリージョンにあるかどうかによって、リージョンデータ転送またはインターネットデータ転送に対して課金されます。

## パブリック IPv4 アドレスの最適化
<a name="concepts-public-ip-address-opt"></a>

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

次のリストには使用するパブリック IPv4 アドレスの数を最適化するために実行できるアクションが含まれています。
+ [Elastic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/load-balancer-getting-started.html) を使用して EC2 インスタンスへのトラフィックを分散させ、[インスタンス に割り当てられたプライマリ ENI で**パブリック IP の自動割り当て**を無効にします](managing-network-interface-ip-addresses.md)。ロードバランサーは 1 つのパブリック IPv4 アドレスを使用するため、パブリック IPv4 アドレスの数を削減できます。パブリック IPv4 アドレスの数をさらに削減すために、既存のロードバランサーを統合することもできます。
+ NAT ゲートウェイを使用する唯一の理由が、メンテナンスまたは緊急のためにプライベートサブネットの EC2 インスタンスに SSH 接続することである場合は代わりに [EC2 Instance Connect Endpoint](connect-using-eice.md) を使用することを検討してください。EC2 Instance Connect Endpoint を使用すると、パブリック IPv4 アドレスを使わないでインスタンスに接続できます。
+ EC2 インスタンスがパブリックサブネットにあり、パブリック IP アドレスが割り当てられている場合はインスタンスをプライベートサブネットに移動し、パブリック IP アドレスを削除して、EC2 インスタンスとの間のアクセスを許可するために[パブリック NAT ゲートウェイ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)を使用することを検討してください。NAT ゲートウェイを使用する場合は費用に注意する必要があります。この計算方法を使用して、NAT ゲートウェイを使用する場合の費用対効果を判断します。この計算に必要な `Number of public IPv4 addresses` は[AWS請求コストと使用状況レポート を作成](https://aws.amazon.com/blogs/networking-and-content-delivery/identify-and-optimize-public-ipv4-address-usage-on-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](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html) を使用して、パブリック IPv4 アドレスやインターネットゲートウェイを使用するのではなく、AWS サービスまたは他の AWS アカウントによってホストされているサービスにプライベートに接続します。
+ Amazon が所有するパブリック IPv4 アドレスを使用するのではなく、[独自の IP アドレス範囲 (BYOIP) を AWS 環境に持ち込み](ec2-byoip.md)、その範囲をパブリック IPv4 アドレスに使用します。
+ [サブネット内に起動されたインスタンスに対するパブリック IPv4 アドレスの自動割り当て](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)を無効ににします。このオプションは通常、サブネットの作成時に VPC に対してデフォルトで無効になっていますが、既存のサブネットをチェックして無効になっていることを確認する必要があります。
+ パブリック IPv4 アドレスを必要としない EC2 インスタンスがある場合は[インスタンスにアタッチされたネットワークインターフェイスで**パブリック IP の自動割り当て**が無効になっていることを確認してください](managing-network-interface-ip-addresses.md)。
+ [プライベートサブネットの EC2 インスタンス用に AWS Global Accelerator](https://docs.aws.amazon.com/global-accelerator/latest/dg/about-endpoints.html) でアクセラレータエンドポイントを設定して、パブリック IP アドレスを使用せずにインターネットトラフィックが VPCs内のエンドポイントに直接流れるようにします。また、[独自のアドレスを AWS Global Accelerator に持ち込んで](https://docs.aws.amazon.com/global-accelerator/latest/dg/using-byoip.html)、アクセラレーターの静的 IP アドレスに独自の IPv4 アドレスを使用することもできます。

## IPv6 アドレス
<a name="ipv6-addressing"></a>

IPv6 アドレスはグローバルに一意であり、プライベートのまま、またはインターネット経由で到達可能になるように設定できます。AWS ではパブリック IPv6 とプライベート IPv6 のどちらのアドレス指定も利用可能です。
+ **プライベート IPv6**: AWS ではAWS からインターネット上でアドバタイズされておらず、アドバタイズできない IPv6 アドレスをプライベート IPv6 アドレスと見なします。
+ **パブリック IPv6**: AWS ではAWS からインターネットでアドバタイズされている IPv6 アドレスをパブリック IPv6 アドレスと見なします。

パブリックおよびプライベート IPv6 アドレスの詳細については「Amazon VPC ユーザーガイド」の「[IPv6 アドレス](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6-addresses)」を参照してください。

C1, M1, M2, M3 を除くすべてのインスタンスタイプが IPv6 アドレスをサポートします。 T1

IPv6 CIDR ブロックが VPC およびサブネットと関連付けられており、以下のいずれかに該当する場合、EC2 インスタンスには IPv6 アドレスが割り当てられます。
+ 起動時にサブネットからインスタンスに IPv6 アドレスが自動的に割り当てられるように設定されている。詳細については「[サブネットの IP アドレス指定属性を変更する](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)」を参照してください。
+ 起動時に IPv6 アドレスをインスタンスに割り当てる。
+ 起動後に IPv6 アドレスをインスタンスのプライマリネットワークインターフェイスに割り当てる。
+ 起動後に IPv6 アドレスを同じサブネットのネットワークインターフェイスに割り当て、そのネットワークインターフェイスをインスタンスにアタッチします。

起動時にインスタンスに IPv6 アドレスが割り当てられると、そのアドレスはインスタンスのプライマリネットワークインターフェイス (eth0) と関連付けられます。インスタンスのプライマリネットワークインターフェイス (eth0) の IPv6 アドレスは次の方法で管理できます。
+ ネットワークインターフェイスへ IPv6 アドレスを割り当て/割り当て解除します。ネットワークインターフェイスに割り当てることができる IPv6 アドレスの数と、インスタンスにアタッチできるネットワークインターフェイスの数はインスタンスタイプごとに異なります。詳細については「[ネットワークインターフェイスあたりの IP アドレスの最大数](AvailableIpPerENI.md)」を参照してください。
+ プライマリ IPv6 アドレスを有効にします。プライマリ IPv6 アドレスにより、インスタンスまたは ENI へのトラフィックの中断を回避できます。詳細については「[EC2 インスタンス用のネットワークインターフェイスを作成する](create-network-interface.md)」または「[ネットワークインターフェイスの IP アドレスを管理する](managing-network-interface-ip-addresses.md)」を参照してください。

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

インスタンスのサブネットのルーティングを制御するか、セキュリティグループとネットワーク ACL ルールを使用することで、IPv6 アドレスを介してインスタンスに接続できるかどうかを制御できます。詳細については「*Amazon VPC User Guide*」の[インターネットワークトラフィックのプライバシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)を参照してください。

予約済み IPv6 アドレスの範囲については「[IANA IPv6 Special-Purpose Address Registry](http://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml)」と「[RFC4291](https://tools.ietf.org/html/rfc4291)」を参照してください。

## 複数の IP アドレス
<a name="multiple-ip-addresses"></a>

インスタンスに複数のプライベート IPv4 および IPv6 アドレスを指定できます。インスタンスに指定できるネットワークインターフェイスとプライベート IPv4 および IPv6 アドレスの数はインスタンスタイプによって異なります。詳細については、「[ネットワークインターフェイスあたりの IP アドレスの最大数](AvailableIpPerENI.md)」を参照してください。

**ユースケース**
+ 1 つのサーバーで複数の SSL 証明書を使用し、各インターフェイスに各 IP アドレスに割り当てることで、1 つのサーバーで複数のウェブサイトをホストします。
+ 各ネットワークインターフェイス用に複数の IP アドレスを持つネットワークアプライアンス (ファイアウォールやロードバランサーなど) を運用します。
+ インスタンスでエラーが発生した場合に、セカンダリ IP アドレスをスタンバイインスタンスに再割り当てすることによって、内部トラフィックをスタンバイインスタンスにリダイレクトします。

**複数の IP アドレスを使用する方法**
+ セカンダリプライベート IPv4 アドレスをネットワークインターフェイスに割り当てることができます。
+ IPv6 CIDR ブロックが関連付けられているサブネット内のネットワークインターフェイスに複数の IPv6 アドレスを割り当てることができます。
+ ネットワークインターフェイスのサブネットの IPv4 CIDR ブロック範囲からセカンダリ IPv4 アドレスを選択する必要があります。
+ ネットワークインターフェイスのサブネットの IPv6 CIDR ブロック範囲から IPv6 アドレスを選択する必要があります。
+ セキュリティグループを関連付けるのは個々の IP アドレスではなく、ネットワークインターフェイスです。そのため、ネットワークインターフェイスで指定した各 IP アドレスはそのネットワークインターフェイスのセキュリティグループの対象です。
+ 複数の IP アドレスは実行中または停止したインスタンスにアタッチされたネットワークインターフェイスに割り当てたり、割り当て解除したりできます。
+ ネットワークインターフェイスに割り当てられているセカンダリプライベート IPv4 アドレスは明示的に許可された場合、別のネットワークインターフェイスに割り当て直すことができます。
+ IPv6 アドレスは最初に既存のネットワークインターフェイスから割り当て解除しない限り、別のネットワークインターフェイスに再割り当てすることはできません。
+ コマンドラインツールまたは API を使用して複数の IP アドレスをネットワークインターフェイスに割り当てるときに、いずれかの IP アドレスを割り当てることができない場合、オペレーション全体が失敗します。
+ プライマリプライベート IPv4 アドレス、セカンダリプライベート IPv4 アドレス、Elastic IP アドレス、および IPv6 アドレスはセカンダリネットワークインターフェイスをインスタンスからデタッチしたり、インスタンスにアタッチしても、セカンダリネットワークインターフェイスへの割り当ては維持します。
+ プライマリネットワークインターフェイスをインスタンスからデタッチすることはできませんが、プライマリネットワークインターフェイスのセカンダリプライベート IPv4 アドレスを別のネットワークインターフェイスに再割り当てすることはできます。

詳細については、「[EC2 インスタンスのセカンダリ IP アドレス](instance-secondary-ip-addresses.md)」を参照してください。

## EC2 インスタンスのホスト名
<a name="amazon-dns"></a>

EC2 インスタンスを作成すると、AWS はそのインスタンスのホスト名を作成します。ホスト名のタイプと、AWS によるプロビジョニング方法についての詳細[EC2 インスタンスのホスト名とドメイン](ec2-instance-naming.md)を参照してください。Amazon は、Amazon が提供するホスト名を IPv4 および IPv6 アドレスに解決する DNS サーバーを提供します。Amazon DNS サーバーは VPC ネットワークの範囲に 2 をプラスしたアドレスにあります。詳細については、*Amazon VPC ユーザーガイド*の「[DNS attributes for your VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)」(VPC の DNS 属性) を参照してください。

## リンクローカルアドレス
<a name="link-local-addresses"></a>

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

**リンクローカルアドレスの範囲**
+ IPv4 — 169.254.0.0/16 (169.254.0.0～169.254.255.255)
+ IPv6 – fe80::/10

**リンクローカルアドレスを使用してアクセスするサービス**
+ [インスタンスメタデータサービス](instancedata-data-retrieval.md)
+ [Amazon Route 53 Resolver](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#AmazonDNS) (Amazon DNS サーバーとも呼ばれます)
+ [Amazon Time Sync Service](set-time.md)
+ [AWS KMS サーバー](common-messages.md#activate-windows)

# EC2 インスタンスの IPv4 アドレスを管理する
<a name="working-with-ip-addresses"></a>

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

**Topics**
+ [起動時にパブリック IPv4 アドレスを割り当てる](#public-ip-addresses)
+ [起動時にプライベート IPv4 アドレスを割り当てる](#assign-private-ipv4-address)
+ [プライマリ IPv4 アドレスを表示する](#view-instance-ipv4-addresses)
+ [インスタンスメタデータを使用して IPv4 アドレスを表示するには](#view-instance-ipv4-addresses-imds)

## 起動時にパブリック IPv4 アドレスを割り当てる
<a name="public-ip-addresses"></a>

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

**考慮事項**
+ [ネットワークインターフェースに関連付けられた IP アドレスを管理する](managing-network-interface-ip-addresses.md)ことで、起動後にインスタンスからパブリック IP アドレスの割り当てを解除できます。パブリック IPv4 アドレスの詳細については[パブリック IPv4 アドレス](using-instance-addressing.md#concepts-public-addresses)を参照してください。
+ 複数のネットワークインターフェイスを指定した場合、パブリック IP アドレスを自動で割り当てることはできません。さらに、eth0 のように既存のネットワークインターフェイスを指定すると、パブリック IP の自動割り当て機能を使用してサブネット設定をオーバーライドすることはできません。
+ 起動時にパブリック IP アドレスをインスタンスに割り当てるかどうかにかかわらず、起動後に Elastic IP アドレスをインスタンスに関連付けることができます。詳細については「[Elastic IP アドレス](elastic-ip-addresses-eip.md)」を参照してください。サブネットのパブリック IPv4 アドレス指定動作を変更することもできます。詳細については「[サブネットの IPv4 アドレス指定属性の変更](https://docs.aws.amazon.com/vpc/latest/userguide/subnet-public-ip.html)」を参照してください。

------
#### [ Console ]

**起動時にパブリック IPv4 アドレスを割り当てるには**  
手順に従って[インスタンスを起動](ec2-launch-instance-wizard.md)し、[[Network Settings]](ec2-instance-launch-parameters.md#liw-network-settings) (ネットワーク設定) を設定するときに、**[Auto-assign Public IP]** (パブリック IP を自動的に割り当てる) オプションを選択してください。

------
#### [ AWS CLI ]

**起動時にパブリック IPv4 アドレスを割り当てるには**  
`--associate-public-ip-address` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。

```
--associate-public-ip-address
```

------
#### [ PowerShell ]

**起動時にパブリック IPv4 アドレスを割り当てるには**  
`-AssociatePublicIp` パラメータで [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。

```
-AssociatePublicIp $true
```

------

## 起動時にプライベート IPv4 アドレスを割り当てる
<a name="assign-private-ipv4-address"></a>

プライベート IPv4 アドレスは、サブネットの IPv4 アドレス範囲から指定できます。また、Amazon EC2 に自動選択させることもできます。これはプライマリネットワークインターフェイスの IP アドレスです。

起動後に IPv4 アドレスを割り当てる方法については、[インスタンスにセカンダリ IP アドレスを割り当てる](instance-secondary-ip-addresses.md#assign-secondary-ip-address) を参照してください。

------
#### [ Console ]

**起動時にプライベート IPv4 アドレスを割り当てるには**  
[インスタンスを起動する](ec2-launch-instance-wizard.md)ための手順に従います。[[ネットワーク設定]](ec2-instance-launch-parameters.md#liw-network-settings) を設定するときは、**[高度なネットワーク設定]** を展開して**プライマリ IP** の値を入力します。

------
#### [ AWS CLI ]

**起動時にプライベート IPv4 アドレスを割り当てるには**  
`--private-ip-address` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。

```
--private-ip-addresses 10.251.50.12
```

Amazon EC2 に IP アドレスを選択させるときは、このオプションを省略します。

------
#### [ PowerShell ]

**起動時にプライベート IPv4 アドレスを割り当てるには**  
`-PrivateIpAddress` パラメータで [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。

```
-PrivateIpAddress 10.251.50.12
```

Amazon EC2 に IP アドレスを選択させるときは、このパラメータを省略します。

------

## プライマリ IPv4 アドレスを表示する
<a name="view-instance-ipv4-addresses"></a>

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

------
#### [ Console ]

**インスタンスの IPv4 アドレスを表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

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

1. **[ネットワーク]** タブで、**パブリック IPv4 アドレス**と**プライベート IPv4 アドレス**を見つけます。

1. (オプション) **[ネットワーク]** タブには、インスタンスのネットワークインターフェイスと Elastic IP アドレスも記載されています。

------
#### [ AWS CLI ]

**インスタンスのプライマリ IPv4 アドレスを表示するには**  
[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) コマンドを使用します。

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[].Instances[].PrivateIpAddress" \
    --output text
```

以下は出力の例です。

```
10.251.50.12
```

------
#### [ PowerShell ]

**インスタンスのプライマリ IPv4 アドレスを表示するには**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) コマンドレットを使用します。

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.PrivateIpAddress
```

以下は出力の例です。

```
10.251.50.12
```

------

## インスタンスメタデータを使用して IPv4 アドレスを表示するには
<a name="view-instance-ipv4-addresses-imds"></a>

インスタンスの IPv4 アドレスは、インスタンスのメタデータを取得することで入手できます。詳細については、「[インスタンスメタデータを使用して EC2 インスタンスを管理する](ec2-instance-metadata.md)」を参照してください。

**インスタンスメタデータを使用して IPv4 アドレスを表示するには**

1. インスタンスに接続します。詳細については、「[EC2 インスタンスに接続する](connect.md)」を参照してください。

1. 以下のいずれかのコマンドを実行します。

------
#### [ IMDSv2 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

   ```
   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
   ```

**Server**  
次のコマンドを Windows インスタンスから実行します。

   ```
   [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
       -Method PUT -Uri http://169.254.169.254/latest/api/token
   ```

   ```
   Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
       -Method GET -Uri http://169.254.169.254/latest/meta-data/local-ipv4
   ```

------
#### [ IMDSv1 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

   ```
   curl http://169.254.169.254/latest/meta-data/local-ipv4
   ```

**Server**  
次のコマンドを Windows インスタンスから実行します。

   ```
   Invoke-RestMethod http://169.254.169.254/latest/meta-data/local-ipv4
   ```

------

1. パブリック IP アドレスにアクセスするには次のコマンドのうちいずれか 1 つを使用します。Elastic IP アドレスがインスタンスに関連付けられている場合、コマンドは Elastic IP アドレスを返します。

------
#### [ IMDSv2 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

   ```
   [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
   ```

**Server**  
次のコマンドを Windows インスタンスから実行します。

   ```
   [string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
       -Method PUT -Uri http://169.254.169.254/latest/api/token
   ```

   ```
   Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
       -Method GET -Uri http://169.254.169.254/latest/meta-data/public-ipv4
   ```

------
#### [ IMDSv1 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

   ```
   curl http://169.254.169.254/latest/meta-data/public-ipv4
   ```

**Server**  
次のコマンドを Windows インスタンスから実行します。

   ```
   Invoke-RestMethod http://169.254.169.254/latest/meta-data/public-ipv4
   ```

------

# EC2 インスタンスの IPv6 アドレスを管理する
<a name="working-with-ipv6-addresses"></a>

VPC とサブネットに IPv6 CIDR ブロックが関連付けられている場合は起動時または起動後に IPv6 アドレスをインスタンスに割り当てることができます。インスタンスの IPv6 アドレスにコンソールでアクセスするには、**[インスタンス]** ページまたは **[ネットワークインターフェイス]** ページを使用します。以下のタスクでは、インスタンスの IP アドレスを設定します。代わりにネットワークインターフェイスの IP アドレスを設定するには、「[ネットワークインターフェイスの IP アドレスを管理する](managing-network-interface-ip-addresses.md)」を参照してください。

**Topics**
+ [インスタンスへの IPv6 アドレスの割り当て](#assign-ipv6-address)
+ [インスタンスの IPv6 アドレスを表示する](#view-ipv6-addresses)
+ [インスタンスメタデータを使用して IPv6 アドレスを表示する](#view-ipv6-addresses-imds)
+ [インスタンスからの IPv6 アドレスの割り当て解除](#unassign-ipv6-address)

## インスタンスへの IPv6 アドレスの割り当て
<a name="assign-ipv6-address"></a>

IPv6 アドレスは、サブネットの IPv6 アドレス範囲から指定できます。また、Amazon EC2 に自動選択させることもできます。これはプライマリネットワークインターフェイスの IP アドレスです。C1、M1、M2、M3 および T1 のインスタンスタイプは IPv6 アドレスをサポートしていないことに注意してください。

------
#### [ Console ]

**起動時に IPv6 アドレスを割り当てるには**  
[インスタンスを起動する](ec2-launch-instance-wizard.md)ための手順に従います。[ネットワーク設定](ec2-instance-launch-parameters.md#liw-network-settings)を構成するときは**IPv6 IP を自動割り当て**するオプションを選択してください。このオプションが表示されない場合、選択したサブネットには IPv6 CIDR ブロックが関連付けられていません。

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

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択後、[**アクション**]、[**ネットワーク**]、[**IP アドレスの管理**] の順に選択してください。

1. ネットワークインターフェイスを展開します。**[IPv6 addresses]** (IPv6 アドレス) で、**[Assign new IP address]** (新しい IP アドレスの割り当て) を選択してください。

1. サブネットの範囲から IPv6 アドレスを入力します。フィールドを空欄のままにすると、Amazon EC2 が自動的に IPv6 アドレスを選択します。このオプションが表示されない場合、インスタンスのサブネットには IPv6 CIDR ブロックが関連付けられていません。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

**起動時に IPv6 アドレスを割り当てるには**  
`--ipv6-addresses` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
--ipv6-addresses Ipv6Address=2001:db8::1234:5678:1.2.3.4 Ipv6Address=2001:db8::1234:5678:5.6.7.8
```

Amazon EC2 に IPv6 アドレスを選択させる場合は、代わりに `--ipv6-address-count` のオプションを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
--ipv6-address-count 2
```

**起動後に IPv6 アドレスをインスタンスに割り当てるには**  
[assign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-ipv6-addresses.html) コマンドを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
aws ec2 assign-ipv6-addresses \ 
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4 2001:db8::1234:5678:5.6.7.8
```

Amazon EC2 に IPv6 アドレスを選択させる場合は、代わりに `--ipv6-address-count` のオプションを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
aws ec2 assign-ipv6-addresses \
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-address-count 2
```

------
#### [ PowerShell ]

**起動時に IPv6 アドレスを割り当てるには**  
`-Ipv6Address` パラメータで [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
-Ipv6Address $ipv6addr1,$ipv6addr2
```

IPv6 アドレスを次のように定義します。

```
$ipv6addr1 = New-Object Amazon.EC2.Model.InstanceIpv6Address
$ipv6addr1.Ipv6Address = "2001:db8::1234:5678:1.2.3.4"
$ipv6addr2 = New-Object Amazon.EC2.Model.InstanceIpv6Address
$ipv6addr2.Ipv6Address = "2001:db8::1234:5678:5.6.7.8"
```

Amazon EC2 に IPv6 アドレスを選択させる場合は、代わりに `-Ipv6AddressCount` のパラメータを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
-Ipv6AddressCount 2
```

**起動後に IPv6 アドレスをインスタンスに割り当てるには**  
[Register-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Ipv6AddressList.html) コマンドレットを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
Register-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address "2001:db8::1234:5678:1.2.3.4","2001:db8::1234:5678:5.6.7.8"
```

Amazon EC2 に IPv6 アドレスを選択させる場合は、代わりに `-Ipv6AddressCount` のパラメータを使用します。次の例では、2 つの IPv6 アドレスを割り当てます。

```
Register-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6AddressCount 2
```

------

## インスタンスの IPv6 アドレスを表示する
<a name="view-ipv6-addresses"></a>

インスタンスの IPv6 アドレスを表示することができます。

------
#### [ Console ]

**インスタンスの IPv6 アドレスを表示するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択してください。

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

------
#### [ AWS CLI ]

**インスタンスの IPv6 アドレスを表示するには**  
[describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) コマンドを使用します。

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query "Reservations[*].Instances[].Ipv6Address" \
    --output text
```

以下は出力の例です。

```
2001:db8::1234:5678:1.2.3.4
```

------
#### [ PowerShell ]

**インスタンスの IPv6 アドレスを表示するには**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) コマンドレットを使用します。

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.Ipv6Address
```

以下は出力の例です。

```
2001:db8::1234:5678:1.2.3.4
```

------

## インスタンスメタデータを使用して IPv6 アドレスを表示する
<a name="view-ipv6-addresses-imds"></a>

インスタンスに接続すると、インスタンスメタデータを使用して IPv6 アドレスを取得できるようになります。最初に、`http://169.254.169.254/latest/meta-data/network/interfaces/macs/` からインスタンスの MAC アドレスを取得します。

------
#### [ IMDSv2 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

```
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
```

**Server**  
次のコマンドレットを Windows インスタンスから実行します。

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
```

------
#### [ IMDSv1 ]

**Linux**  
次のコマンドを Linux インスタンスから実行します。

```
curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
```

**Server**  
次のコマンドレットを Windows インスタンスから実行します。

```
Invoke-RestMethod -Uri http://169.254.169.254/latest/meta-data/network/interfaces/macs/mac-address/ipv6s
```

------

## インスタンスからの IPv6 アドレスの割り当て解除
<a name="unassign-ipv6-address"></a>

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

------
#### [ Console ]

**インスタンスから IPv6 アドレスを割り当て解除するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択後、[**アクション**]、[**ネットワーク**]、[**IP アドレスの管理**] の順に選択してください。

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

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

**インスタンスから IPv6 アドレスを割り当て解除するには**  
[unassign-ipv6-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-ipv6-addresses.html) コマンドを使用します。

```
aws ec2 unassign-ipv6-addresses \ 
    --network-interface-id eni-1234567890abcdef0 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4
```

------
#### [ PowerShell ]

**インスタンスから IPv6 アドレスを割り当て解除するには**  
[Unregister-EC2Ipv6AddressList](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2Ipv6AddressList.html) コマンドレットを使用します。

```
Unregister-EC2Ipv6AddressList `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -Ipv6Address 2001:db8::1234:5678:1.2.3.4
```

------

# EC2 インスタンスのセカンダリ IP アドレス
<a name="instance-secondary-ip-addresses"></a>

ネットワークインターフェイスに最初に割り当てられた IPv4 アドレスを、プライマリ IP アドレスといいます。セカンダリ IP アドレスは、ネットワークインターフェイスに追加で割り当てられた IPv4 アドレスです。詳細については、「[複数の IP アドレス](using-instance-addressing.md#multiple-ip-addresses)」を参照してください。

また、1 つのインスタンスに複数の IPv6 アドレスを割り当てることができます。詳細については、「[EC2 インスタンスの IPv6 アドレスを管理する](working-with-ipv6-addresses.md)」を参照してください。

**Topics**
+ [インスタンスにセカンダリ IP アドレスを割り当てる](#assign-secondary-ip-address)
+ [セカンダリ IP アドレスを使用するようにオペレーティングシステムを設定する](#StepTwoConfigOS)
+ [インスタンスからセカンダリ IP アドレスの割り当てを解除する](#unassign-secondary-ip-address)

## インスタンスにセカンダリ IP アドレスを割り当てる
<a name="assign-secondary-ip-address"></a>

セカンダリ IP アドレスは、インスタンスの起動時に、または起動後に、インスタンスのネットワークインターフェイスに割り当てることができます。

------
#### [ Console ]

**起動時にセカンダリ IP アドレスを割り当てるには**

1. [インスタンスを起動する](ec2-launch-instance-wizard.md)ための手順に従います。[[ネットワーク設定]](ec2-instance-launch-parameters.md#liw-network-settings) を設定するときに、**[高度なネットワーク設定]** を展開します。

1. **[セカンダリ IP]** で **[自動で割り当て]** を選択し、Amazon EC2 に割り当てさせる IP アドレスの数を入力します。または、**[手動で割り当て]** を選択し、IPv4 アドレスを入力します。

1. インスタンスを起動する残りのステップを完了します。

**起動後にセカンダリ IP アドレスを割り当てるには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択後、[**アクション**]、[**ネットワーク**]、[**IP アドレスの管理**] の順に選択してください。

1. ネットワークインターフェイスを展開します。

1. IPv4 アドレスを追加するには、**[IPv4 アドレス]** で **[新しい IP アドレスの割り当て]** を選択します。サブネットの範囲から IPv4 アドレスを入力します。フィールドを空欄のままにすると Amazon EC2 が自動的にアドレスを選択します。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

**起動時にセカンダリ IP アドレスを割り当てるには**  
`--secondary-private-ip-addresses` オプションで [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用します。

```
--secondary-private-ip-addresses 10.251.50.12
```

Amazon EC2 に IP アドレスを選択させる場合は、代わりに `--secondary-private-ip-address-count` のオプションを使用します。次の例では、1 つのセカンダリ IP アドレスを割り当てます。

```
--secondary-private-ip-address-count 1
```

または、ネットワークインターフェイスを作成することができます。詳細については、「[EC2 インスタンス用のネットワークインターフェイスを作成する](create-network-interface.md)」を参照してください。

**起動後にセカンダリ IP アドレスを割り当てるには**  
[assign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/assign-private-ip-addresses.html) コマンドを `--private-ip-addresses` オプションと共に使用します。

```
aws ec2 assign-private-ip-addresses \
    --network-interface-ids eni-1234567890abcdef0 \
    --private-ip-addresses 10.251.50.12
```

Amazon EC2 に IPv4 アドレスを選択させる場合は、代わりに `--secondary-private-ip-address-count` のパラメータを使用します。次の例では、1 つの IPv4 アドレスを割り当てます。

```
aws ec2 assign-private-ip-addresses \
    --network-interface-ids eni-1234567890abcdef0 \
    --secondary-private-ip-address-count 1
```

------
#### [ PowerShell ]

**起動時にセカンダリ IP アドレスを割り当てるには**  
ネットワークインターフェイスを作成する必要があります。詳細については、「[EC2 インスタンス用のネットワークインターフェイスを作成する](create-network-interface.md)」を参照してください。

**起動後にセカンダリ IP アドレスを割り当てるには**  
[Register-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2PrivateIpAddress.html) コマンドレットを `-PrivateIpAddress` パラメータと共に使用します。

```
Register-EC2PrivateIpAddress `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -PrivateIpAddress 10.251.50.12
```

Amazon EC2 に IPv4 アドレスを選択させる場合は、代わりに `-SecondaryPrivateIpAddressCount` のパラメータを使用します。次の例では、1 つの IPv4 アドレスを割り当てます。

```
Register-EC2PrivateIpAddress `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -SecondaryPrivateIpAddressCount 1
```

------

## セカンダリ IP アドレスを使用するようにオペレーティングシステムを設定する
<a name="StepTwoConfigOS"></a>

セカンダリ IP アドレスをインスタンスに割り当てたら、追加のプライベート IPv4 アドレスを認識するように、インスタンスのオペレーティングシステムを設定する必要があります。

**Linux インスタンス**
+ Amazon Linux を使用している場合、ec2-net-utils パッケージがこの処理を自動実行します。このパッケージはインスタンスの実行中にアタッチされる追加のネットワークインターフェイスを設定し、DHCP リースの更新中にセカンダリ IPv4 アドレスを更新して、関連するルーティングルールを更新します。システムに応じて、`sudo systemctl restart systemd-networkd` (AL2023) または `sudo service network restart` (Amazon Linux 2) のいずれか 1 つのコマンドを使用して、インターフェイスのリストをすぐに更新できます。次のコマンドを使用して最新のリストを表示できます: `ip addr li`。ネットワーク構成を手動で構成する必要がある場合、ec2-net-utils パッケージを削除できます。詳細については「[ec2-net-utils を使用したネットワークインターフェイスの設定](https://docs.aws.amazon.com/linux/al2/ug/ec2-net-utils.html)」を参照してください。
+ 別の Linux ディストリビューションを使用している場合、Linux ディストリビューションのドキュメントを参照してください。追加のネットワークインターフェイスとセカンダリ IPv4 アドレスの設定に関する情報が記載されています。同じサブネットのインスタンスに複数のインターフェイスがある場合、非対称のルーティングに対処する方法についてはルーティングルールの使用に関する情報を検索してください。

**Windows インスタンス**  
詳細については、「[Windows インスタンスのセカンダリプライベート IPv4 アドレスを設定する](config-windows-multiple-ip.md)」を参照してください。

## インスタンスからセカンダリ IP アドレスの割り当てを解除する
<a name="unassign-secondary-ip-address"></a>

セカンダリ IP アドレスが不要になったら、インスタンスやネットワークインターフェイスからその割り当てを解除できます。セカンダリプライベート IPv4 アドレスをネットワークインターフェイスから割り当て解除した場合、Elastic IP アドレス (存在する場合) の関連付けも解除されます。

------
#### [ Console ]

**インスタンスからセカンダリプライベート IPv4 アドレスを割り当て解除するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、**[Instances]** (インスタンス) を選択してください。

1. インスタンスを選択し、**[アクション]**、**[ネットワーク]**、**[IP アドレスの管理]** の順に選択してください。

1. ネットワークインターフェイスを展開します。**[IPv4 アドレス]** で、割り当て解除する IPv4 アドレスに対して **[割り当て解除]** を選択してください。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

**セカンダリプライベート IP アドレスの割り当てを解除するには**  
[unassign-private-ip-addresses](https://docs.aws.amazon.com/cli/latest/reference/ec2/unassign-private-ip-addresses.html) コマンドを使用します。

```
aws ec2 unassign-private-ip-addresses \
    --network-interface eni-1234567890abcdef0\
    --private-ip-addresses 10.251.50.12
```

------
#### [ PowerShell ]

**セカンダリプライベート IP アドレスの割り当てを解除するには**  
[Unregister-EC2PrivateIpAddress](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2PrivateIpAddress.html) コマンドレットを使用します。

```
Unregister-EC2PrivateIpAddress `
    -NetworkInterface eni-1234567890abcdef0 `
    -PrivateIpAddress 10.251.50.12
```

------

# Windows インスタンスのセカンダリプライベート IPv4 アドレスを設定する
<a name="config-windows-multiple-ip"></a>

インスタンスに複数のプライベート IPv4 IP アドレスを指定できます。インスタンスにセカンダリプライベート IPv4 アドレスを割り当てたら、セカンダリプライベート IPv4 アドレスを認識するようにインスタンスのオペレーティングシステムを設定する必要があります。

**注記**  
この手順は Windows Server 2022 を対象にしています。Windows インスタンスのオペレーティングシステムによって、これらの手順の実施方法が異なる場合があります。

**Topics**
+ [前提条件](#prereq-steps)
+ [ステップ 1: インスタンスで静的 IP アドレス指定を設定する](#step1)
+ [ステップ 2: インスタンスにセカンダリプライベート IP アドレスを設定する](#step2)
+ [ステップ3: セカンダリプライベート IP アドレスを使用するようにアプリケーションを設定する](#step3)

## 前提条件
<a name="prereq-steps"></a>
+ セカンダリプライベート IPv4 アドレスを、インスタンスのネットワークインターフェイスに割り当てます。セカンダリプライベート IPv4 アドレスは、インスタンスの起動時または実行の開始後に割り当てることができます。詳細については、「[インスタンスにセカンダリ IP アドレスを割り当てる](instance-secondary-ip-addresses.md#assign-secondary-ip-address)」を参照してください。

## ステップ 1: インスタンスで静的 IP アドレス指定を設定する
<a name="step1"></a>

Windows インスタンスが複数の IP アドレスを使用するには、インスタンスが DHCP サーバーではなく、静的 IP アドレス指定を使用するように設定する必要があります。

**重要**  
インスタンスで静的 IP アドレス指定を設定する場合、IP アドレスは、コンソール、CLI、または API で表示される IP アドレスと正確に一致している必要があります。これらの IP アドレスを誤って入力すると、インスタンスは到達不能になる可能性があります。

**Windows インスタンスで静的 IP アドレス指定を設定するには**

1. インスタンスに接続します。

1. 次のステップを実行してインスタンスの IP アドレス、サブネットマスク、デフォルトゲートウェイアドレスを見つけます: 

   1. PowerShell で次のコマンドを実行します。

     ```
     ipconfig /all
     ```

     出力を確認し、ネットワークインターフェイスの **[IPv4 アドレス]**、**[サブネットマスク]**、**[デフォルトゲートウェイ]**、**[DNS サーバー]** の値を書き留めます。出力は次の例のようになります。

     ```
     ...
     
     Ethernet adapter Ethernet 4:
     
        Connection-specific DNS Suffix  . : us-west-2.compute.internal
        Description . . . . . . . . . . . : Amazon Elastic Network Adapter #2
        Physical Address. . . . . . . . . : 02-9C-3B-FC-8E-67
        DHCP Enabled. . . . . . . . . . . : Yes
        Autoconfiguration Enabled . . . . : Yes
        Link-local IPv6 Address . . . . . : fe80::f4d1:a773:5afa:cd1%7(Preferred)
        IPv4 Address. . . . . . . . . . . : 10.200.0.128(Preferred)
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Lease Obtained. . . . . . . . . . : Monday, April 8, 2024 12:19:29 PM
        Lease Expires . . . . . . . . . . : Monday, April 8, 2024 4:49:30 PM
        Default Gateway . . . . . . . . . : 10.200.0.1
        DHCP Server . . . . . . . . . . . : 10.200.0.1
        DHCPv6 IAID . . . . . . . . . . . : 151166011
        DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2D-67-AC-FC-12-34-9A-BE-A5-E7
        DNS Servers . . . . . . . . . . . : 10.200.0.2
        NetBIOS over Tcpip. . . . . . . . : Enabled
     ```

1. PowerShell で次のコマンドを実行して **[ネットワークと共有センター]** を開きます。

   ```
   & $env:SystemRoot\system32\control.exe ncpa.cpl
   ```

1. ネットワークインターフェイス (ローカルエリア接続またはイーサネット) のコンテキスト (右クリック) メニューを開き、**[プロパティ]** を選択します。

1. [**Internet Protocol Version 4 (TCP/IPv4)**]、[**Properties**] の順に選択します。

1. [**Internet Protocol Version 4 (TCP/IPv4) Properties**] ダイアログボックスで [**Use the following IP address**] を選択して以下の値を入力し、[**OK**] を選択します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/config-windows-multiple-ip.html)
**重要**  
IP アドレスを現在の IP アドレス以外の値に設定すると、インスタンスへの接続が失われます。  
![\[IP アドレス\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/windows-ip-static.png)

インスタンスで DHCP の使用から静的アドレス指定に変換する間、Windows インスタンスへの RDP 接続が数秒間失われます。インスタンスは以前と同じ IP アドレス情報を保持していますが、この情報は静的であり、DHCP によって管理されていません。

## ステップ 2: インスタンスにセカンダリプライベート IP アドレスを設定する
<a name="step2"></a>

Windows インスタンスで静的 IP アドレスをセットアップしたら、セカンダリ プライベート IP アドレスを設定できます。

**セカンダリ IP アドレスを構成するには**

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

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

1. [**ネットワーキング**] で、セカンダリ IP アドレスをメモします。

1. インスタンスに接続します。

1. Windows インスタンスで、[**スタート**]、[**コントロールパネル**] の順に選択します。

1. [**ネットワークとインターネット**]、[**ネットワークと共有センター**] の順に選択します。

1. ネットワークインターフェイス (ローカルエリア接続またはイーサネット) を選択し、**[プロパティ]** を選択します。

1. [**ローカルエリア接続のプロパティ**] ページで、[**インターネットプロトコルバージョン 4 (TCP/IPv4)**]、[**プロパティ**]、[**詳細設定**] の順に選択します。

1. [**Add**] を選択します。

1. [**TCP/IP アドレス**] ダイアログボックスで、[**IP アドレス**] にセカンダリプライベート IP アドレスを入力します。[**サブネットマスク**] に、[ステップ 1: インスタンスで静的 IP アドレス指定を設定する](#step1) でプライマリプライベート IP アドレス用に入力したものと同じサブネットマスクを入力し、[**追加**] を選択します。  
![\[[TCP/IP アドレス] ダイアログボックス\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/windows-ip-add.png)

1. IP アドレス設定を確認して、[**OK**] を選択します。  
![\[IP 設定タブ\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/windows-ip-advanced-tcpip.png)

1. [**OK**]、[**閉じる**] の順に選択します。

1. オペレーティングシステムにセカンダリプライベート IP アドレスが追加されたことを確認するには、PowerShell で、`ipconfig /all` コマンドを実行します。出力は次のようになります。

   ```
   Ethernet adapter Ethernet 4:
   
      Connection-specific DNS Suffix  . :
      Description . . . . . . . . . . . : Amazon Elastic Network Adapter #2
      Physical Address. . . . . . . . . : 02-9C-3B-FC-8E-67
      DHCP Enabled. . . . . . . . . . . : No
      Autoconfiguration Enabled . . . . : Yes
      Link-local IPv6 Address . . . . . : fe80::f4d1:a773:5afa:cd1%7(Preferred)
      IPv4 Address. . . . . . . . . . . : 10.200.0.128(Preferred)
      Subnet Mask . . . . . . . . . . . : 255.255.255.0
      IPv4 Address. . . . . . . . . . . : 10.200.0.129(Preferred)
      Subnet Mask . . . . . . . . . . . : 255.255.255.0
      Default Gateway . . . . . . . . . : 10.200.0.1
      DHCPv6 IAID . . . . . . . . . . . : 151166011
      DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-2D-67-AC-FC-12-34-9A-BE-A5-E7
      DNS Servers . . . . . . . . . . . : 10.200.0.2
      NetBIOS over Tcpip. . . . . . . . : Enabled
   ```

## ステップ3: セカンダリプライベート IP アドレスを使用するようにアプリケーションを設定する
<a name="step3"></a>

セカンダリプライベート IP アドレスを使用するように任意のアプリケーションを設定できます。例えば、インスタンスが IIS でウェブサイトを実行している場合、セカンダリプライベート IP アドレスを使用するように IIS を設定できます。

**セカンダリプライベート IP アドレスを使用するように IIS を設定するには**

1. インスタンスに接続します。

1. インターネットインフォメーションサービス (IIS) マネージャーを開きます。

1. [**Connections**] ペインで、[**Sites**] を展開します。

1. ウェブサイトのコンテキスト (右クリック) メニューを開き、[**Edit Bindings**] を選択します。

1. [**Site Bindings**] ダイアログボックスの [**Type**] で、[**http**]、[**Edit**] の順に選択します。

1. [**Edit Site Binding**] ダイアログボックスの [**IP address**] で、セカンダリプライベート IP アドレスを選択します。(デフォルトでは、各ウェブサイトはすべての IP アドレスからの HTTP 要求を受け付けます)。  
![\[IP アドレス\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/windows-ip-iis-site-binding.png)

1. [**OK**]、[**閉じる**] の順に選択します。