現在の vSwitch で利用可能な IP アドレスが不足している場合や、ネットワークアーキテクチャのアップグレードの一環としてインスタンスを新しいネットワークセグメントに移行する必要がある場合は、Elastic Compute Service (ECS) インスタンスの vSwitch を変更します。この機能により、ECS インスタンスのプライマリ ENI を、同一の VPC およびゾーン内の別の vSwitch に移動できます。
影響とリスク
サービスの中断: この操作ではインスタンスの停止が必要なため、サービスが中断されます。
プライベート IP アドレスの変更:
インスタンスのプライマリプライベート IP アドレスは、移行先 vSwitch の CIDR ブロックから取得した新しいアドレスに変更されます。新しい IP アドレスを指定することも、自動的に割り当てることもできます。データベース接続文字列、ファイアウォールのホワイトリスト、その他のサービス設定など、元のハードコードされたプライベート IP アドレスを使用するアプリケーションやサービスは機能しなくなるため、変更後に手動で更新する必要があります。
パブリック IP アドレスは変更されません。
ネットワーク接続の切断: インスタンスが静的 IP アドレスを使用している場合、vSwitch の変更後、OS 内部のネットワーク設定 (IP アドレスやゲートウェイなど) が新しく割り当てられた設定と一致しなくなります。この不一致により、インスタンスに接続できなくなります。
アクセス制御: 移行元と移行先の vSwitch で異なる ネットワーク ACL ルールが設定されている場合、アプリケーションが正しく機能するように、それらのルールを確認・調整する必要があります。
ルート設定: アプリケーションが特定のルーティングルールに依存している場合、新しい vSwitch のルーティング設定が異なる可能性があります。vSwitch にカスタムルートテーブルを関連付け、必要なルートエントリを設定することで、接続を確保してください。
手順
ステップ 1: 変更の準備
インスタンスの停止
インスタンスが実行中の場合は、インスタンスを停止する必要があります。コンソール上のステータスを「ロック済み」にすることはできません。
前提条件の確認
複数のプライベート IP アドレス: プライマリ ENI にセカンダリプライベート IPv4 または IPv6 アドレスが割り当てられている場合は、まずセカンダリプライベート IP アドレスの割り当てを解除するか、割り当てられた IPv6 アドレスを削除する必要があります。
(オプション) DHCP を使用するように OS を設定: インスタンスが静的 IP アドレスを使用している場合は、vSwitch を変更する前に、DHCP (Dynamic Host Configuration Protocol) を使用するように OS を再設定してください。これにより、インスタンスは IP アドレス、サブネットマスク、およびデフォルトゲートウェイを自動的に取得できるようになります。
Linux
詳細については、「Linux インスタンスの DHCP を設定する」をご参照ください。
Windows
以下の手順では、Windows Server 2022 を例に説明します。
Windows インスタンスにリモートで接続します。
詳細については、「ワークベンチを使用して RDP 経由で Windows インスタンスに接続する」をご参照ください。
ネットワークと共有センターを開きます。
[アダプターの設定の変更] をクリックします。
[イーサネット] という名前のプライマリ ENI をダブルクリックします。[イーサネットの状態] ダイアログボックスで、[プロパティ] をクリックします。

[イーサネットのプロパティ] ダイアログボックスで、[インターネット プロトコル バージョン 4 (TCP/IPv4)] をダブルクリックします。

[インターネット プロトコル バージョン 4 (TCP/IPv4) のプロパティ] ダイアログボックスで、[IP アドレスを自動的に取得する] を選択します。

ステップ 2: vSwitch の変更
コンソール
ECS コンソール - インスタンスページに移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
vSwitch を変更するインスタンスを見つけ、インスタンス ID をクリックします。
インスタンスの詳細ページで、右上隅にある [すべての操作] > をクリックします。
vSwitch を変更します。
移行先 vSwitch を選択します。
(オプション) [プライベート IP アドレス] を指定します。プライベート IP アドレスは、移行先 vSwitch の CIDR ブロック内にある必要があります。
このパラメーターを設定しない場合、利用可能なプライマリプライベート IP アドレスが自動的に割り当てられます。
変更が完了したら、[インスタンスの詳細]ページの [設定情報] セクションで新しい vSwitch を確認できます。
vSwitch の変更後、インスタンスは自動的に起動しません。手動で起動する必要があります。
API
ModifyInstanceVpcAttributeAPI を呼び出して、ECS インスタンスのプライマリ ENI の vSwitch を変更します。
変更が完了したら、DescribeInstances API を呼び出し、レスポンスの VSwitchId を確認して、インスタンスの新しい vSwitch を表示します。
vSwitch を変更した後、インスタンスは自動的に起動しません。StartInstance API を呼び出して手動で起動する必要があります。
よくある質問
CIDR 形式と IP アドレス範囲を変換するにはどうすればよいですか?
「CIDR ブロックを IP アドレス範囲に変換する例」をご参照ください。また、移行先 VPC の vSwitch 内のインスタンスで
ipcalcを使用して、IP アドレス範囲を確認することもできます。vSwitch を変更した後、インスタンスのセカンダリプライベート IPv4 または IPv6 アドレスを再設定するにはどうすればよいですか?
vSwitch を変更した後、新しい vSwitch の CIDR ブロックからセカンダリプライベート IPv4 および IPv6 アドレスを再設定できます。詳細については、「ENI にセカンダリプライベート IP アドレスを割り当てる」および「IPv6 アドレスを設定する」をご参照ください。
関連ドキュメント
異なるアカウントまたは VPC 間で ECS インスタンスを相互接続するには、VPC ピアリング接続または Cloud Enterprise Network (CEN) を使用できます。
同じリージョン内の別のゾーンに ECS インスタンスを移行するには、「クロスゾーン移行」をご参照ください。
コストの最適化、ディザスタリカバリ、リソースの制約への対応といった目的で ECS インスタンスを別のアカウントまたはリージョンに移行するには、「異なるアカウント間または同じアカウント内で ECS インスタンスを移行する」をご参照ください。