基礎網路遷移VPC方案的「千層姿勢」
- 2020 年 3 月 30 日
- 筆記
基礎網路是騰訊雲上所有用戶的公共網路資源池(如下圖右所示)。所有雲伺服器的內網 IP 地址都由騰訊雲統一分配,無法自定義網段劃分、IP 地址。
私有網路(VPC)是用戶在騰訊雲上建立的一塊邏輯隔離的網路空間(如下圖左所示)。在私有網路內,用戶可以自由定義網段劃分、IP 地址和路由策略。與基礎網路相比,私有網路更適合有網路自定義配置需求的場景。
考慮到租戶的隔離安全性,雲上很多產品都不再支援基礎網路,僅支援私有網路。因此越來越多的用戶將業務從基礎網路遷移到VPC的事情提上日程。那麼如何遷移?且聽我慢慢道來。

工欲善其事,必先利其器
先掌握雲上主流資源對基礎網路遷移的支援情況,有哪些優缺點。待工具的特性瞭然於胸,遷移方案就像搭積木一樣手到擒來。
雲伺服器 CVM
主要有四種工具
工具 |
優勢 |
劣勢 |
---|---|---|
VPC互通 |
1.互通後的基礎網路CVM能同時主動訪問VPC下資源和基礎網路資源 2.操作可逆 |
1.VPC下其他資源比如CLB,不能主動訪問互通的基礎網路CVM 2.基礎網路互通功能僅支援網段為10.0.0.0/16 – 10.47.0.0/16(含子集)的私有網路 |
CVM網路轉換 |
1.轉換後與VPC原生創建的CVM一致 |
1.基礎網路切換VPC後不可逆,CVM切換至VPC後與其他基礎網路的雲1. 服務不互通 2.機器需要重啟 |
公網IP轉彈性IP |
1.公網IP保持不變,可以自由綁定到其他CVM實例。 2.轉換過程中,不會中斷CVM上的服務。 |
1.彈性IP不再與公網IP一樣,隨CVM實例釋放,閑置的IP會產生閑置費用。 |
整機鏡像 |
1.實現CVM數據拷貝,方便快速重建業務。 |
1.僅適用於系統和數據盤全為CBS的CVM |
VPC基礎網路互通
控制台操作位置:【私有網路】–【VPC詳情】–【基礎網路互通】
詳細說明參見:https://cloud.tencent.com/document/product/215/20083

CVM網路轉換
控制台操作位置:【雲伺服器】–【實例】–【資源調整】–【切換私有網路】
注意事項:
1.遷移前,請自行解綁內外網LB以及彈性網卡,並釋放主網卡的輔助IP,遷移後再進行綁定。
2.遷移過程中,實例需要進行重啟,請勿進行其他操作。
3.遷移後,請注意檢查實例運行狀態,內網訪問以及遠程登錄是否正常。
4.基礎網路切換VPC後不可逆,CVM切換至VPC後與其他基礎網路的雲服務不互通。
5.批量雲伺服器切換網路類型時,所選中的雲伺服器必須處於同一可用區。
詳細說明參見:https://cloud.tencent.com/document/product/213/20278

公網IP轉彈性IP
控制台操作位置:【雲伺服器】–【實例】–【公網IP轉彈性IP】
注意事項:
1.每個地區彈性IP有一定額度限制
詳細說明參見:https://cloud.tencent.com/document/product/213/16586

雲資料庫 Redis
主要工具:
工具 |
優勢 |
劣勢 |
---|---|---|
更換網路 |
1.切換後,VPC網路訪問立即生效 2.轉換後原有基礎網路的訪問可以最長保持7天。 3.保障資料庫連接不中斷。 |
1.切換後基礎網路的訪問能力僅最長保持7天。 2.基礎網路切換至VPC網路後,無法再切換回來。 |
更換網路
控制台操作位置:【雲資料庫TencentDB】–【Redis】–【實例詳情】–【更換網路】
詳細說明參見:https://cloud.tencent.com/document/product/239/30910

雲資料庫 MySQL
主要工具:
工具 |
優勢 |
劣勢 |
---|---|---|
轉VPC網路 |
1.切換後,VPC網路訪問立即生效。 2.轉換後原有基礎網路的訪問將保留24小時。 3.保障資料庫連接不中斷。 |
1.切換後基礎網路的訪問能力僅持續24小時。 2.基礎網路切換至VPC網路後,無法再切換回來。 |
轉VPC網路
控制台操作位置:【雲資料庫TencentDB】–【MySQL】–【實例詳情】–【轉VPC網路】
詳細說明參見:https://cloud.tencent.com/document/product/236/35671

資料庫通用
主要工具:
工具 |
優勢 |
劣勢 |
---|---|---|
數據傳輸服務 DTS |
1.適用範圍廣支援MySQL,Redis,MongoDB,MariaDB,PostgreSQL,Percona,自建資料庫也可以使用。 2.對遷移時間限制小。 |
1.操作成本較高,耗時長。 2.注意確保數據一致性。 |
資料庫傳輸服務DTS
控制台操作位置:【雲資料庫TencentDB】–【數據傳輸服務】
詳細說明參見:https://cloud.tencent.com/document/product/571/13706

CLB
公網CLB:
工具 |
優勢 |
劣勢 |
---|---|---|
內部CLB遷移工具 |
1.保留CLB原有的公網IP。 2.支援傳統信和應用型公網CLB。 |
1.不能保障業務不中斷。 2.操作不可逆,切換至VPC網路後,無法再切換回來。 |
通過域名負載 |
1.業務不中斷,實現平滑遷移。 2.遇到異常可以回滾。 |
1.實際的公網IP會變化。 |
通過域名負載
控制台操作位置:【DNS 解析 DNSPod】–【域名詳情】–【負載均衡】
詳細說明參見:https://cloud.tencent.com/document/product/302/11358

內網CLB
不支援遷移,需要重建。
CFS
不支援遷移,需要重建後手動拷貝數據。
Ckafka
不支援遷移,需要重建。
根據需求取捨
因為每種遷移工具都有優劣,那麼就要根據需求來取捨用什麼工具來構建遷移方案。
如果需要業務不中斷,平滑可控的遷移,那麼必然需要投入一定的人力和時間成本,用於測試投入和構建冗餘資源。
需要在成本、風險、時間三者之間找到最合適業務的平衡點。
規劃方案
方案一定要落成文字形式,詳細記錄所有涉及的資訊,同時一定要規劃預演的實施計劃,在正式操作前一定要完成預演演練。涉及操作部分要預估好時間,並責任到人。方案大綱參考如下:

附:真實案例參考
遷移背景

內網CLB
不支援遷移,需要重建。
CFS
不支援遷移,需要重建後手動拷貝數據。
Ckafka
不支援遷移,需要重建。
根據需求取捨
因為每種遷移工具都有優劣,那麼就要根據需求來取捨用什麼工具來構建遷移方案。
如果需要業務不中斷,平滑可控的遷移,那麼必然需要投入一定的人力和時間成本,用於測試投入和構建冗餘資源。
需要在成本、風險、時間三者之間找到最合適業務的平衡點。
規劃方案
方案一定要落成文字形式,詳細記錄所有涉及的資訊,同時一定要規劃預演的實施計劃,在正式操作前一定要完成預演演練。涉及操作部分要預估好時間,並責任到人。方案大綱參考如下:

附:案例參考
遷移背景

某業務合計80個項目,600+CVM全量要從基礎網路遷移到VPC網路
整體業務架構分為 條帶化的遊戲業務和平台化的基礎服務。
條帶化的遊戲業務,相互獨立,無耦合。
平台化的基礎服務為上層遊戲業務提供統一的支付、登陸、日誌等支撐服務,上層遊戲業務強依賴底層平台基礎服務。
需求取捨
1.遊戲業務,可以停機維護,在維護期間做離線遷移,業務可較長時間中斷。
2.平台基礎服務,必須實現在線遷移,業務不可中斷,同時必須控制風險,保障上層遊戲業務不受影響。
方案思路

1.利用MySQL和Reids轉VPC網路後,在窗口期可以同時被基礎網路、VPC網路訪問的優勢。
2.利用雲伺服器VPC基礎網路互通,互通的CVM能夠同時訪問基礎網路和VPC網路的資料庫的特點。
3.平台伺服器集群支援Rolling Update,可以逐步切換資料庫連接,從基礎網路切換至VPC網路。
方案簡要步驟
實現不停服務,將平台基礎服務的資料庫遷移至VPC網路環境下。總體方案簡要步驟:
1.(離線操作)將200台基礎網路平台集群的CVM,通過互通打通私有網路 。

2.(在線操作)將基礎平台服務集群的資料庫,逐步遷移至私有網路。同時Rolling Update平台集群的節點配置,完成基礎平台數據層遷移VPC。
5.(離線操作)待所有業務搬遷到VPC網路後,退掉基礎網路留存的CLB、CVM等資源,完成搬遷。
