當業務發展、組織架構調整或安全性原則升級時,原有的網路規劃可能無法滿足新的需求。此時,需要將ECS執行個體從一個VPC遷移至另一個,以實現業務隔離、網路架構重組或解決IP位址區段衝突。此操作在不改變執行個體所在地區和可用性區域的前提下,完成VPC的更換。
更換VPC操作會導致ECS執行個體短暫不可用,產生業務中斷。請選擇合適的時機進行操作,建議在業務低峰期時段,建立快照備份資料後執行。
變更影響與風險
業務中斷:操作要求執行個體處於已停止狀態,因此會導致業務中斷。
私網IP地址變更:
執行個體的主私網IP地址將變更為目標交換器網段內的一個新地址(可指定或自動分配)。寫入程式碼使用原私網IP的應用或服務(如資料庫連接字串、防火牆白名單、其他服務的配置)將失效,需在更換後手動更新。
公網IP地址保持不變。
網路連接中斷:執行個體與原VPC內其他資源(如RDS、SLB、其他ECS執行個體)的私網串連將斷開。
作業系統網路設定:若執行個體內部擷取IP方式為靜態配置,更換VPC後,作業系統內的網路資訊(IP地址、網關等)將與實際分配的不符,導致執行個體無法正常遠端連線、通訊等。
操作步驟
步驟一:準備工作
建立快照備份 為避免意外,建議為執行個體的系統硬碟和資料盤建立快照,作為資料備份和復原的保障。
停止執行個體
前置檢查處理
輔助彈性網卡:若執行個體綁定了輔助彈性網卡,需先解除綁定彈性網卡。
多IP地址:若主網卡分配了輔助私網IP或IPv6地址,需先回收輔助私網IP或刪除已指派的IPv6地址。
負載平衡(SLB):若執行個體加入了負載平衡(SLB)後端伺服器組,需先移除該執行個體。
自訂路由條目:若執行個體被配置在自訂路由表中,需先刪除路由條目。
高可用虛擬IP(HaVip):若執行個體關聯了高可用虛擬IP(HaVip),需先將執行個體和HaVip解除關聯。
Global Accelerator (GA):若執行個體作為終端節點被綁定在Global Acceleration執行個體中,需先刪除ECS所在的終端節點。
(可選)執行個體內IP擷取方式:若執行個體內部擷取IP方式為靜態配置,建議在更換前,將執行個體作業系統的網路設定設為DHCP(自動擷取IP地址),配置後,執行個體內部會自動擷取IP地址、子網路遮罩、預設閘道等配置資訊。
Linux
Windows
以Windows Server 2022為例:
遠端連線Windows執行個體。
具體操作,請參見使用Workbench終端串連登入Windows執行個體(RDP)。
開啟網路和共用中心。
單擊更改適配器設定。
雙擊當前主網卡網路名稱乙太網路,然後在乙太網路狀態對話方塊中單擊屬性。

在乙太網路屬性對話方塊中,雙擊網際網路通訊協定 (IP)版本4(TCP/IPv4)。

在網際網路通訊協定 (IP)版本4(TCP/IPv4)屬性對話方塊中,選擇自動獲得IP地址(O)。

準備目標網路資源
專用網路與交換器:在目標VPC中,確保已在與ECS執行個體相同的可用性區域下建立專用網路與交換器。
安全性群組:在目標VPC中,準備好將要關聯的安全性群組。可通過複製安全性群組到目標VPC快速複製現有規則。
步驟二:執行VPC更換
控制台
訪問ECS控制台-執行個體,在頁面左側頂部,選擇目標資源所在的資源群組和地區。
在執行個體列表頁面,單擊目標執行個體 ID 進入詳情頁。在頁面右上方,選擇全部操作 > 更換專用網路。
執行專用網路更換:
變更準備:查看變更前的網路資訊和注意事項。
選擇專用網路:設定目標專用網路、目標交換器和目標安全性群組。
可選擇1~5個目標安全性群組,目標安全性群組類型必須一致(都是普通安全性群組或都是企業級安全性群組)。
(可選)配置主私網IP:設定IP地址需要保證在目標交換器的CIDR網段範圍內。若不設定,則主私網IP由系統自動分配。
查看變更結果:
在執行個體詳情頁面的配置資訊地區查看更換後的專用網路和虛擬交換器。
更換VPC完成後,執行個體不會自動啟動,需手動啟動執行個體。
API
使用 ModifyInstanceVpcAttribute - 修改執行個體的VPC屬性 介面可以更換VPC。
修改完成後,可以通過調用DescribeInstances - 查詢執行個體的詳細資料列表介面,查看更換後執行個體的專用網路、虛擬交換器、安全性群組資訊。
更換VPC完成後,執行個體不會自動啟動,需調用StartInstance - 啟動執行個體,手動啟動。
常見問題
如何批次更新ECS執行個體的VPC?
參照在執行個體列表頁執行大量操作,在批量更換ECS執行個體的VPC時,單次最多支援20個ECS執行個體。
如何進行CIDR格式和IP地址網段範圍換算?
可參見CIDR格式換算為IP地址網段樣本,或在目標VPC的VSW下的執行個體內,通過命令列工具
ipcalc查看CIDR表示的IP位址區段。如何訂閱更換ECS執行個體的VPC的操作結果的事件通知?
通過CloudMonitor訂閱ECS系統事件,訂閱ECS系統事件通知後可收到交換器事件通知。
通過事件匯流排EventBridge訂閱Elastic Compute Service事件。
執行專用網路更換時報錯:
InvalidDependence.GrantAccess,如何解決?
報錯原因:更換VPC時,執行個體不能在其它雲端服務中被使用,報錯提示ECS執行個體可能關聯使用了其他產品。
解決方案:釋放反向授權連結,將對其它產品的授權刪除後再進行嘗試。
如果執行個體通過Workbench私網遠端連線產生私網鏈路,可以參考以下操作,釋放授權連結:
登入Workbench控制台,查看私網鏈路頁面是否存在對應ECS執行個體的反向授權連結,如果存在,請單擊右側操作列的釋放鏈路。
在私網鏈路釋放提示彈窗中,單擊確定完成釋放,然後再嘗試更換。
執行專用網路更換時報錯:
InvalidDependence.NextHopOfCustomRouter,如何解決?
報錯原因:更換VPC時,執行個體不能在自訂路由條目中。即使執行個體所在交換器沒有綁定該路由條目所在路由表,也會報錯。報錯提示ECS執行個體是某個自訂路由表條目中的下一跳。
解決方案:刪除執行個體所在的路由條目。具體操作如下所示:
登入路由表控制台,在頂部狀態列處,選擇ECS所屬原VPC的地區。
在路由表頁面,找到包含要更換VPC的ECS執行個體的路由條目。點擊刪除,刪除該路由條目後,再次嘗試更換執行個體的VPC。

執行專用網路更換時報錯:
InvalidDependence.SLB,如何解決?
報錯原因:更換VPC時,ECS執行個體不能關聯Server Load Balancer執行個體。即使ECS沒有被SLB掛載到後端RS,只要加入到ECS的伺服器組中,也會報錯。
解決方案:確認ECS執行個體加入的SLB的後端伺服器組,並在該伺服器組中移除ECS執行個體。移除後,再次嘗試更換執行個體的VPC。詳細資料,請參見移除後端伺服器。

執行專用網路更換時報錯:
EnterpriseGroupLimited.MutliGroupType,如何解決?
報錯原因:更換VPC時,選擇目標VPC中的多個安全性群組時(1~5個),安全性群組的類型需要一致(均為普通安全性群組或均為企業級安全性群組)。
解決方案:選擇同一類型的安全性群組。
執行專用網路更換時報錯:
Invalidinstance.AttachedEni,如何解決?
報錯原因:更換VPC時,ECS執行個體不允許綁定輔助網卡。
解決方案:ECS執行個體解除綁定輔助彈性網卡,具體操作,請參見解除綁定彈性網卡。
執行專用網路更換時報錯:
PrimaryEniHasSubIp,如何解決?
報錯原因:更換VPC時,ECS執行個體不允許有多IP。報錯提示,ECS執行個體的主網卡分配了多個輔助私網IP地址。
解決方案:回收ECS執行個體上已指派的輔助私網IP地址。具體操作,請參見回收輔助私網IP地址。
相關文檔
如果因需要將ECS執行個體遷移到同地區其他可用性區域,請參見跨可用性區域遷移。
如果因為地區資產庫存不足、成本最佳化、災難恢複、縮容執行個體磁碟等原因,需要將ECS執行個體從一個賬戶/地區遷移到另一個賬戶/地區,請參見跨帳號和同帳號ECS執行個體間遷移。