すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:ENI の作成と使用

最終更新日:May 27, 2026

高可用性、トラフィック分離、または複数 IP ネットワーキングのために、セカンダリ Elastic Network Interface (ENI) を Elastic Compute Service (ECS) インスタンスにアタッチします。

ENI の作成

コンソール

  1. ECS コンソールで、[ENI] ページに移動し、Create an ENI をクリックします。

  2. 次の主要なパラメーターを設定し、残りはデフォルト値のままにします:

    • VPC と vSwitch:ENI が存在するネットワークです。

      ENI とインスタンスは同じ VPC と vSwitch に存在する必要があります。
    • セキュリティグループ:1 つ以上のセキュリティグループを関連付けて、インバウンドおよびアウトバウンドトラフィックを制御します。

API

CreateNetworkInterface API を呼び出して ENI を作成します。

ECS インスタンスへの ENI のアタッチ

インスタンスを作成するときに、既存の ENI をプライマリ ENI またはセカンダリ ENI として指定できます。インスタンスは、IP アドレス、ルート、MAC アドレス、セキュリティグループなど、ENI のネットワーク設定を継承します。

既存のインスタンスに ENI をアタッチする場合、それはセカンダリ ENI としてのみアタッチできます。これにより、トラフィック分離や追加の IP アドレスなど、インスタンスのネットワーク機能が拡張されます。

インスタンスにアタッチできる ENI の数は、インスタンスファミリーによって異なります。

前提条件

  • ENI とインスタンスが同じ VPC と vSwitch にあること。

  • 一部のインスタンスタイプでは、ENI をアタッチする前にインスタンスを停止する必要があります。

    セカンダリ ENI のホットスワップ機能をサポートしていない ECS インスタンスタイプ

    インスタンスファミリー

    インスタンスタイプ

    s6、共有スタンダードインスタンスファミリー

    ecs.s6-c1m1.small、ecs.s6-c1m2.large、ecs.s6-c1m2.small、ecs.s6-c1m4.large、および ecs.s6-c1m4.small

    e、エコノミーインスタンスファミリー

    ecs.e-c1m1.large、ecs.e-c1m2.large、ecs.e-c1m4.large、ecs.e-c4m1.large、および ecs.e-c2m1.large

    バースト可能型 t6

    ecs.t6-c1m1.large、ecs.t6-c1m2.large、ecs.t6-c1m4.large、ecs.t6-c2m1.large、および ecs.t6-c4m1.large

    バースト可能型 t5

    ecs.t5-c1m1.large、ecs.t5-c1m2.large、ecs.t5-c1m4.large、ecs.t5-lc1m1.small、ecs.t5-lc1m2.large、ecs.t5-lc1m2.small、ecs.t5-lc1m4.large、および ecs.t5-lc2m1.nano

    xn4、n4、mn4、および e4、前世代の共有インスタンスファミリー

    • ecs.xn4.small

    • ecs.n4.small および ecs.n4.large

    • ecs.mn4.small および ecs.mn4.large

    • ecs.e4.small および ecs.e4.large

インスタンス作成時の ENI のアタッチ

コンソール

重要

既存のセキュリティグループを選択するか、新しいセキュリティグループを作成すると、システムは自動的に新しいプライマリ ENI を作成します。この場合、既存の ENI をアタッチすることはできません。

  1. ECS コンソールの [Custom Launch] ページに移動します。

  2. [Networking] を選択し、ネットワークとセキュリティグループ セクションに移動し、ENI セクションで、プライマリ ENI または セカンダリ ENI として [Existing ENI] を選択します。

    image

API

RunInstances を呼び出します。NetworkInterface パラメーターで、NetworkInterfaceId で ENI を指定し、InstanceType でプライマリまたはセカンダリとして定義します。

既存インスタンスへの ENI のアタッチ

コンソール

  1. ECS コンソールの [Instances] ページに移動し、対象のインスタンス ID をクリックします。

  2. ENI タブをクリックし、次に セカンダリ ENI のバインド をクリックします。

  3. 対象の ENI を選択し、OK をクリックします。

API

AttachNetworkInterface API を呼び出して、既存のインスタンスに ENI をアタッチします。

OS での ENI の設定

プライマリ ENI は自動的に設定されます。セカンダリ ENI をアタッチする際は、それらがオペレーティングシステム (OS) で認識され、アクティブになっていることを確認してください。

ステップ 1:インスタンス内で ENI がアクティブであることの確認

警告

セカンダリ ENI が OS で正しく設定されていない場合、通信できません。次の手順に従って ENI のステータスを確認してください。

Linux インスタンス

OS の例:Alibaba Cloud Linux 3.2

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

    詳細については、「Workbench の SSH ツールを使用した Linux インスタンスへのログオン」をご参照ください。

  2. ENI 情報を確認します:

    ip a

    出力には ENI 情報が表示されます:

  3. ルーティング情報を表示します:

    route -n

    centos8-route

    システムは通常、セカンダリ ENI (eth1) に対して 2 つのルートを設定します:

    • 宛先が 192.168.xx.xx のルート:同じサブネット内の他のホストとの直接通信を可能にするサブネット固有のルートです。

    • 宛先が 0.0.0.0 のルート:デフォルトルートです。パケットの宛先がより具体的なルートに一致しない場合、システムは Iface で指定されたインターフェイスを介して、ネクストホップの Gateway に転送します。

      重要
      • 複数のデフォルトルートが存在する場合、メトリック値が最も低いルートが最も高い優先度を持ちます。

      • トラフィックがそれを受信したのと同じ ENI を介して戻るようにするには、ENI のポリシーベースルートを設定してください。

      Ubuntu 16 などの一部の古い OS バージョンでは、以下に示すように、セカンダリ ENI のデフォルトルートが自動的に設定されない場合があります。これにより、通信の問題が発生する可能性があります。新しい OS ディストリビューションを使用するか、手動で設定してください。「ENI のデフォルトルートの設定」をご参照ください。

      image

Windows インスタンス

OS の例:Windows Server 2022

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

    詳細については、「Workbench の RDP ツールを使用した Windows インスタンスへのログオン」をご参照ください。

  2. ネットワークと共有センターを開きます。

  3. [Change adapter settings] をクリックします。

    この例では、インスタンスには 2 つの ENI (プライマリ 1 つとセカンダリ 1 つ) があります。次のような情報が表示される場合、ENI はアクティブであり、これ以上の設定は必要ありません。

    image

    セカンダリ ENI が認識されない場合、次のように表示されることがあります。「Windows インスタンスでの ENI 設定の失敗に関するトラブルシューティング」をご参照ください。

    image

  4. ENI のステータスと詳細を表示します:

    1. ENI 名をダブルクリックして、そのステータスを表示します:

      例えば、プライマリ ENI のイーサネット:

      image

    2. 詳細 をクリックして、ENI のプロパティを表示します。

      ダイアログボックスには、プライマリプライベート IPv4 アドレス、サブネットマスク、デフォルトゲートウェイ、およびその他の ENI プロパティが表示されます:

      image

  5. [Command Prompt] を開きます。

    Win+R キーボードショートカットを使用して [Run] ダイアログボックスを開きます。cmd と入力し、OK をクリックします。

  6. ENI のルーティング情報を表示します:

    image

ステップ 2:ENI を認識するための Linux OS の設定

ENI がアクティブでない場合は、次のいずれかの方法を使用して OS で設定してください。

説明

ほとんどの Windows OS バージョンは ENI を自動的に認識します。ENI がアクティブでない場合は、「Windows インスタンスでの ENI 設定の失敗に関するトラブルシューティング」をご参照ください。

方法 1:multi-nic-util ツールによる自動設定

警告
  • Alibaba Cloud Linux 3、CentOS 8 以降では、デフォルトで NetworkManager を使用しており、セカンダリ ENI が自動的に有効になります。このツールは必要ありません。

  • multi-nic-util ツールは、Alibaba Cloud Linux 2、CentOS 6 (6.8+)、CentOS 7 (7.3+)、および Red Hat をサポートしています。

  • multi-nic-util ツールを Docker またはその他の コンテナ化された環境 で使用しないでください。

  • multi-nic-util ツールを使用すると、ECS インスタンスの既存の ネットワーク設定上書きされます。このリスクに注意してください。

このツールを使用できない場合は、「方法 2:ネットワーク設定ファイルを使用した手動設定」をご参照ください。

  1. multi-nic-util ツールをダウンロードしてインストールしてください (インターネットアクセスが必要です):

    wget https://image-offline.oss-cn-hangzhou.aliyuncs.com/multi-nic-util/multi-nic-util-0.6.tgz && \
    tar -zxvf multi-nic-util-0.6.tgz && \
    cd multi-nic-util-0.6 && \
    bash install.sh
  2. ENI サービスを再起動してください:

    sudo systemctl restart eni.service
  3. 再度 ENI のステータスを確認し、アクティブであることを確認してください。

方法 2:ネットワーク設定ファイルを使用した手動設定

ネットワーク設定ファイルは、Linux のディストリビューション、バージョン、およびネットワーク管理ツールによって異なります。

警告
  • 編集する前に、元のネットワーク設定ファイルをバックアップしてください。

    ファイルを変更した後に Workbench を使用して接続できない場合は、VNC を使用して接続し、変更を比較してファイルを修復してください。

  • この例では、プライマリプライベート IP アドレスに DHCP が使用されていることを前提としています。静的 IP アドレスを設定するには、「セカンダリプライベート IP アドレスを認識するためのオペレーティングシステムの設定」をご参照ください。

  • 設定ファイル内の IP アドレス、MAC アドレス、ゲートウェイ、およびその他の値が実際の設定と一致していることを確認してください。設定が正しくないと、通信障害が発生する可能性があります。

  • ENI をアタッチまたはデタッチした後は、接続の問題や設定の競合を避けるために、ネットワーク設定ファイルを更新してください。

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

    詳細については、「Workbench の SSH ツールを使用した Linux インスタンスへのログオン」をご参照ください。

  2. お使いの Linux ディストリビューションとバージョンに基づいて、ネットワーク設定ファイルを作成および編集してください。

    プライマリ ENI の設定ファイルは自動的に生成されます。以下の例では、セカンダリ ENI の設定に焦点を当てています。

    RHEL/CentOS ファミリー
    • 対象オペレーティングシステム:Alibaba Cloud Linux 2/3、CentOS 6/7/8、Red Hat 6/7/8/9、Anolis 7/8、Fedora 33/34/35 など。

    • ネットワークインターフェイス設定ファイル:/etc/sysconfig/network-scripts/ifcfg-*

      各ネットワークインターフェイスには、ifcfg-eth0、ifcfg-eth1、ifcfg-eth2 などの対応する設定ファイルがあります。

    • 設定例:セカンダリ ENI (eth1) の設定ファイルを作成および編集します:

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
      DEVICE=eth1      
      TYPE=Ethernet
      BOOTPROTO=dhcp
      ONBOOT=yes
      DEFROUTE=no
      • DEVICE:eth1 や eth2 などのネットワークインターフェイス識別子。

      • TYPE:ネットワークインターフェイスのタイプ。Ethernet はイーサネットインターフェイスを示します。

      • BOOTPROTO:IP アドレスを取得する方法。dhcp は DHCP サーバーから IP アドレスを取得します。static は手動での IP アドレスとサブネットマスクの設定が必要です。

      • ONBOOT:システム起動時にインターフェイスをアクティブ化するかどうか。yes はインターフェイスを自動的に有効にします。no は手動でのアクティブ化が必要です。

      • DEFROUTE:このインターフェイスをデフォルトルートの出口として設定するかどうか。

        • プライマリ ENI (eth0) の場合、このパラメーターは必要ありません。システムはプライマリ ENI に対して最も高い優先度を持つデフォルトルートを自動的に生成します。

        • セカンダリ ENI をデフォルトルートとして設定しないでください。eth1 が eth0 を置き換えてしまい、プライマリ ENI の通信障害を引き起こす可能性があります。複数 ENI 環境では、ポリシーベースルートを設定してトラフィックの転送パスを制御してください。

    Ubuntu 18 以降

    Ubuntu 18.04 LTS 以降、Netplan がデフォルトのネットワーク設定フレームワークです。

    • 対象オペレーティングシステム:Ubuntu 18/20/22/24

    • ネットワークインターフェイス設定ファイル:/etc/netplan/*.yaml

      • システムは /etc/netplan 内の YAML ファイルを認識します。各ネットワークインターフェイスに対して個別の YAML ファイルを作成できます。

      • プライマリ ENI のデフォルトのネットワーク設定ファイルである 50-cloud-init.yaml は、システム起動時に cloud-init によって自動的に生成されます。

    • 設定例:セカンダリ ENI (eth1) の設定ファイルを作成および編集します:

      sudo vi /etc/netplan/eth1-netcfg.yaml
      説明

      プライマリ ENI の設定ファイルはすでに存在します。正しい YAML 形式を確保するために、cp 50-cloud-init.yaml ethX-netcfg.yaml を実行してセカンダリ ENI の設定ファイルを作成し、以下のように変更してください。

      network:
          version: 2
          ethernets:
              eth1:
                  dhcp4: true
                  match:
                       macaddress: 00:16:3e:xx:xx:xx 
                  set-name: eth1
      • dhcp4:IPv4 の DHCP を有効にするかどうか。有効な値:true、false。

      • match:MAC アドレスなど、ネットワークインターフェイスのプロパティを照合します。

        コンソールで、または API 操作を呼び出して ENI の MAC アドレスを表示できます。

    従来の Debian ベースの Linux (初期の Ubuntu)
    • 対象オペレーティングシステム:Debian、Ubuntu 14/16 などの初期バージョンの Ubuntu、Debian 8/9/10 など。

    • ネットワークインターフェイス設定ファイル:/etc/network/interfaces

      • IP アドレス、サブネットマスク、ゲートウェイ、DNS、およびその他の設定を、静的 IP または DHCP モードで手動で設定してください。

      • この方法は、新しいディストリビューションでは Systemd ネットワーク管理ツールに徐々に置き換えられています。

    • 設定項目:インターフェイスタイプ、IP アドレス、サブネットマスク、ゲートウェイ、DNS。

    • 設定例:ネットワーク設定ファイルを編集します:

      sudo vi /etc/network/interfaces
      説明

      プライマリ ENI (eth0) とセカンダリ ENI (eth1) の設定は同じファイルにあります。プライマリ ENI の情報を省略しないでください。

      auto lo
      iface lo inet loopback
      
      auto eth0
      iface eth0 inet dhcp
      
      auto eth1  # 新しく設定するネットワークインターフェイス
      iface eth1 inet dhcp
      • auto <interface>:システム起動時にネットワークインターフェイスを自動的にアクティブ化します。

      • iface <interface> inet <method>:インターフェイスの設定方法を定義します。

      • inet:IPv4 設定を指定します。

      • method:IP アドレスの割り当て方法。dhcp は DHCP サーバーから IP アドレス、サブネットマスク、デフォルトゲートウェイ、DNS を取得します。static は手動設定が必要です。

    SLES ファミリー
    • 対象オペレーティングシステム:SUSE Linux 11/12/15、OpenSUSE 15 など。

    • ネットワークインターフェイス設定ファイル:/etc/sysconfig/network/ifcfg-*

      各ネットワークインターフェイスには、ifcfg-eth0、ifcfg-eth1、ifcfg-eth2 などの対応する設定ファイルがあります。

    • 設定例:セカンダリ ENI (eth1) の設定ファイルを作成および編集します:

      sudo vi /etc/sysconfig/network/ifcfg-eth1
      BOOTPROTO='dhcp'
      STARTMODE='auto'
      • BOOTPROTO:IP アドレスの割り当て方法。dhcp は DHCP サーバーから IP アドレスと関連設定を取得します。

      • STARTMODE:起動時にインターフェイスがどのように処理されるか。'auto' は起動時に検出された場合にインターフェイスをアクティブ化します。

  3. ネットワークサービスを再起動してください:

    設定を有効にするには、ネットワークサービスを再起動してください。

    オペレーティングシステム

    ネットワークサービスを再起動するコマンド

    • Alibaba Cloud Linux 2

    • CentOS 7

    • Red Hat 7

    • Anolis 7

    • SUSE Linux 11、SUSE Linux 12、および SUSE Linux 15

    • openSUSE 15 および openSUSE 42

    sudo service network restart

    または sudo systemctl restart network

    • CentOS 6

    • Red Hat 6

    sudo service network restart

    • Alibaba Cloud Linux 3

    • CentOS 8

    • Red Hat 8

    • Anolis 8

    • Fedora 33、Fedora 34、および Fedora 35

    sudo systemctl restart NetworkManager または sudo reboot

    • Ubuntu 18、Ubuntu 20、および Ubuntu 22

    • Debian 12

    sudo netplan apply

    • Ubuntu 14 および Ubuntu 16

    • Debian 8、Debian 9、Debian 10、および Debian 11

    sudo systemctl restart networking または sudo reboot

  4. ステップ 1:インスタンス内で ENI がアクティブであることの確認 に戻り、ENI がアクティブであることを確認してください。

内部通信用のプライベート IP アドレスの割り当て

ENI が VPC と vSwitch 内に作成されると、内部通信のために vSwitch の CIDR ブロックからプライマリプライベート IPv4 アドレスを受け取ります。

マルチアプリケーションのホスティング、フェイルオーバー、または負荷分散をサポートするには、セカンダリプライベート IP アドレスを ENI に割り当ててください。「ENI へのセカンダリプライベート IP アドレスの割り当て」をご参照ください。

インターネット通信用のパブリック IP アドレスのアタッチ

  • 単一のプライマリ ENI のシナリオ:インターネット通信のために、インスタンス (プライマリ ENI) に 固定パブリック IP アドレス を割り当ててください。

  • 複数の ENI または柔軟な管理シナリオ:インターネット通信のために、Elastic IP アドレス (EIP) を関連付けてください。固定パブリック IP アドレスとは異なり、EIP は柔軟に関連付けおよび関連付け解除ができます。

    また、EIP を ENI 上の複数のプライベート IP アドレスに関連付けて、インスタンスに複数のパブリック IP アドレスを付与することもできます。「NAT モードで ECS インスタンスに複数の EIP を関連付ける」をご参照ください。

    重要
    • セカンダリ ENI に EIP を関連付けた後、ENI がインスタンスにアタッチされ、OS でアクティブになっていることを確認してください。「OS での ENI の設定」をご参照ください。

    • EIP または NAT ゲートウェイでセカンダリ ENI を使用する場合、アウトバウンドトラフィックがパブリック IP アドレスで設定された ENI を通過せず、EIP 通信が失敗することがあります。ポリシーベースルートを設定して、トラフィックがそれを受信したのと同じ ENI を介して戻るように強制してください。

    • ENI とルートを正しく設定した後でもパブリック IP アドレスに ping できない場合は、セキュリティグループとファイアウォールを確認してください。「ECS インスタンスのパブリック IP アドレスに ping できない問題のトラブルシューティング」をご参照ください。

ENI とセキュリティグループの関連付け

セキュリティグループは、各 ENI のネットワーク層でインバウンドおよびアウトバウンドトラフィックを制御します。

  • ECS インスタンスのセキュリティグループルールは、そのプライマリ ENI に適用されます。プライマリ ENI は常にインスタンスと同じセキュリティグループに属します。そのセキュリティグループを変更するには、インスタンスのセキュリティグループの関連付けを変更してください。

  • セカンダリ ENI は、同じ VPC とゾーン内の任意のセキュリティグループに関連付けることができ、これはインスタンスのセキュリティグループとは異なる場合があります。ENI を作成するときにセキュリティグループを指定するか、後で変更してください。

  • ENI 上のセカンダリ IPv4 または IPv6 アドレスも、ENI のセキュリティグループルールによって保護されます。送信元 IP、プロトコル、ポート、およびその他の基準に基づいて正確なルールを設定してください。「セキュリティグループルールの管理」をご参照ください。