ワークロードをより適切に管理するために、仮想プライベートクラウド (VPC) 内のElastic Compute Service (ECS) インスタンスを設定して、同じNAT IPアドレスを使用してインターネットにアクセスすることができます。 このトピックでは、同じNAT IPアドレスを使用してインターネットにアクセスするようにDNAT IPマッピングが設定されているECSインスタンスを設定する方法について説明します。

前提条件

SNATエントリは、DNAT IPマッピングを使用するECSインスタンスのVPCに対して設定されます。 詳細については、「SNATエントリの作成と管理」をご参照ください。

背景情報

NAT GatewayはSNAT機能をサポートしています。 SNATは、ECSインスタンスにパブリックIPアドレスが割り当てられていない場合、VPC内のECSインスタンスがインターネットにアクセスできるようにします。 すべてのポートをマッピングするDNAT IPマッピングがVPC内のECSインスタンスに設定されている場合、ECSインスタンスは優先的にDNATエントリのelastic IPアドレス (EIP) を使用してインターネットにアクセスします。 DNAT IPマッピングが設定されていないECSインスタンスは、NATゲートウェイが提供するSNATサービスを介してインターネットにアクセスします。 その結果、VPC内のECSインスタンスは異なるIPアドレスを使用してインターネットにアクセスするため、管理操作が複雑になります。 NATゲートウェイリスト

elastic network Interface (ENI) をECSインスタンスに関連付けることで、同じNAT IPアドレスを使用してインターネットにアクセスするようにVPC内のECSインスタンスを設定できます。

次の例では、ECSインスタンスのENIを作成し、そのENIをECSインスタンスにアタッチし、NATゲートウェイからDNAT IPマッピングエントリを削除します。 次に、NATゲートウェイのパブリックIPアドレスをENIにマップするDNATエントリを作成します。 このように、ECSインスタンスはENIを使用してインターネットからリクエストを受信し、NATゲートウェイを介してインターネットにアクセスします。 NATゲートウェイ2

手順 1: ENI の作成

  1. ECS コンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[ネットワークとセキュリティ] > [ENI] を選択します。
  3. ENIを作成するリージョンを選択します。
    説明 ENIとECSインスタンスは同じリージョンに属している必要があります。
  4. [ネットワークインタフェース] ページで、[ENI 作成] をクリックします。
  5. [ENIの作成] ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
    • ENI名: ENIの名前を入力します。
    • VPC: ECSインスタンスが作成されたVPCを選択します。
    • VSwitch: ECSインスタンスがデプロイされているゾーンのvSwitchを選択します。
    • プライマリプライベートIP: オプション。 ENIのプライマリプライベートIPv4アドレスを入力します。 IPv4アドレスは、vSwitchのCIDRブロック内のアイドルIPアドレスである必要があります。 IPv4アドレスを指定しない場合、ENIの作成後にアイドルプライベートIPv4アドレスが自動的にENIに割り当てられます。 この例では、プライマリプライベートIPアドレスは指定されていません。
    • セカンダリプライベートIPアドレス: オプション。 このパラメーターは、ビジネス要件に基づいて指定できます。 この例では、Not setが選択されています。
    • セキュリティグループ: 選択したVPCに対して作成されたセキュリティグループを選択します。
    関連パラメーターの詳細については、「ENI の作成」をご参照ください。

ステップ2: ENIをECSインスタンスに関連付ける

  1. ECS コンソールにログインします。
  2. 左側のナビゲーションウィンドウで、[ネットワークとセキュリティ] > [ENI] を選択します。
  3. ENIがデプロイされているリージョンを選択します。
  4. [ネットワークインタフェース] ページで、管理するENIを見つけ、[操作] 列の [インスタンスにバインド] をクリックします。
  5. 表示されるダイアログボックスで、ENIを関連付けるECSインスタンスを選択し、[OK] をクリックします。

ステップ3: DNAT IPマッピングエントリを削除する

  1. NAT Gatewayコンソールにログインします。
  2. NATゲートウェイがデプロイされているリージョンを選択します。
  3. [NAT Gateway] ページで、管理するNATゲートウェイを見つけ、[操作] 列の [DNAT の構成] をクリックします。
  4. [DNAT の管理] タブで、削除するDNATエントリを見つけ、[操作] 列の [削除] をクリックします。
  5. 表示されたメッセージボックスで、[OK] をクリックします。

ステップ4: 新しいDNATエントリを作成する

NATゲートウェイのパブリックIPアドレスをECSインスタンスのENIにマッピングするDNATエントリを作成するには、次の操作を実行します。

  1. NAT Gatewayコンソールにログインします。
  2. [NAT Gateway] ページで、管理するNATゲートウェイを見つけ、[アクション] 列の [DNAT の構成] をクリックします。
  3. [DNAT管理] タブで、[DNAT エントリの作成] をクリックします。
  4. [DNAT エントリの作成] ページで、次のパラメーターを設定し、[OK] をクリックします。
    • パブリックIPアドレスの選択: 使用可能なパブリックIPアドレスを選択します。
    • プライベートIPアドレスの選択: ECSインスタンスまたはENIを選択します。
    • ポートの設定: 任意のポートを選択します。
    • エントリ名: DNATエントリの名前を入力します。

ステップ5: ネットワーク接続の確認

次の操作を実行して、ECSインスタンスがENIに関連付けられているEIPを使用してインターネットからリクエストを受信できるかどうかを確認します。 この例では、オンプレミスのLinuxマシンを使用してECSインスタンスにリモート接続します。
説明 ECSインスタンスにリモート接続するには、ECSインスタンスのセキュリティグループルールがSSHポート22のネットワークトラフィックを許可していることを確認します。 詳細については、「セキュリティグループルールの追加」をご参照ください。
  1. オンプレミスLinuxマシンにログインします。
  2. ssh root @ public IPコマンドを実行し、ECSインスタンスのパスワードを入力して、ECSインスタンスにリモート接続できるかどうかを確認します。 次のメッセージが表示された場合、ECSインスタンスに接続されています。
    Alibaba Cloud Elastic Compute Serviceへようこそ!
    ECSインスタンス1

次の操作を実行して、ECSインスタンスがNATゲートウェイによって提供されるSNATサービスを介してインターネットにアクセスできるかどうかを確認します。 ECSインスタンスのNAT IPアドレスを表示するには、次の手順を実行します。

  1. ECS インスタンスにログインします。
  2. curl https://myip.ipip.netコマンドを実行して、ECSインスタンスがインターネットへのアクセスに使用するNAT IPアドレスを確認します。 NAT IPアドレスが、ECSインスタンス用に作成されたSNATエントリのIPアドレスと同じである場合、ECSインスタンスがSNATサービスを使用してインターネットにアクセスすることが望ましいことを示します。 ECSインスタンス2