

# EC2 インスタンス用のネットワークインターフェイスを作成する
<a name="create-network-interface"></a>

EC2 インスタンスで使用するためのネットワークインターフェイスを作成できます。ネットワークインターフェイスを作成する際に、作成先のサブネットを指定します。ネットワークインターフェイスは作成後に別のサブネットに移動することはできません。ネットワークインターフェイスは同じアベイラビリティーゾーンのインスタンスにアタッチする必要があります。セカンダリネットワークインターフェイスをインスタンスからデタッチし、同じアベイラビリティーゾーンの別のインスタンスにアタッチできます。プライマリネットワークインターフェイスをインスタンスからデタッチすることはできません。詳細については「[EC2 インスタンスのネットワークインターフェイスのアタッチ](network-interface-attachments.md)」を参照してください。

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

**ネットワークインターフェイスを作成するには**

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

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

1. [**ネットワークインターフェイスの作成**] をクリックしてください。

1. (オプション) [**説明**] に分かりやすい名前を入力してください。

1. [**Subnet (サブネット)**] で、サブネットを選択してください。以降のステップで使用できるオプションは選択したサブネットのタイプ (IPv4 専用、IPv6 専用、またはデュアルスタック (IPv4 および IPv6)) によって異なります。

1. **[インターフェイスタイプ]** で、以下のいずれかを選択します。
   + **ENA**: CPU 使用率を最小限に抑えながら、TCP/IP プロトコルの高スループットとパケット毎秒のレートを処理するように設計された高性能ネットワークインターフェイス。これは、デフォルト値です。ENA の詳細については、「[Elastic Network Adapter](enhanced-networking-ena.md)」を参照してください。
   + **ENA を使用した EFA**: ENA デバイスと EFA デバイス両方のサポートにより、従来の TCP/IP ベースのトランスポートと SRD ベースのトランスポートを提供するネットワークインターフェイス。ENA を使用した EFA を選択する場合、アタッチするインスタンスも [EFA をサポート](efa.md#efa-instance-types)している必要があります。EFA の詳細については、「[Elastic Fabric Adapter](efa.md)」を参照してください。
   + **EFA のみ**: オペレーティングシステムスタックをバイパスしながら、SRD ベーストランスポートでの高スループットで低レイテンシーのノード間通信を処理するように設計された高性能ネットワークインターフェイス。このオプションを選択した場合、アタッチするインスタンスも [EFA をサポート](efa.md#efa-instance-types)している必要があります。EFA 専用ネットワークインターフェイスは IP アドレスをサポートしていません。EFA の詳細については、「[Elastic Fabric Adapter](efa.md)」を参照してください。

1. [**プライベート IPv4 アドレス**] で、次のいずれかの操作を実行します。
   + サブネットからの IPv4 アドレスの選択を Amazon EC2 に許可するには[**自動割り当て**] を選択してください。
   + [**カスタム**] を選択した場合は続いてサブネットから選択した IPv4 アドレスを入力してください。

1. (IPv6 アドレスを持つサブネットのみ) [**IPv6 アドレス**] で、次のいずれかの操作を行います。
   + ネットワークインターフェイスに IPv6 アドレスを割り当てたくない場合は[**なし**] を選択してください。
   + サブネットからの IPv6 アドレスの選択を Amazon EC2 に許可するには[**自動割り当て**] を選択してください。
   + [**カスタム**] を選択した場合は続いてサブネットから選択した IPv6 アドレスを入力してください。

1. (オプション) デュアルスタックまたは IPv6 専用サブネットにネットワーク インターフェイスを作成している場合は**プライマリ IPv6 IP の割り当てる**オプションがあります。これにより、プライマリ IPv6 グローバルユニキャストアドレス (GUA) がネットワークインターフェイスに割り当てられます。プライマリ IPv6 アドレスを割り当てると、インスタンスまたは ENI へのトラフィックの中断を回避できます。この ENI が接続されるインスタンスが IPv6 アドレスが変更されないことに依存する場合は**[有効化]** を選択してください。 AWS はインスタンスにアタッチされている ENI に関連付けられた IPv6 アドレスをプライマリ IPv6 アドレスとして自動的に割り当てます。IPv6 GUA アドレスをプライマリ IPv6 として有効にすると、無効にすることはできません。IPv6 GUA アドレスをプライマリ IPv6 にすることを有効にすると、インスタンスが終了するか、ネットワークインターフェースがデタッチされるまで、最初の IPv6 GUA がプライマリ IPv6 アドレスになります。インスタンスに複数の IPv6 アドレスがアタッチされていて、プライマリ IPv6 アドレスを有効にすると、ENI に関連付けられた最初の IPv6 GUA アドレスがプライマリ IPv6 アドレスになります。

1. (オプション) Elastic Fabric Adapter を作成するには**Elastic Fabric Adapter**、[**有効化**] の順にクリックしてください。

1. (オプション) **[詳細設定]** で、オプションで IP プレフィックス委任を設定できます。詳細については「[プレフィックスの委任](ec2-prefix-eni.md)」を参照してください。
   + **自動割り当て** — AWS が VPC サブネットの IPv4 または IPv6 CIDR ブロックからプレフィクスを選択し、ネットワークインターフェイスに割り当てます。
   + **カスタム** — サブネットの IPv4 または IPv6 CIDR ブロックからプレフィクスを指定します。AWS は、プレフィックスをネットワーク インターフェイスに割り当てる前に、そのプレフィックスが他のリソースにまだ割り当てられていないことを確認します。

1. (オプション) **[詳細設定]** の **[アイドル接続追跡タイムアウト]** で、デフォルトのアイドル接続のタイムアウトを変更します。詳細については「[アイドル接続追跡タイムアウト](security-group-connection-tracking.md#connection-tracking-timeouts)」を参照してください。
   + **TCP 確立タイムアウト**: 確立された状態のアイドル TCP 接続のタイムアウト (秒単位)。
     + 最小: `60` 秒
     + 最大: `432000` 秒
     + デフォルト: [Nitrov6](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) インスタンスタイプ (P6e-GB200 を除く) の場合、`350` 秒。その他のインスタンスタイプ (P6e-GB200 を含む) の場合、`432000` 秒。
     + 推奨: `432000` 秒未満
   + **UDP タイムアウト**: 単一方向、または 1 つのリクエスト-レスポンストランザクションのみのトラフィックが発生した、アイドル状態にある UDP フローのタイムアウト (秒単位)。
     + 最小: `30` 秒
     + 最大: `60` 秒
     + デフォルト: `30` 秒
   + **UDP ストリームタイムアウト**: 複数のリクエスト-レスポンストランザクションが発生したストリームとして分類される、アイドル状態にある UDP フローのタイムアウト (秒単位)。
     + 最小: `60` 秒
     + 最大: `180` 秒
     + デフォルト: `180` 秒

1. [**Security groups**] で、1 つまたは複数のセキュリティグループを選択してください。

1. (オプション) タグごとに [**新しいタグを追加**] をクリックし、タグキーとオプションのタグ値を入力してください。

1. [**ネットワークインターフェイスの作成**] をクリックしてください。

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

**例 1: Amazon EC2 で選択された IP アドレスを持つネットワークインターフェイスを作成するには**  
次の [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) コマンドを使用します。こちらの例では、パブリック IPv4 アドレスと、Amazon EC2 が選択した IPv6 アドレスを持つネットワークインターフェイスを作成します。

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my dual-stack network interface" \
    --ipv6-address-count 1 \
    --groups sg-1234567890abcdef0
```

**例 2: 特定の IP アドレスを持つネットワークインターフェイスを作成するには**  
次の [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) コマンドを使用します。

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my dual-stack network interface" \
    --private-ip-address 10.251.50.12 \
    --ipv6-addresses 2001:db8::1234:5678:1.2.3.4 \
    --groups sg-1234567890abcdef0
```

**例 3: セカンダリ IP アドレスの数でネットワークインターフェイスを作成するには**  
次の [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) コマンドを使用します。こちらの例では、Amazon EC2 はプライマリ IP アドレスとセカンダリ IP アドレスの両方を選択します。

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my network interface" \
    --secondary-private-ip-address-count 2 \
    --groups sg-1234567890abcdef0
```

**例 4: 特定のセカンダリ IP アドレスを持つネットワークインターフェイスを作成するには**  
次の [create-network-interface](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-network-interface.html) コマンドを使用します。こちらの例では、プライマリ IP アドレスとセカンダリ IP アドレスを指定します。

```
aws ec2 create-network-interface \
    --subnet-id subnet-0abcdef1234567890 \
    --description "my network interface" \
    --private-ip-addresses PrivateIpAddress=10.0.1.30,Primary=true \
                           PrivateIpAddress=10.0.1.31,Primary=false
    --groups sg-1234567890abcdef0
```

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

**例 1: Amazon EC2 で選択された IP アドレスを持つネットワークインターフェイスを作成するには**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) コマンドレットを使用します。こちらの例では、パブリック IPv4 アドレスと、Amazon EC2 が選択した IPv6 アドレスを持つネットワークインターフェイスを作成します。

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my dual-stack network interface" `
    -Ipv6AddresCount 1 `
    -Group sg-1234567890abcdef0
```

**例 2: 特定の IP アドレスを持つネットワークインターフェイスを作成するには**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) コマンドレットを使用します。

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my dual-stack network interface" `
    -PrivateIpAddress 10.251.50.12 `
    -Ipv6Address $ipv6addr `
    -Group sg-1234567890abcdef0
```

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

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

**例 3: セカンダリ IP アドレスの数でネットワークインターフェイスを作成するには**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) コマンドレットを使用します。こちらの例では、Amazon EC2 はプライマリ IP アドレスとセカンダリ IP アドレスの両方を選択します。

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my network interface" `
    -SecondaryPrivateIpAddressCount 2 `
    -Group sg-1234567890abcdef0
```

**例 4: 特定のセカンダリ IP アドレスを持つネットワークインターフェイスを作成するには**  
[New-EC2NetworkInterface](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2NetworkInterface.html) コマンドレットを使用します。こちらの例では、プライマリ IP アドレスとセカンダリ IP アドレスを指定します。

```
New-EC2NetworkInterface `
    -SubnetId subnet-0abcdef1234567890 `
    -Description "my network interface" `
    -PrivateIpAddresses @($primary, $secondary) `
    -Group sg-1234567890abcdef0
```

セカンダリアドレスを次のように定義します。

```
$primary = New-Object Amazon.EC2.Model.PrivateIpAddressSpecification
$primary.PrivateIpAddress = "10.0.1.30"
$primary.Primary = $true
$secondary = New-Object Amazon.EC2.Model.PrivateIpAddressSpecification
$secondary.PrivateIpAddress = "10.0.1.31"
$secondary.Primary = $false
```

------