

# EC2 インスタンスのネットワークインターフェイスのアタッチ
<a name="network-interface-attachments"></a>

EC2 インスタンスがプライマリまたはセカンダリのネットワークインターフェイスとして使用するネットワークインターフェイスを作成できます。ネットワークインターフェイスがネットワークインターフェイスと同じアベイラビリティーゾーンにある場合、そのネットワークインターフェイスを EC2 インスタンスにアタッチする必要があります。インスタンスのインスタンスタイプによって、インスタンスにアタッチできるネットワークインターフェイスの数が決まります。詳細については「[ネットワークインターフェイスあたりの IP アドレスの最大数](AvailableIpPerENI.md)」を参照してください。

**考慮事項**
+ ネットワークインターフェイスはインスタンスの実行中、インスタンスの停止中、インスタンスの起動中にインスタンスにアタッチできます (それぞれ、ホットアタッチ、ウォームアタッチ、コールドアタッチと呼ばれています)。
+ セカンダリネットワークインターフェイスはインスタンスの実行中または停止中にデタッチできます。ただし、プライマリネットワークインターフェイスをデタッチすることはできません。
+ セカンダリネットワークインターフェイスをあるインスタンスからデタッチし、別のインスタンスにアタッチできます。
+ CLI、API、または SDK を使用してインスタンスを起動する場合、プライマリネットワークインターフェイスおよび追加のネットワークインターフェイスを指定できます。起動時にセカンダリネットワークインターフェイスを追加する場合、パブリック IPv4 アドレスの自動割り当てを有効にできません。
+ 複数のネットワークインターフェイスを使用して Amazon Linux または Windows Server インスタンスを起動すると、インスタンスのオペレーティングシステム上でインターフェイス、プライベート IPv4 アドレス、ルートテーブルが自動的に設定されます。
+ 追加ネットワークインターフェイスをウォームアタッチまたはホットアタッチする際、場合によっては手動で 2 つ目のインターフェイスを起動し、プライベート IPv4 アドレスを設定し、ルートテーブルを適宜変更する必要が生じます。Amazon Linux または Windows Server を実行するインスタンスはウォームアタッチまたはホットアタッチを自動的に認識し、それらのインスタンス自体を設定します。
+ 別のネットワークインターフェイスをインスタンスにアタッチする (NIC チーミング設定など) ことで、デュアルホーム接続インスタンスとの間のネットワーク帯域幅を増加または倍増させることはできません。
+ 同じサブネットから複数のネットワークインターフェイスをインスタンスにアタッチする場合、非対称ルーティングなどのネットワーク問題が発生する場合があります。可能であれば、代わりにプライマリネットワークインターフェイス上にセカンダリプライベート IPv4 アドレスを追加します。
+ IPv6 専用サブネット内の EC2 インスタンスの場合、セカンダリネットワークインターフェイスをアタッチすると、セカンダリネットワークインターフェイスのプライベート DNS ホスト名はプライマリネットワークインターフェイスのプライマリ IPv6 アドレスに解決されます。
+ [Windows インスタンス] – 複数のネットワークインターフェイスをインスタンスに追加する場合、静的ルーティングを使用するようにネットワークインターフェイスを設定する必要があります。

## ネットワークインターフェイスのアタッチ
<a name="attach_eni"></a>

同じアベイラビリティーゾーンにあるインスタンスであれば、ネットワークインターフェイスをアタッチできます。アタッチするにはAmazon EC2 コンソールの **[インスタンス]** または **[ネットワークインターフェイス]** ページを開きます。または[インスタンスを起動](ec2-launch-instance-wizard.md)する際に、既存のネットワークインターフェイスを指定することもできます。

インスタンスのパブリック IPv4 アドレスが解放される場合、複数のネットワークインターフェイスがそのインスタンスにアタッチされていると、インスタンスに新しいパブリック IP アドレスは送信されません。パブリック IPv4 アドレスの動作の詳細については[パブリック IPv4 アドレス](using-instance-addressing.md#concepts-public-addresses)を参照してください。

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

**インスタンスページを使用してネットワークインターフェイスをインスタンスにアタッチするには**

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

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

1. インスタンスのチェックボックスをオンにします。

1. [**Actions (アクション)**]、[**Networking (ネットワーク)**]、[**Attach Network Interface (ネットワークインターフェイスのアタッチ)**] の順に選択してください。

1. VPC を選択してください。ネットワークインターフェイスがインスタンスと同じアベイラビリティゾーンにある場合に限り、ネットワークインターフェイスはインスタンスと同じ VPC または所有する別の VPC に所在することができます。これにより、ネットワークとセキュリティの設定が異なる VPC にまたがるマルチホームインスタンスを作成できます。

1. ネットワークインターフェイスを選択してください。インスタンスが複数のネットワークカードをサポートしている場合はネットワークカードを選択できます。

1. [**アタッチ**] を選択してください。

**ネットワークインターフェイスページを使用してネットワークインターフェイスをアタッチするには**

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

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

1. ネットワークインターフェイスのチェックボックスをオンにします。

1. [**アクション**]、[**アタッチ**] の順にクリックしてください。

1. インスタンスを選択してください。インスタンスが複数のネットワークカードをサポートしている場合はネットワークカードを選択できます。

1. [**アタッチ**] を選択してください。

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

**ネットワークインターフェイスをアタッチするには**  
次の [attach-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-network-interface.html) コマンドを使用します。

```
aws ec2 attach-network-interface \
    --network-interface-id eni-1234567890abcdef0 \
    --instance-id i-1234567890abcdef0 \
    --device-index 1
```

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

**ネットワークインターフェイスをアタッチするには**  
[Add-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2NetworkInterface.html) コマンドレットを使用します。

```
Add-EC2NetworkInterface `
    -NetworkInterfaceId eni-1234567890abcdef0 `
    -InstanceId i-1234567890abcdef0 `
    -DeviceIndex 1
```

------

## ネットワークインターフェイスをデタッチする
<a name="detach_eni"></a>

ある時点で EC2 インスタンスにアタッチされているセカンダリネットワークインターフェイスはAmazon EC2 コンソールの [**インスタンス**] ページまたは [**ネットワークインターフェイス**] ページを使用して、いつでもデタッチできます。

Elastic Load Balancing ロードバランサー、Lambda 関数、WorkSpace、NAT ゲートウェイなど、別のサービスからリソースにアタッチされているネットワークインターフェイスをデタッチしようとすると、そのリソースに対するアクセス許可がないことを知らせるエラーが表示されます。ネットワークインターフェイスにアタッチされているリソースを作成したサービスを特定するにはそのネットワークインターフェイスの説明を確認します。リソースを削除すると、そのネットワークインターフェイスも削除されます。

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

**インスタンスページを使用してネットワークインターフェイスをデタッチするには**

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

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

1. インスタンスのチェックボックスをオンにします。[**ネットワーキング**] タブにある [**ネットワークインタフェース**] セクションを選択して、そのネットワークインターフェイスが、セカンダリネットワークインターフェイスとしてインスタンスにアタッチされていることを確認します。

1. [**Actions (アクション)**]、[**Networking (ネットワーク)**]、[**Detach Network Interface (ネットワークインターフェイスのデタッチ)**] の順に選択してください。

1. ネットワークインターフェイスを選択し、[**デタッチ**] を選択してください。

**ネットワークインターフェイスページを使用してネットワークインターフェイスをデタッチするには**

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

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

1. ネットワークインターフェイスのチェックボックスをオンにします。[**詳細**] タブの [**インスタンスの詳細**] セクションを選択し、そのネットワークインターフェイスが、セカンダリネットワークインターフェイスとしてインスタンスにアタッチされていることを確認します。

1. [**アクション**]、[**デタッチ**] の順にクリックしてください。

1. 確認を求められたら、[**デタッチ**] を選択してください。

1. ネットワークインターフェイスをインスタンスからデタッチできなかった場合は[**強制デタッチ**]、[**有効化**] の順にクリックし再試行します。強制デタッチは最終的手段としてのみご使用になることをお勧めします。デタッチを強制すると、インスタンスを再起動するまで、同じインデックスに別のネットワークインターフェイスをアタッチできなくなります。また、インスタンスを再起動するまで、ネットワークインターフェイスがデタッチされたことをインスタンスメタデータに反映しないようにできます。

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

**ネットワークインターフェースをデタッチするには**  
次の [detach-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-network-interface.html) コマンドを使用します。

```
aws ec2 detach-network-interface --attachment-id eni-attach-016c93267131892c9
```

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

**ネットワークインターフェースをデタッチするには**  
[Dismount-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/Dismount-EC2NetworkInterface.html) コマンドレットを使用します。

```
Dismount-EC2NetworkInterface -AttachmentId eni-attach-016c93267131892c9
```

------