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

Elastic Compute Service:ECS インスタンスの VPC 変更

最終更新日:Sep 22, 2025

ビジネスニーズの変化、組織再編、セキュリティポリシーの更新といった状況において、Elastic Compute Service (ECS) インスタンスを既存の VPC から別の VPC に移行する必要が生じる場合があります。この操作は、ネットワークの分離、ネットワークアーキテクチャの再設計、IP アドレスの競合解消などに有効で、インスタンスの リージョンまたはゾーンを変更することなく実行できます。

重要

VPC の変更操作中は ECS インスタンスが一時的に利用できなくなり、サービスが中断されます。ビジネスへの影響を最小限に抑えるため、この操作はオフピーク時間帯に実行することを推奨します。操作を開始する前に、スナップショットを作成してデータをバックアップしてください。

image

影響とリスク

  • サービスの中断:この操作はインスタンスを [停止済み] 状態にする必要があるため、サービスが中断されます。

  • プライベート IP アドレスの変更:

    • インスタンスのプライマリプライベート IP アドレスは、移行先 vSwitch の CIDR ブロック内の新しい IP アドレス (指定または自動割り当て) に変更されます。元のプライベート IP アドレスを直接ハードコードしているアプリケーションやサービス (データベースの接続文字列、ファイアウォールの許可リスト、各種設定ファイルなど) は、VPC 変更後に通信できなくなります。そのため、これらの設定を手動で更新する必要があります。

    • パブリック IP アドレスは変更されません。

  • ネットワーク接続の切断:インスタンスは、ApsaraDB RDS インスタンス、SLB インスタンス、その他の ECS インスタンスなど、元の VPC 内の他のすべてのリソースとのプライベートネットワーク接続は切断されます。

  • OS のネットワーク設定:静的な IP アドレスが設定されている場合、VPC の変更後に、OS 内のネットワーク情報 (IP アドレス、ゲートウェイ、DNS など) がが実際の割り当てと一致しなくなります。これにより、インスタンスがネットワーク経由で通信できなくなり、リモートアクセスがブロックされる可能性があります。

手順

ステップ 1: 準備

  1. スナップショットバックアップの作成

    誤操作によるデータ損失を防ぐために、インスタンスのシステムディスクとデータディスクのスナップショットを作成してデータをバックアップします。

  2. インスタンスの停止

    インスタンスは [停止済み (Stopped)] 状態である必要があります。コンソール上の状態を「ロック済み (Locked)」にすることはできません。インスタンスが実行中の場合は、まずインスタンスを停止します。

  3. 前提条件の確認と対応

    • セカンダリ Elastic Network Interface (ENI): インスタンスに接続されているセカンダリ ENI をアンバインドしてください。

    • 追加の IP アドレス: プライマリ ENI にセカンダリプライベート IP アドレスまたは IPv6 アドレスがある場合は、事前にセカンダリプライベート IP アドレスの割り当てを解除するか、割り当てられた IPv6 アドレスを削除してください。

    • SLB: インスタンスが SLB のサーバーグループに追加されている場合は、事前にそのサーバーグループからインスタンスを削除してください。

    • カスタムルートエントリ: インスタンスがカスタムルートテーブルのネクストホップとして設定されている場合は、事前に関連するルートエントリを削除してください。

    • 高可用性仮想 IP アドレス (HaVip): インスタンスに HaVip が関連付けられている場合は、事前にその関連付けを解除してください。

    • Global Accelerator (GA): インスタンスが GA インスタンスのエンドポイントとして設定されている場合は、事前にエンドポイントを削除してください。

    • (オプション) インスタンスの IP アドレス取得方法: インスタンスの OS が静的 IP 設定を使用している場合は、VPC を変更する前に、OS のネットワーク設定を DHCP (動的ホスト構成プロトコル) に変更することを推奨します。これにより、OS は移行先の VPC から新しい IP アドレス、サブネットマスク、デフォルトゲートウェイを自動的に取得できます。

      Linux

      手順については、「Linux インスタンスの DHCP を設定する」をご参照ください。

      Windows

      以下の手順では、Windows Server 2022 を例として使用します。

      1. Windows インスタンスにリモート接続します。

        詳細については、「パスワードまたはキーを使用して Windows インスタンスに接続する」をご参照ください。

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

      3. [アダプター設定の変更] をクリックします。

      4. イーサネットという名前のプライマリ ENI をダブルクリックします。[イーサネットの状態] ダイアログボックスで、[プロパティ] をクリックします。

        image

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

        image

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

        image

  4. 移行先ネットワークリソースの準備

    • VPC と vSwitch: 移行先の VPC に、ECS インスタンスと同じゾーンの VPC と vSwitch が存在することを確認します。

    • セキュリティグループ: 移行先の VPC で、インスタンスに関連付けるセキュリティグループを作成または特定します。既存のルールをコピーするには、セキュリティグループを移行先 VPC にクローンできます。

ステップ 2: VPC の変更

コンソール

  1. ECS コンソール に移動します。上部のナビゲーションバーで、インスタンスのリージョンとリソースグループを選択します。

  2. [インスタンス] ページで、対象インスタンスの ID をクリックして詳細ページに移動します。ページの右上隅で、[すべての操作] > [VPC の変更] を選択します。

  3. VPC を変更します。

    1. 準備: 変更前のネットワーク情報と注意事項を確認します。

    2. VPC の選択: [移行先 VPC][移行先 vSwitch]、および [移行先セキュリティグループ] を設定します。

      1 ~ 5 つの移行先セキュリティグループを選択できます。選択したセキュリティグループは、すべてを基本セキュリティグループ、またはすべてを高度なセキュリティグループのいずれかに統一する必要があります。
    3. (オプション) プライマリプライベート IP アドレスの設定: インスタンスのプライマリプライベート IP アドレスを指定できます。 IP アドレスは移行先 vSwitch の CIDR ブロック内にあり、使用中でない必要があります。 IP アドレスを指定しない場合、システムによって自動的に割り当てられます。

  4. 変更結果を表示します。

    [インスタンスの詳細] ページの [設定情報] セクションで、新しい [VPC][vSwitch] を確認します。

    VPC の変更後、インスタンスは自動的に起動しません。手動でインスタンスを起動する必要があります。

API

ModifyInstanceVpcAttribute API を呼び出して、VPC を変更します。

変更完了後、DescribeInstances API を呼び出して、インスタンスの新しい VPC、vSwitch、およびセキュリティグループ情報を確認します。

VPC の変更後、インスタンスは自動的に起動しません。StartInstance API を呼び出して手動で起動する必要があります。

よくある質問

  • 複数の ECS インスタンスの VPC を一括で変更するにはどうすればよいですか?

    [インスタンス] ページでバッチ操作を実行する」をご参照ください。一度に最大 20 個の ECS インスタンスの VPC を変更できます。

  • CIDR ブロックを IP アドレス範囲に変換するにはどうすればよいですか?

    CIDR ブロックを IP アドレス範囲に変換する例」をご参照ください。また、移行先 vSwitch 内のインスタンスで ipcalc コマンドラインツールを使用して、CIDR ブロックが示す IP アドレス範囲を確認することもできます。

  • VPC 変更操作の結果に関するイベント通知をサブスクライブするにはどうすればよいですか?

  • エラー: InvalidDependence.GrantAccess

    image

    原因: ECS インスタンスが他のクラウドサービスに関連付けられているなど、VPC 変更の前提条件を満たしていない場合にこのエラーが発生します。

    解決策: 逆承認リンクを解除します。他のプロダクトの承認を削除して、再試行してください。

    Workbench のプライベートリモート接続を介してインスタンスのプライベートリンクが生成された場合は、以下の手順に従って承認リンクを解除します。

    1. Workbench コンソール にログインします。[プライベートリンク] ページで、ECS インスタンスの逆承認リンクが存在するかどうかを確認します。リンクが存在する場合は、[操作] 列の [リンクの解除] をクリックします。

    2. 表示されるダイアログボックスで、[OK] をクリックしてリンクを解除します。その後、VPC の変更を再試行します。

  • エラー: InvalidDependence.NextHopOfCustomRouter

    image

    原因: ECS インスタンスは、カスタムルートテーブルのルートエントリのネクストホップとして機能します。このエラーは、ルートテーブルがインスタンスの存在する vSwitch に関連付けられていない場合でも発生します。

    解決策: 以下の手順に従い、インスタンスをネクストホップとして使用しているルートエントリを削除します。

    1. ルートテーブルコンソール にログインします。上部のナビゲーションバーで、インスタンスの元の VPC のリージョンを選択します。

    2. [ルートテーブル] ページで、対象インスタンスをネクストホップとして使用しているカスタムルートエントリを含むルートテーブルを見つけます。そのルートエントリを削除してから、VPC の変更を再試行します。

      image

  • エラー: InvalidDependence.SLB

    image

    原因: ECS インスタンスは SLB サーバーグループのメンバーとして登録されています。

    解決策: SLB サーバーグループからインスタンスを削除します。詳細については、「バックエンドサーバーを削除する」をご参照ください。

    image

  • エラー: EnterpriseGroupLimited.MutliGroupType

    image

    原因: 移行先 VPC で複数のセキュリティグループ (1 ~ 5 個) を選択した場合、それらのタイプが一致していません。すべてが基本セキュリティグループであるか、すべてが高度なセキュリティグループである必要があります。

    解決策: 同じタイプのセキュリティグループを選択します。

  • エラー: Invalidinstance.AttachedEni

    image

    原因: ECS インスタンスに 1 つ以上のセカンダリ ENI がバインドされています。

    解決策: ECS インスタンスからすべてのセカンダリ ENI をアンバインドます。

  • エラー: PrimaryEniHasSubIp

    image

    原因: ECS インスタンスのプライマリ ENI に 1 つ以上のセカンダリプライベート IP アドレスが割り当てられています。

    解決策: プライマリ ENI からセカンダリプライベート IP アドレスの割り当てを解除します。

参考資料