このトピックでは、同じElastic IPアドレス (EIP) を使用してインターネットにアクセスするようにDNAT IPマッピングが有効になっているelastic Compute Service (ECS) インスタンスを設定する方法について説明します。
前提条件
SNATは、ECSインスタンスがデプロイされている仮想プライベートクラウド (VPC) に対して有効になっています。 詳細については、「SNATエントリの作成と管理」をご参照ください。
背景情報
NAT GatewayはSNAT機能をサポートしています。 SNATは、ECSインスタンスにパブリックIPアドレスが割り当てられていない場合、VPC内のECSインスタンスがインターネットにアクセスできるようにします。 VPC内のECSインスタンスにDNAT IPマッピングが設定されている場合、ECSインスタンスはDNATエントリのEIPを優先的に使用してインターネットにアクセスします。 DNAT IPマッピングが設定されていないECSインスタンスは、NATゲートウェイが提供するSNATサービスを介してインターネットにアクセスします。 その結果、VPC内のECSインスタンスは異なるIPアドレスを使用してインターネットにアクセスするため、管理操作が複雑になります。
elastic network Interface (ENI) をECSインスタンスに関連付けることで、同じEIPを使用してインターネットにアクセスするようにVPC内のECSインスタンスを設定できます。
次の図に示すように、ECSインスタンスに別のENIを割り当てたり、NATゲートウェイからDNAT IPマッピングエントリを削除したり、DNATエントリを作成したり、NATゲートウェイ上のパブリックIPアドレスとENIとの間のマッピングを確立したりできます。 これにより、ECSインスタンスがインターネットと通信するときに、トラフィックはNATゲートウェイを通過します。
手順 1: ENI の作成
ECSコンソールにログインします。
左側のナビゲーションウィンドウで、
を選択します。ENIを作成するリージョンを選択します。
説明ENIとECSインスタンスは同じリージョンに属している必要があります。
[Elastic Network Interface] ページで、[ENIの作成] をクリックします。
[ENIの作成] ダイアログボックスで、次のパラメーターを設定し、[OK] をクリックします。
このトピックでは、主要なパラメーターのみを一覧表示します。 詳細については、「セカンダリENIの作成」をご参照ください。
パラメーター
説明
ENI名
ENIの名前を入力します。
[VPC]
ECS インスタンスが属する VPC を選択します。
vSwitch
ECSインスタンスのゾーンでvSwitchを選択します。
[セキュリティグループ]
セキュリティグループを選択します。
プライマリプライベートIPアドレス (オプション)
ENIのプライマリプライベートIPv4アドレスを入力します。 IPv4アドレスは、vSwitchのCIDRブロック内のアイドルIPアドレスである必要があります。 IPv4アドレスを指定しない場合、ENIの作成後にアイドルプライベートIPv4アドレスが自動的にENIに割り当てられます。 この例では、プライマリプライベートIPアドレスは指定されていません。
セカンダリプライベートIPv4アドレス (オプション)
オプションを選択します。 この例では、[Not Assign] が選択されています。
ステップ2: ENIをECSインスタンスに関連付ける
ECS コンソールにログインします。
左側のナビゲーションウィンドウで、
を選択します。左上隅で、セカンダリENIがデプロイされているリージョンを選択します。
[ネットワークインタフェース] ページで、管理するENIを見つけ、[操作] 列の [インスタンスにバインド] をクリックします。
表示されるダイアログボックスで、ENIを関連付けるECSインスタンスを選択し、[OK] をクリックします。
ステップ3: DNAT IPマッピングエントリを削除する
NAT Gatewayコンソールにログインします。
NATゲートウェイがデプロイされているリージョンを選択します。
NAT Gateway ページで、管理するNAT gatewayを見つけ、DNAT の構成 列の [DNATの設定] をクリックします。
DNAT の管理 タブで、削除するDNATエントリを見つけ、[操作] 列の [削除] をクリックします。
表示されたメッセージボックスで、[OK] をクリックします。
手順 4:DNAT エントリの作成
NATゲートウェイのパブリックIPアドレスをECSインスタンスのENIにマッピングするDNATエントリを作成するには、次の操作を実行します。
NAT Gatewayコンソールにログインします。
NAT Gateway ページで、管理するNAT gatewayを見つけ、DNAT の構成 列の 操作 をクリックします。
[DNAT管理] タブで、DNAT エントリの作成 をクリックします。
DNAT エントリの作成 ページで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
EIPの選択
EIPを選択します。
プライベートIPアドレスの選択
DNATエントリを使用してインターネットと通信するECSインスタンスのIPアドレスを指定します。 この例では、[ECSまたはENIで選択] が選択されています。
ポート設定
DNATマッピング方法を選択します。 この例では、Any Portが選択されています。
エントリ名
DNATエントリの名前を入力します。
手順 5:ネットワーク接続のテスト
次の操作を実行して、ECSインスタンスがENIに関連付けられているEIPを使用してインターネットからリクエストを受信できるかどうかを確認します。 この例では、オンプレミスのLinuxマシンを使用してECSインスタンスにリモート接続します。
ECSインスタンスにリモート接続するには、ECSインスタンスのセキュリティグループルールがSSHポート22のネットワークトラフィックを許可していることを確認します。 詳細については、「セキュリティグループルールの追加」をご参照ください。
オンプレミスLinuxマシンにログオンします。
ssh <your username>@ public IP
コマンドを実行し、ECSインスタンスのパスワードを入力して、ECSインスタンスにリモート接続できるかどうかを確認します。 次のメッセージが表示された場合、ECSインスタンスは接続されています。Welcome to Alibaba Cloud Elastic Compute Service!
次の操作を実行して、ECSインスタンスがSNAT経由でインターネットにアクセスできるかどうかを確認します。 次の例は、ECSインスタンスがインターネットにアクセスするために使用するIPアドレスを表示する方法を示しています。
ECS インスタンスにログインします。
curl https://myip.ipip.net
コマンドを実行して、ECSインスタンスがインターネットへのアクセスに使用するEIPを確認します。 NAT IPアドレスが、ECSインスタンス用に作成されたSNATエントリのIPアドレスと同じである場合、ECSインスタンスがSNATサービスを使用してインターネットにアクセスすることが望ましいことを示します。