如何將我的 EC2 執行個體移動到另一個子網路、可用區域或 VPC?

上次更新時間:2021 年 8 月 16 日

我想要將 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體移動或複製到另一個子網路、可用區域或 Virtual Private Cloud (VPC)。要怎麼做?

簡短描述

無法將現有執行個體移至另一個子網路、可用區域或 VPC。而是可以透過從來源執行個體建立新的 Amazon Machine Image (AMI),來手動遷移執行個體。然後,使用所需子網路、可用區域或 VPC 中的新 AMI 來啟動新的執行個體。最後,您可以將來源執行個體中的任何彈性 IP 地址重新指派給新的執行個體。

遷移執行個體有兩種方法:

  • 使用 AWS Systems Manager Automation 文件 AWSSupport-CopyEC2Instance。
  • 手動複製執行個體,並從複本啟動新執行個體。

解決方案

在開始之前,請注意以下事項:

  • AMI 以 Amazon Elastic Block Store (Amazon EBS) 快照為基礎。對於沒有之前快照的大型檔案系統,AMI 的建立可能需要幾小時。若要減少 AMI 建立時間,請在建立 AMI 之前建立 Amazon EBS 快照。
  • 建立 AMI 不會為執行個體上的執行個體存放區磁碟區建立快照。如需有關將執行個體存放區磁碟區備份到 Amazon EBS 的資訊,請參閱如何將 Amazon EC2 執行個體上的執行個體存放區磁碟區備份到 Amazon EBS?
  • 新的 EC2 執行個體具有不同的私有 IPv4 或公有 IPv6 IP 地址。您必須使用指派給新執行個體的新 IP 地址,更新對舊 IP 地址的所有參考 (例如,在 DNS 項目中)。如果您在來源執行個體上使用彈性 IP 地址,請務必將其連接至新的執行個體
  • 若複本啟動並嘗試聯絡網域,可能會發生網域安全識別符 (SID) 衝突問題。在擷取 AMI 之前,使用 Sysprep 或從網域中移除加入網域的執行個體,以防止出現衝突問題。如需詳細資訊,請參閱如何使用 Sysprep 建立並安裝自訂的可重複使用 Windows AMI?

使用 AWS System Manager Automation Runbook,即 AWSSupport-CopyEC2Instance

您可以使用 AWS Systems Manager Automation Runbook,即 AWSSupport-CopyEC2Instance,來自動完成以下任務:

  • 建立新映像
  • 啟動新的執行個體

這些程序完成後,如有需要,請遵循重新指派彈性 IP 地址章節中的說明進行操作。

若要執行自動化,請執行以下操作:

1.    開啟 AWSSupport-CopyEC2Instance Runbook

請注意:確保與要複製的執行個體位於同一區域。

2.    對於執行自動化文件,請選擇簡易執行

3.    對於輸入參數,請輸入您要複製的 EC2 執行個體的 InstanceID。如果您使用互動式執行個體選擇器,請確保從下拉清單中選擇顯示所有執行個體

4.    提供要複製執行個體的目的地區域及/或 SubnetID

5.    完成您的使用案例所需的任何其他選用欄位,然後選取 Execute (執行)。

6.    若要監控執行進度,請開啟 Systems Manger 主控台,然後從導覽窗格中選擇 Automation (自動化)。選擇正在執行的自動化,然後查看執行的步驟。若要查看自動化輸出,請展開輸出

如需有關此 Runbook 的詳細資訊,請參閱 AWSSupport-CopyEC2Instance

手動複製執行個體,並從複本啟動新的執行個體

建立新映像

  1. 開啟 Amazon EC2 主控台,然後從左側導覽窗格中選擇 Instances (執行個體)。
  2. 選擇要移動的執行個體,然後選擇 Actions (動作)、Instance State (執行個體狀態)、Stop (停止)。這可確保新舊 EBS 磁碟區之間的資料保持一致。
    請注意:如果您正在測試此程序,或者不想停止或重啟執行個體,則可跳過此步驟。
  3. 選擇 Actions (動作)、Image (映像)、Create Image (建立映像)。
    對於 Image name (映像名稱),輸入映像的名稱。
    對於 Image description (映像描述),輸入映像的描述。
    請注意:如果您在 Create Image (建立映像) 頁面選擇了 No reboot (不重新啟動),則無法保證映像的檔案系統完整性。
  4. 選擇 Create Image (建立映像)。
  5. Create Image request received (收到建立映像請求) 下,選擇 View pending image [ID] (檢視待處理映像 [ID])。等待 Status (狀態) 從 pending (待處理) 變更為 available (可用)。
    請注意:您還可以從導覽窗格的 Images (映像) 區段選擇 AMI,來檢視待處理映像。

啟動新的執行個體

  1. 選取新的 AMI,然後選擇 Launch (啟動)。
  2. 選擇與您要移動的執行個體相同的執行個體類型,然後選擇 Next: Configure Instance Details (下一步:設定執行個體詳細資訊)。
    對於 Network (網路),選擇您的 VPC。
    對於 Subnet (子網路),選擇要啟動新執行個體的子網路。
    如果執行個體是生產執行個體,則對於 Enable termination protection (啟用終止保護),選擇 Protect against accidental termination (防止意外終止)。
  3. 選擇 Next: Add Storage (下一步:新增儲存)。
  4. 接受預設值,然後選擇 Next: Add Tags (下一步:新增標籤)。
    對於 Key (金鑰),輸入 Name (名稱)。
    對於 Value (值),輸入您的執行個體名稱。
  5. 選擇 Next: Configure Security Group (下一步:設定安全群組)。
  6. 選擇套用於您要移動的執行個體的相同安全群組。
    請注意:如果您要在 VPC 之間移動執行個體,必須在目標 VPC 上建立一個新的安全群組。
  7. 選擇 Review and Launch (檢閱並發佈)。
  8. 選擇 Launch (啟動)。
  9. 對於 Select a key pair (選取金鑰對),從下拉選單中選擇您的金鑰對。
  10. 選中協議核取方塊,然後選擇 Launch Instances (啟動執行個體)。
  11. 選擇執行個體 ID,以返回 EC2 主控台。

重新指派彈性 IP 地址

若要重新指派彈性 IP 地址,必須先將彈性 IP 地址與來源執行個體取消關聯。然後,可以將彈性 IP 地址與新的執行個體重新建立關聯。如需說明,請參閱將彈性 IP 地址取消關聯

請注意:彈性 IP 地址只能在一個區域中使用。如果您將執行個體移至不同的區域,則不能使用相同的彈性 IP 地址。