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

Elastic IP Address:NATモードで複数のEIPをECSインスタンスに関連付ける

最終更新日:Sep 19, 2024

Elastic Compute Service (ECS) インスタンスに複数のアプリケーションをデプロイし、各アプリケーションが一意のパブリックIPアドレスを使用する場合、NATモードで複数のelastic IPアドレス (EIP) をセカンダリelastic network interface (ENI) に関連付けることができます。 次に、セカンダリENIをECSインスタンスに関連付けます。 これにより、EIPECSインスタンスに関連付けられます。

背景情報

  • セカンダリENIに複数のセカンダリプライベートIPアドレスを割り当てることができます。

    セカンダリENIに割り当てることができるプライベートIPアドレスの数は、セカンダリENIのステータスと、セカンダリENIに関連付けられているECSインスタンスの仕様によって決まります。 詳細については、「セカンダリプライベートIPアドレスの割り当て」をご参照ください。

  • 各セカンダリプライベートIPアドレスは、NATモードでEIPに関連付けることができます。

    詳細については、「EIPとセカンダリENIの関連付け」をご参照ください。

  • ECSインスタンスにパブリックIPアドレスが割り当てられている場合、ECSインスタンスはインターネットと通信できます。 セカンダリENIを使用しない場合、各ECSインスタンスに1つの静的パブリックIPアドレスのみを割り当てるか、1つのEIPのみを関連付けることができます。

    ECSインスタンスに複数のパブリックIPアドレスを割り当てるには、EIPをセカンダリENIに関連付けてから、セカンダリENIをECSインスタンスに関連付けます。 ECSインスタンスが複数のアプリケーションをホストする場合、各アプリケーションは一意のパブリックIPアドレスを使用してインターネットと通信します。 これにより、ECSインスタンスの使用率が向上します。

シナリオ

このトピックでは、次のシナリオを使用します。 企業は、WebサイトをデプロイするためにAlibaba Cloud上にECSインスタンスを作成し、EIPECSインスタンスに関連付けました。

ビジネス要件を満たすには、ECSインスタンスに3つのサブウェブサイトをデプロイする必要があり、各サブウェブサイトは固有のEIPを使用してサービスを提供します。

セカンダリENIには、1つのプライマリプライベートIPアドレスと2つのセカンダリプライベートIPアドレスを割り当てることができます。 次に、NATモードで複数のEIPをプライベートIPアドレスに関連付けます。 これにより、ECSインスタンスは複数のEIPに関連付けられます。业务场景

前提条件

開始する前に、次の要件が満たされていることを確認してください。

リソース

要件

関連ドキュメント

Elastic Compute Service (ECS) インスタンス

  • ECSインスタンスは複数のセカンダリENIに関連付けることができ、各ENIは複数のプライベートIPアドレスに関連付けることができます。

    たとえば、ECS. c6.large仕様のecsインスタンスは、最大2つのENI (1つのプライマリENIと1つのセカンダリENI) に関連付けることができ、各ENIは最大6つのプライベートIPアドレスに関連付けることができます。 購入ページで:

    • プライマリENIのプライベートIPアドレスは、1つのEIPにのみ関連付けることができます。

    • セカンダリENIのプライベートIPアドレスは、最大で6つのEIPに関連付けることができます。

    したがって、ECSインスタンスは最大7つのEIPに関連付けることができます。

  • ECSインスタンスが属する仮想プライベートクラウド (VPC) では、IPv4ゲートウェイは有効化されていません。 VPCでIPv4ゲートウェイが既に有効化されている場合は、VPC内のインスタンスがインターネットにアクセスできるようにIPv4ゲートウェイルートを設定できます。

セカンダリENI

  • 関連付けられるセカンダリENIとECSインスタンスは、同じVPCに属している必要があります。

  • セカンダリENIのvSwitchとECSインスタンスのvSwitchは同じゾーンに属している必要があります。

  • セキュリティグループルールにより、セカンダリENIはインターネットにアクセスできます。

EIP

関連付けられるEIPとセカンダリENIは同じリージョンに属している必要があります。

EIPの申請

クイックデプロイ方法を使用する場合、新しいインスタンスを作成するか、既存のインスタンスを使用できます。

  • 新しいインスタンスを作成する場合、上記のリソースを作成する必要はありません。

  • 既存のインスタンスを使用する場合は、まず上記のインスタンスを作成し、ECSインスタンスでCentOS 7.xを実行する必要があります。

手順

手動展開

手順

ECS绑定多个EIP 配置步骤.png

このトピックでは、新しいECSコンソールを例として使用します。 ナビゲーションウィンドウの左下にあるボタンをクリックすると、新しいバージョンと以前のバージョンを切り替えることができます。

警告

このトピックの操作には、ネットワークサービスの再起動とルートの設定が含まれます。 サービスの中断を避けるため、オフピーク時に操作を実行することを推奨します。

手順1: セカンダリENIをECSインスタンスに関連付ける

  1. にログインします。ECSコンソール.

  2. 左側のナビゲーションウィンドウで、ネットワーク&セキュリティ > Elastic Network Interface.

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. セカンダリENIを見つけ、[操作] 列の [インスタンスにバインド] をクリックします。

  5. [インスタンスにバインド] ダイアログボックスで、ECSインスタンスを選択し、[OK] をクリックします。

    リストを更新します。 ステータス列にInUseが表示されている場合、セカンダリENIはECSインスタンスに関連付けられています。

説明

セカンダリENIをECSインスタンスに関連付けることができない場合、考えられる原因は次のとおりです。

  • ECSインスタンスに関連付けられているセカンダリENIの数が上限に達しています。 詳細については、「インスタンスタイプの概要」をご参照ください。 インスタンス仕様をアップグレードする方法の詳細については、「インスタンス設定変更の概要」をご参照ください。

  • ECSインスタンスが [停止済み] 状態の場合にのみ、ECSインスタンスをセカンダリENIに関連付けることができます。 詳細については、「前提条件」をご参照ください。

手順2: セカンダリENIに複数のセカンダリプライベートIPアドレスを割り当てる

セカンダリENIに複数のセカンダリプライベートIPアドレスを割り当て、セカンダリENIをECSインスタンスに関連付けることができます。 これにより、ECSインスタンスの高い使用率とサービス可用性が保証されます。

  1. にログインします。ECSコンソール.

  2. 左側のナビゲーションウィンドウで、ネットワーク&セキュリティ > Elastic Network Interface.

  3. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  4. On theENIsページ、ENIを見つけて、セカンダリプライベートIPアドレスの管理で、アクション列を作成します。

  5. では、セカンダリプライベートIPアドレスの管理ダイアログボックスで、新しいIPの割り当てで、IPv4アドレスセクションで、必要に応じてIPアドレスを割り当て、OK.

    この例では、[新しいIPの割り当て] を2回クリックします。 このようにして、2つのセカンダリプライベートIPアドレスがセカンダリENIに自動的に割り当てられます。

    説明

    プライベートIPv4 CIDRクロック内のセカンダリプライベートIPアドレスを入力することもできます。 セカンダリプライベートIPアドレスを入力しない場合、システムはプライベートIPv4 CIDRブロックからアイドルIPアドレスを割り当てます。

    分配辅助私网IP INTL ZH.png

    割り当てられたセカンダリプライベートIPアドレスは、セカンダリENIの [プライベートIPアドレス] 列に表示されます。

ステップ3 (オプション): ECSインスタンスでのENIの設定

セカンダリENIをECSインスタンスに関連付けた後、一部のイメージがENIのIPアドレスの特定やルートの追加に失敗する場合があります。 その結果、セカンダリENIは期待どおりに機能しません。 この場合、ENIのIPアドレスを識別できるように、ECSインスタンスのセカンダリENIを設定する必要があります。

ECSインスタンスイメージが関連するセカンダリENIをサポートしているかどうかを確認する方法、およびECSインスタンスでセカンダリENIを設定する方法の詳細については、「セカンダリENIの設定」をご参照ください。

手順4: ECSインスタンスのセカンダリプライベートIPアドレスの設定

セカンダリENIをECSインスタンスに関連付けた後、ECSインスタンスのセカンダリプライベートIPアドレスを設定する必要があります。

この例では、Alibaba Cloud Linux 2を実行するECSインスタンスを使用して、ECSインスタンスのセカンダリプライベートIPアドレスを設定する方法を説明します。 他のオペレーティングシステムを実行するECSインスタンスの手順の詳細については、「セカンダリプライベートIPアドレスの割り当て」をご参照ください。

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

    接続方法の詳細については、「接続方法の概要」をご参照ください。

  2. ifconfigコマンドを実行してサブネットマスクを照会し、route -nコマンドを実行してデフォルトゲートウェイを照会します。

    出力例を次の図に示します。

    查询子网掩码和默认网关.png

    netmaskに対応する255.255.**.** はIPv4サブネットマスクで、Gatewayに対応する172.**.**.253はデフォルトゲートウェイです。

  3. ネットワーク設定ファイルを変更します。

    1. vi /etc/sysconfig/network-scripts/ifcfg-eth1:0コマンドを実行して、設定を追加します。

      例:

      DEVICE=eth1:0   
      TYPE=Ethernet
      BOOTPROTO=static
      ONBOOT=yes
      IPADDR=<Assigned secondary private IPv4 address 1>
      NETMASK=<IPv4 subnet mask>
    2. vi /etc/sysconfig/network-scripts/ifcfg-eth1:1コマンドを実行して、設定を追加します。

      例:

      DEVICE=eth1:1   
      TYPE=Ethernet
      BOOTPROTO=static
      ONBOOT=yes
      IPADDR=<Assigned secondary private IPv4 address 2>
      NETMASK=<IPv4 subnet mask>
  4. 次のコマンドを実行してネットワークサービスを再起動し、設定を有効にします。

    service network restart

  5. を実行します。Run theifconfigコマンドを実行して、設定結果を表示します。

    次の図は、2つのセカンダリプライベートIPアドレスを設定するために使用されるコマンドの出力を示しています。查看配置辅助私网IP结果.png

手順5: EIPをセカンダリプライベートIPアドレスに関連付ける

  1. Elastic IP Addressコンソールにログインします。

  2. Elastic IP アドレス ページで、作成したEIPを見つけ、アクション 列の リソースと関連付ける をクリックします。

  3. [EIPとリソースの関連付け] ダイアログボックスで、次のパラメーターを設定し、OK をクリックします。

    • インスタンスタイプサブネットワークインターフェイス を選択します。

      重要

      [サブネットワークインターフェイス] を選択します。 ECSインスタンスを選択した場合、EIPをセカンダリプライベートIPアドレスに関連付けることはできません。

    • リソースグループ: セカンダリENIが属するリソースグループを選択します。

    • モード: NAT Mode を選択します。

    • 関連付けるインスタンスを選択してください: セカンダリプライベートIPアドレスを選択します。 セカンダリプライベートIPアドレスは、セカンダリENIの [プライベートIPアドレス] 列に表示されます。

      この例では、セカンダリENIのプライマリプライベートIPアドレスが選択されています。

  4. 上記の手順を繰り返して、他の2つのEIPをセカンダリENIのセカンダリプライベートIPアドレスに関連付けます。

ステップ6: ルートの設定

この例では、Alibaba Cloud Linux 2を実行するECSインスタンスを使用して、ECSインスタンスのルートを設定する方法を説明します。 他のオペレーティングシステムを実行するECSインスタンスの手順の詳細については、「手順4 (オプション): ルートの設定」をご参照ください。

ECSインスタンスのセカンダリENIのルートの設定

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

    接続方法の詳細については、「接続方法の概要」をご参照ください。

  2. 次のコマンドを実行して、ルート情報を照会します。

    route -n

    プライマリENI (eth0) とセカンダリENI (eth1) の次のルート情報が返されます。

    查看路由.png

  3. 次のコマンドを実行して、デフォルトルートを設定します。

    ip -4 route add default via 172.16.**.253 dev eth1 metric 1001 && \
    ip -4 route add default via 172.16.**.253 dev eth1 table 1001 && \
    ip -4 rule add from 172.16.**.*57 lookup 1001 && \
    ip -4 rule add from 172.16.**.*77 lookup 1001 && \
    ip -4 rule add from 172.16.**.*78 lookup 1001
    説明

    上記のコマンドは、eth1にデフォルトルートを追加し、ルートテーブルを作成し、ルートテーブルに関連付けられた3つのルーティングポリシーを関連付けます。 テーブル1001はルートテーブルです (デフォルトルートのメトリック値と一致します) 。 172.16.**253ゲートウェイのIPアドレスです。 172.16.*.* 57 eth1のプライマリプライベートIPアドレスです。 172.16.**.* 77172.16.**.* 78はeth1の2つのセカンダリプライベートIPアドレスです。 実際の情報に基づいてパラメーターを指定します。

  4. 次のコマンドを実行して、作成されたルートテーブルとルーティングポリシーを表示します。

    ip route list table 1001 && \
    ip rule list

    次の出力が返されると、ルートテーブルとルーティングポリシーが作成されます。查看创建的路由表和策略路由.png

  5. オプション: 既存のルートが要件を満たしていない場合は、ルートテーブルとルールを設定できます。

    ルートテーブルとルールを設定して、指定したゲートウェイを介してトラフィックを転送できるルーティングポリシーを実装できます。 これにより、よりきめ細かい方法でネットワークトラフィックを制御および管理できます。

インスタンス起動時の自動ルート更新の設定

セカンダリENIのルートを設定した後、インスタンスの起動時に自動ルート更新を設定する必要があります。 そうでなければ、ルートは無効になる。

  1. 次のコマンドを実行して、/etc/rc.localファイルを開きます。

    vim /etc/rc.local
  2. Iキーを押して編集モードに入り、次の内容を追加し、Escキーを押して編集モードを終了し、:wqと入力して保存して終了します。

    ip -4 route add default via 172.16.**.253 dev eth1 metric 1001
    ip -4 route add default via 172.16.**.253 dev eth1 table 1001 
    ip -4 rule add from 172.16.**.*57 lookup 1001
    ip -4 rule add from 172.16.**.*77 lookup 1001
    ip -4 rule add from 172.16.**.*78 lookup 1001
  3. 次のコマンドを実行して、/etc/rc.localファイルに対する実行権限を付与します。

    sudo chmod + x /etc/rc.local

ステップ7: ネットワーク接続のテスト

この例では、Alibaba Cloud Linux 2を実行するECSインスタンスを使用して、ECSインスタンスとターゲットネットワーク間の接続をテストする方法を説明します。

  1. ECSインスタンスにログインします。

    接続方法の詳細については、「接続方法の概要」をご参照ください。

  2. 次のコマンドを実行して、セカンダリプライベートIPアドレスと宛先ネットワーク間の接続を確認します。

    ping <Destination network> -I <Secondary private IP address>

    結果は、セカンダリプライベートIPアドレスが宛先ネットワークにアクセスできることを示しています。これは、セカンダリプライベートIPアドレスがEIPに関連付けられていることを示しています。

    实现单ECS实例绑定多个EIP 测试结果.png

クイック展開

Resource Orchestration Service (ROS) を使用してクイックデプロイメントを実装できます。これにより、複数のEIPECSインスタンスにすばやく関連付けることができます。

重要

クイックデプロイ機能を使用すると、3つのEIPECSインスタンスに関連付けることができます。 より柔軟な構成ソリューションが必要な場合は、[手動展開] を選択することを推奨します。

  1. [テンプレート] をクリックして、Resource Orchestration Service (ROS) コンソールに移動します。

  2. 上部のナビゲーションバーで、EIPのリージョンを選択します。

  3. [テンプレートパラメーターの設定] ウィザードページで、スタック名を入力し、[既存のECS/EIP/ENIを使用] または [ECS/EIP/ENIの作成] を選択し、次のパラメーターを設定し、[作成] をクリックします。

    • [既存のECS/EIP/ENIを使用] を選択: ECSインスタンスを選択し、セカンダリENI IDと3つのEIP IDを入力します。

    • [ECS/EIP/ENIの作成] を選択した場合、ゾーン、インスタンスタイプ、およびシステムディスクタイプを選択し、パスワードを入力する必要があります。

      重要

      [ECS/EIP/ENIの作成] を選択した場合、CentOS 7.xと3つの従量課金EIPを実行する従量課金ECSインスタンスが自動的に作成されます。 ECSインスタンスおよびEIPの課金方法の詳細については、「ECS課金の概要」および「EIP課金の概要」をご参照ください。

    [スタック情報] タブの [ステータス] セクションで、[作成][作成済み] に変更した場合、リソースがデプロイされます。

  4. ECSインスタンスにログインします。

    接続方法の詳細については、「接続方法の概要」をご参照ください。

  5. 次のコマンドを実行して、セカンダリプライベートIPアドレスと宛先ネットワーク間の接続を確認します。

    ping <宛先ネットワーク> -I <セカンダリプライベートIPアドレス>

    結果は、セカンダリプライベートIPアドレスが宛先ネットワークにアクセスできることを示しています。これは、セカンダリプライベートIPアドレスがEIPに関連付けられていることを示しています。

    实现单ECS实例绑定多个EIP 测试结果.png

よくある質問

私は請求されていますか?EIP 関連付けた後の設定料金EIPセカンダリENIで?

EIPをENIに関連付け、ENIをECSインスタンスに関連付けた後、追加の設定を実行する必要がありますか?

  • Webサイトなどのサービスを提供するアプリケーションがECSインスタンスにデプロイされている場合、ECSインスタンスまたはVPCでルートを設定する必要はありません。 セカンダリENIに関連付けられたEIPを使用して、サービスを提供できます。

  • ECSインスタンスをインターネットにアクセスする場合は、ECSインスタンスのデフォルトルートを設定するか、ECSインスタンスの特定のルートを作成する必要があります。 デフォルトでは、プライマリENIを使用してパケットをインターネットに転送します。 セカンダリENIを使用してパケットを転送するようにルート優先度を調整できます。 特定のルートを作成して、複数のENIまたはランダムなENIからインターネットにパケットを転送し、負荷分散を実装することもできます。

    詳細は、「ルートの設定」をご参照ください。

関連ドキュメント

  • EIPクォータの管理: 各Alibaba Cloudアカウントは、最大20のEIPを申請できます。 さらにEIPが必要な場合は、EIPクォータを増やすことができます。

  • AssociateEipAddress: EIPを同じリージョンのインスタンスに関連付けます。