在這個數位化加速的時代,越來越多企業選擇將地端虛擬機器搬遷至 GCP。這不僅能提升效率,還能優化成本。本文將深入探討搬遷的類型、方法和步驟,協助各位了解主機搬遷的相關事項。
一、前言:為何要將主機搬遷上 GCP?
其實將主機搬遷上雲的理由和好處很多,這裡提供三個最重要的理由如下:
(一) 降低成本
GCP 是每月依使用量計費,每月付款,企業可以從一次性大額採購的「資本支出」,轉變成每月的「費用支出」,減低現金流的壓力。
此外,實體機要考慮機房、水電相關設備的建置和維護成本,在管理上也是耗費不少心力。
而公司採用雲端,等於就是把基礎建設外包給專業的 Google,你可以省下許多寶貴的時間,然後專注在開發公司產品或提供服務,為公司創造更大的價值。
(二) 彈性擴充
在地端,你的機器數量是固定的,如果碰到活動期間,需要緊急擴充機器,往往要走採購流程包含詢價、議價、選商,以及後續的安裝建置,等到機器準備好了,活動都結束了。
而在雲端上有所謂的自動擴充 (Autoscale),你可以在 GCP 主控台上設定擴充的功能,指定要擴充的數量,接著 GCP 會依照當前主機的負載,如果主機太過於忙碌,GCP 會立即增加主機來對外服務。當活動結束,人潮退去時,機器也能自動縮減,不會讓它閒置導致額外的花費。
(三) 創新整合
和其他公有雲相比,Google 的強項就是大數據分析與人工智慧。如果你的系統在 GCP 上運作,可以輕易導出資料到 BigQuery 來分析,發現洞察。你也可以將資料用來訓練模型,開發 AI 應用程式。不需要尋找外部工具,從頭到尾都在 GCP 做完。
當你開發完成,也可以直接在 GCP 上部署 AI 應用,或是做為 API 讓外部來呼叫,這些都是 GCP 內建的功能,讓你從收集資料、開發模型、測試模型到部署 AI 應用,都可以透過 GCP 來達成。
從商業的角度來看,就是加速你回應市場的速度,當市場上有新的技術或是新的商機出現,你就可以快速的在 GCP 取得各種創新資源,讓你可以快速的開發出應用程式,提供給廣大的使用者。
以上只列出常見的上雲理由,如果你想知道更多,可以參考《企業上雲的10大理由、15個評估面向與6大好處》和《上雲比較貴?雲端和地端的成本詳細比較》這兩篇文章。
二、主機搬遷類型
將主機搬遷上雲有很多方法,我們可以依照系統的狀況 (例如好不好搬遷),和公司的時間表 (有沒有急迫性或是足夠的人力) 來選擇適合的搬遷類型,這裡分別介紹如下:
(一) 更換主機 (Rehost):照原來樣子搬遷 (Lift And Shift)
這種搬遷方式就像是單純的搬家,把所有東西從舊環境搬到新環境,期間只做最少必要的調整。就像是把傢俱從舊房子搬到新房子,只需要因應新房子的格局做一些微調而已。
當你的系統可以直接在新環境運作,或是當業務上沒有需要對系統做太多更改,又或者當你需要快速完成搬遷時,這種方式就特別適合。
這種方式的優勢在於執行起來最簡單,團隊可以繼續使用熟悉的工具和技能,而且支援現成的軟體,最重要的是搬遷速度最快。
但這種方式也有其侷限性,系統無法充分發揮雲端環境的優勢,也無法善用 GCP 的特殊功能,包括自動擴充的能力、更靈活的計費方式。這就像是把老房子整棟搬到新地點,雖然可以快速入住,但無法享受新社區提供的現代化設施。
不過企業會因為各種因素,不得不採用這種方式,例如程式碼太老舊或複雜而不容易修改,或是重新編譯程式很困難,又或者必須持續維持系統運作而沒辦法停機重做。
(二) 更換平台 (Replatform):重新優化 (Lift And Optimize)
想像一下,這不只是單純的搬家,而是搬家時順便整修。就像是搬到新房子時,不只是搬運傢俱,還會順便更換一些老舊的設備,或是重新規劃空間跟裝潢,讓新家更好用。
把主機內的系統搬到 GCP 上,讓它能用上更新、更有效率的工具和服務。這種搬遷方式最適合那些希望充分運用雲端核心功能的組織,包括彈性運算能力、系統備援、提升效能和加強安全性等優勢。
舉例來說,你可以將應用程式轉移到 GCP,以便使用 Google Kubernetes Engine 提供的微服務架構或容器服務。這樣一來,系統在雲端運行時就能發揮更好的效能和效率。
不過呢,這種搬家方式當然會比單純搬家麻煩許多。因為新環境的設備和系統都不太一樣,所以需要多花時間測試、調整,確保所有東西都能完美運作。就像是要學習使用新家裡的各種 AI 電器,需要一段適應期一樣。
(三) 重構 (Refactor):徹底改造升級 (Move And Improve)
重構這種搬遷方式就像是趁搬家時,不只是簡單改裝,而是徹底翻新改造,讓系統能充分運用雲端的各種優點,已經不是針對「主機」來搬遷了。你可以針對效能、功能、成本和使用體驗,把每個部分都改造得更好。
這個改造工程可以選擇在搬到雲端時一起進行,也可以提前先做好。就像是裝修房子,如果你是第一次做大規模裝修,可能會想等搬家時再一起處理。但如果你有經驗,就能提前規劃好需要改造的部分,讓系統更好地運用雲端的功能。
有時候你會被迫選擇重構,因為舊系統的架構可能無法直接在新環境中運作。又或者是趁這個機會,你想要對系統做一次大規模的更新和改進。
重構的好處是你的系統可以充分運用雲端平台的特色,例如自動擴充 (Autoscale) 的功能,或是提高系統的穩定性。你還可以讓系統變得更容易在不同平台間轉移。
不過呢,重構需要花比較多時間,畢竟要把整個系統重新改造一番。而且你的團隊可能需要學習新的技術和工具,就像是要學習使用全新的裝修工具和材料一樣。
(四) 重新設計架構 (Re-architect):全面改頭換面 (Continue To Modernize)
這種搬遷方式和前面說的重構有點像,但更加徹底。它不只是改變系統程式碼的運作方式,而是完全重新設計整個系統的運作模式。
這就像是不只是翻修房子,而是把整棟房子拆掉重建,讓它能充分運用新環境的優點,像是更好的擴充性、安全性和靈活度。
最經典的例子就是從單體式架構(Monolithic)轉換成微服務(Microservices)架構。單體式架構就像是一間大型百貨公司,所有部門(功能)都在同一棟大樓裡,所有服務都綁在一起,任何一個小改動都要動到整個系統。並且擴充時必須整個系統一起擴充,如果有一個地方出問題可能影響整個系統。
而當我們改成微服務架構後,就像是把大百貨拆分成許多專賣店,每個服務都是獨立的小系統,可以個別更新和維護,當需要擴充時,可以只擴充需要的服務。
某個服務出問題時不會影響其他服務,不同的服務可以使用最適合的技術,不一定都要使用虛擬機器,有的可以用 Cloud Run,有的可以用 GKE。
不過要注意的是,這種全面改造比一般的重構更複雜,需要投入更多時間和心力。而且在重建的過程中,可能會不小心引入一些程式錯誤或安全漏洞。
因此,需要進行多次測試,確保新系統的每個部分都能完美運作,就像是新蓋好的房子需要仔細檢查每個管線和設備是否安全可靠。
(五) 重建 (Rebuild):完全推倒重來 (Remove and Replace or Rip and Replace)
重建就是重寫,就是先把現有的系統停用,然後重新設計並開發一個完全針對雲端優化的全新系統。
什麼時候會選擇重建呢?通常是在這些情況:
- 當你覺得舊系統已經不值得繼續維護
- 當其他改造方式的成本太高
- 當舊系統根本無法在 GCP 上運作
重建的好處是,新系統可以完全發揮 GCP 的優點,像是自動擴充、完整的雲端服務支援,以及超高的系統穩定性。而且因為是從頭開始,你不用被舊系統的技術包袱拖累。就像蓋新房子可以使用最新的建材和設計,不用被舊房子的格局限制。
但是呢,重建需要最多的時間,比其他方式都久。而且因為要重寫整個系統,所以不適合用在現成的軟體上。你需要把重新設計和重寫的時間都算進整個專案的生命週期裡。
另外,你的團隊可能需要學習全新的技術和工具,因為要用新的工具來設定環境並部署系統。這就像是要學習使用全新的建築工法和工具來蓋房子一樣。
(六) 重新購買 (Repurchase)
這種方式最簡單,就像是不想修理舊電器,直接去買新的雲端服務來用,其實就是不搬遷了,直接買新的來用。
舉例來說,與其維護公司自己的郵件系統和檔案系統,不如直接改用 Google Workspace (就是 Google 的企業版 Gmail、雲端硬碟等服務)。
從資源投入的角度來看,這種方式比重構、重建或重新設計架構簡單多了。就像是比起修理老舊的冰箱,直接去買一台新的智慧冰箱來用比較不費心。
不過要注意的是:
- 這種方式的花費可能比較高,因為要持續付費使用服務
- 你可能無法完全掌控系統,因為是用人家現成的服務,就像是租用別人的設備,雖然方便,但無法像自己的設備那樣隨意改造和調整,自由度比較低。而且有可能會被綁住,沒有辦法輕易更換系統,或是匯出資料。
綜上所述,我們可以把各種搬遷類型整理如下:

資料來源:自行整理
如果想完整了解搬遷類型,可以參考這份文件。
三、主機搬遷步驟
根據 GCP 官方部落格提到,搬遷的步驟如下圖:

資料來源:GCP 官方部落格
(一) 盤點 (Assess)
在進行搬遷之前,請評估您的應用程式以及它們對 GCP 的適合程度。
需要考慮的事項包括 (但不限於) 硬體和效能需求、使用者、授權、合規性需求和應用程式相依性。
一般來說,應用程式大概分種三種:很好搬、很難搬和不能搬。通常建議先選最好搬的,或是測試中的系統,或是較不重要的應用程式,因為搬遷中碰到問題,畢竟不是核心系統,對公司影響較小。
(二) 測試 (Pilot)
這步驟主要是讓你在搬遷過程中熟悉整個操作流程和 GCP 的搬遷介面,對於複雜的系統也可以測試,尤其是有授權議題的主機,如果搬遷有問題也可以試著回溯 (Roll Back),確保到時候正式搬遷會有一個 (Plan B) 備用計畫。
(三) 搬遷資料
根據Google官方的說法,建議先搬遷資料到 GCP,再搬遷應用程式,因為你的應用程式要能正常運作,必須要先存取到資料,否則應用程式即使搬上去,因為它撈不到後端的資料,還是會出問題。
在下一段會先分享搬遷主機的方法,你可以先試著搬遷不需要連接外部資料庫的主機,確認都沒問題的話,再搬遷資料庫,最後再搬遷應用程式。
(四) 搬遷應用程式
正式搬遷的時候,盡量保持用最簡單的流程和方法,並且執行最少的操作。
(五) 優化
在搬遷完成之後,你可以考慮讓你的系統運作的更好。例如增加可用性 (HA),或是使用自動擴充 (Autoscale) 以及使用監控程式 (OPs Agent),或是把靜態資料放在 Cloud Storage。
而在實務上,我們通常不會等到搬遷完成才開始優化,而是在搬遷之前,就會依照應用程式的特性,來判斷他適合在什麼樣的 GCP 服務上面運作。前面規劃的越多,後面花在調整的時間越少。
如果想完整了解搬遷步驟,可以參考這份文件。
四、主機搬遷具體方法
由於大多數使用者在地端運作的系統,都是單台虛擬機器的形式,本段針對大家最常用的「更換主機」 (Rehost) 這一類型,依照使用的工具,分成 Migrate to Virtual Machines 和 VMware HCX 來說明如下。
(一) Migrate to Virtual Machines
Migrate to Virtual Machines 是一個代管的服務,就是一個網頁介面,讓你可以直接在網頁上操作並監控整個搬遷的過程,操作起來非常簡單。
你可以直接匯入主機的映像檔,也可以讓主機平行運作,就是讓地端主機還在運作的同時,複製主機的資料到 GCP 上,複製並確認完後再進行切換動作。
如果你有大量主機要搬遷,你不用一台一台機器手動設定搬遷,你可以把多台主機設定為同一批次,讓他們同時複製資料到 GCP。
不過要注意的是,並非任何作業系統的主機都可以搬遷,目前支援各種 Linux 和 Windows Server 作業系統的 64 位元 x86 虛擬機器,另外也支援 Oracle Linux 作業系統。
但是要注意版本,像是太舊的版本像是 CentOS 6 雖然可以搬上 GCP,但是主機有問題,GCP 是無法提供技術支援的喔!對於支援的作業系統完整清單,可以參考這份文件。
以下分別描述 Migrate to Virtual Machines 各種搬遷方法:
1. 匯入主機檔案
(1) 匯入虛擬機磁碟映像檔 (Virtual Disk Images)
如果你手上有現成的虛擬機磁碟映像檔,可以直接匯入,完成之後可以馬上用這個映像檔,在 GCP 建立和地端一樣的虛擬機器。
虛擬機磁碟映像檔支援的格式包含:VMDK、VHD、VHDX、VDI、QCOW、QCOW2、QED 等,也支援 .tar.gz 檔案,你要確保壓縮檔案包含名為 disk.raw 的單一檔案。
不過要注意的事,這個虛擬機磁碟映像必須要先儲存在 Cloud Storage,所以你必須要先上傳檔案,然後再去 Migrate to Virtual Machines 的主控台上匯入它。
而在匯入之前,由於 Migrate to Virtual Machine 這個服務背後是有一個 Service Account 在運作,而它目前沒有權限去 Cloud Storage 存取任何檔案,所以我們就先去給它賦予權限。
我們進入「IAM 與管理」=>「身分與存取權管理」=>再勾選「包含 Google 提供的角色授予項目」:

資料來源:截圖自 GCP Console
接著視窗往下滑,會你看到像這樣的 Service Account:
service-xxxxxxxxxx@gcp-sa-vmmigration.iam.gserviceaccount.com
接著點擊 VM Migration 服務代理右邊的鉛筆圖示:

資料來源:截圖自 GCP Console
接下來就可以把你準備好的 VMDK 檔案上傳到 Cloud Storage:

資料來源:截圖自 GCP Console
上傳完成之後,你就可以點擊 Compute Engine 的 Migrate to Virtual Machines。接下來可以點擊「映像檔匯入作業」:

資料來源:截圖自 GCP Console
接著再點擊「建立映像檔」:

資料來源:截圖自 GCP Console
接著它就會進入建立映像檔的畫面,首先就是在 Cloud Storage 選擇要匯入的檔案,接著由於虛擬機映像檔會轉換成 GCP 格式的映像檔,所以我們要另外選擇儲存的位置,看你要多區域 (例如 Asia) 或是單一區域 (例如 asia-east1) 都可以:

資料來源:截圖自 GCP Console
當我們選好檔案跟儲存位置後,再選擇要儲存映像檔的專案,因為你手上可能有不只一個專案,它讓你不一定只能使用現有的專案,可以選擇匯入到其他你有權限的專案。
但你點擊下拉選單之後,你會發現沒有目標專案可以選,因為它必須要事先勾選起來,才會在這個畫面看到可以選擇的專案。但是沒關係,我們也可以在這裡直接設定,點擊「管理目標專案」:

資料來源:截圖自 GCP Console
點擊之後,它會開啟新的視窗,我們再點擊「新增目標專案」:

資料來源:截圖自 GCP Console
接下來它會彈出一個視窗,讓你勾選目標專案,我們勾選後就按下新增:

資料來源:截圖自 GCP Console
接著畫面會跳轉到目標專案,你可以再確認一次:

資料來源:截圖自 GCP Console
再回到原來的分頁,按下「重新整理」:

資料來源:截圖自 GCP Console
等待幾秒之後,專案就秀出來了,選擇這次要建立映像檔的目標專案:

資料來源:截圖自 GCP Console
上述相關欄位設定好之後,會看到像這樣的結果。其中還有兩個選項需要注意。
(1) 略過 OS 調整作業:
指的是為了讓你在地端的主機可以在雲端上運作,它需要做一些調整,才能讓它在 GCP 上開起來。包含:
・Serial Console (讓你在SSH無法連線時還能操作主機)
・網路設定 (讓主機可以連到 VPC 內的主機、其他 API 和上網)
・Cloud SDK (讓你可以下 gcloud 指令操作 GCP的資源)
如果你匯入的映像檔不是拿來當作開機碟,那可以勾選「略過 OS 調整作業」,如果是,就不能勾選,要不然主機會無法在 GCP 成功開啟。更多細節可以參考這份文件。
(2) 一般化:
通常是針對 Windows 作業系統,因為 Windows 作業系統會有一些「針對該主機的識別資訊」,例如 SID (Security Identifier),勾選「一般化」可以將其識別資訊洗掉,以便部署到其他地方,才不會有識別碼衝突的問題,而 Linux 沒有這方面的問題,不用勾選。更多細節可以參考這份文件。
如果都沒問題的話,可以按下「建立」:

資料來源:截圖自 GCP Console
接下來畫面跳轉到 Migrate to Virtual Machines 主頁,看到正在匯入映像檔的訊息:

資料來源:截圖自 GCP Console
我們等待一下,因為這個動作都在 GCP 上進行,我們可以關掉視窗,稍後再回來查看即可。
接著我們就看到 VMDK 檔案已經匯入成功,看到它已經成為 Compute Engine 的 Image 了。

資料來源:截圖自 GCP Console
接下來我們可以直接點擊箭頭圖示,直接轉到 Image 的頁面:

資料來源:截圖自 GCP Console
然後點擊「建立執行個體」,把它開成一台 GCP 的主機:

資料來源:截圖自 GCP Console
就跟一般建立機器的步驟一樣,我們給主機取名字,並選定規格:

資料來源:截圖自 GCP Console
其他參數可依照你的需求設定,沒問題就可以按下「建立」。
過幾秒後看到主機建立完成,我們點擊 SSH 按鈕:

資料來源:截圖自 GCP Console
看到 SSH 視窗成功開啟,代表我們從地端匯入 VMDK 檔案成功囉!

資料來源:截圖自 GCP Console
如果你的機器能開機,但是連不進去的話,先不要慌,你還是可以透過 Serial Console 調整一下主機,可以參考這份文件。
(2) 匯入機器映像檔 OVF, OVA
這個方法跟前一個幾乎一樣,都是先把檔案上傳到 Cloud Storage。但不同的地方是,前段的映像檔只有開機磁碟而已,如果你的主機有加掛磁碟的話,你就必須再匯入另一個映像檔,等到兩個映像檔都匯入完成,再用第一個映像檔來開機,再手動掛載另一個映像檔的磁碟。
機器映像檔則是直接包含一台主機所有的磁碟,如果你匯入機器映像檔,你就不用手動匯入多個檔案了。
首先我們點擊「建立機器映像檔」:

資料來源:截圖自 GCP Console
我們一樣設定作業名稱、來源、部署區域、目標專案等等,沒問題就按下建立:

資料來源:截圖自 GCP Console
接著就等它開始作業,我們可以在畫面上確認機器映像檔匯入的進度:

資料來源:截圖自 GCP Console
確認匯入成功後,一樣進入機器映像檔管理控制台,用機器映像檔來建立機器:

資料來源:截圖自 GCP Console
我們在主機列表看到機器成功建立,接著點擊 SSH 按鈕:

資料來源:截圖自 GCP Console
接下來就看到 SSH 連線成功的畫面,確認匯入成功。

資料來源:截圖自 GCP Console
關於匯入映象檔或是機器映象檔,還有一個更簡便的方法,不過它是使用 gcloud 指令來操作 你可以參考這份文件。
上述方法最容易卡住的地方,就是我們要匯入的檔案有問題,可能是作業系統或是檔案格式的問題,造成匯入失敗的機率很高,所以請再匯入之前多確認映像檔的內容。
2. 從地端 VMware 環境搬遷主機或 Disk
這個方法的前提是你在地端必須要有一個 vSphere 資料中心,然後再搬遷之前會有一系列的前置作業,讓你的地端和雲端可以連接在一起,之後才能開始搬遷,如下圖:

資料來源:GCP 官方文件
雖然比較麻煩,但是它可以針對大批的主機一口氣快速搬遷,而不是像上述方法一台一台操作。
此外,因為主機是在 VMware 環境,搬遷到 GCP 有比較高的相容性,所以這個方法成功率高很多。 如果你在地端有大量的主機需要搬遷,強烈推薦使用這種方法。
搬遷的前置作業分述如下:
(1) 挑選一個主要專案 (Host Project)
如上圖,我們在雲端上有多個 GCP 的專案,你可以挑選一個主要的專案 (Host Project) 來負責執行搬遷工作,但是你搬上來的主機不一定要部署在這個專案上,你也可以部署到另外一個專案上去。
(2) 啟用相關的 API
由於搬遷過程中會呼叫 GCP 各種不同的 API,所以我們要事先啟用,這裡提供一個快速的指令,讓你可以直接複製貼上,然後在 Cloud Shell 或是你有安裝 gcloud CLI 的電腦執行:
gcloud services enable vmmigration.googleapis.com servicemanagement.googleapis.com servicecontrol.googleapis.com iam.googleapis.com cloudresourcemanager.googleapis.com compute.googleapis.com

資料來源:GCP 官方文件
(3) 授權給相關人員
如果有許多人員要參與搬遷,你可以授權這兩個角色給相關的人員:
VM Migration Administrator:是給執行搬遷的人員使用。
VM Migration Viewer:如果其他的人想要查看搬遷的相關資訊,不直接動手操作。
(4) 在 vCenter 建立使用者帳號
因為我們會在 vSphere 建立一台主機,並且安裝 Migrate Connector,而這個 Migrate Connector 需要有一個使用者的帳號,並且要擁有相關權限,才能夠呼叫 vCenter的API,去把 VMware 主機的資料拉出來並且搬到雲端上。

資料來源:GCP 官方文件
(5) 在 GCP 準備一個使用者帳號和服務帳戶
這個使用者帳戶必須要有權限,才能註冊 VMware 上的 Migrate Connector 主機到 GCP。它只有在註冊的那一刻需要相關的權限,只須執行一次性的註冊動作。
而在 GCP 上面也要有一個服務帳戶,用來存取 19 項 GCP 資源,來完成搬遷的動作。 如下圖:

資料來源:GCP 官方文件
(6) 設定網路存取
在 GCP 這邊,因為都是開放的 API,比不需要特別再去設定,反而是地端那台 Migrate Connector 主機,要確保網路流量可以存取得到 vCenter、vSphere 和上網存取 GCP 相關服務。如下圖:

資料來源:GCP 官方文件
如果防火牆也有限制,要記得開放存取到 *.googleapis.com 和 gcr.io 這兩個網域喔!
(7) 建立連線到 Migrate Connctor 所需的 Key
為了要安全的連到 Migrate Connctor ,你必須建立一組金鑰,等到這台機器建立完成,你就要透過這個金鑰連線進去操作。你可以在任何地方使用 ssh-keygen -t rsa 這個指令來建立金鑰,如下圖我們是用 Mac 本機電腦來建立的:

資料來源:自行截圖
(8) 安裝 Migrate Connctor
接下來環境切換到 vSphere,點擊 Deploy OVF Template 然後貼上 Migrate Connector 機器映像檔的網址:

資料來源:自行截圖
接下來等它安裝完成,看到主機的資訊如下:

資料來源:自行截圖
(9) 連線到 Migrate Connector 主機並註冊到 GCP
我們使用 SSH 連到 Migrate Connector 主機之後,輸入 m4c register 開始註冊,經過一連串的互動操作,可以看到註冊成功的畫面:

資料來源:自行截圖
我們回到 Console 上就會看到地端的機器列表,這時我們就可以選定要搬遷的主機:

資料來源:YouTube 影片截圖
雖然是將主機一模一樣的搬到 GCP,但是我們並不一定要使用一模一樣的規格,我們可以設定部署的規格跟環境:

資料來源:YouTube 影片截圖
接下來就開始進行資料複製的動作,等到複製完成,我們可以先點擊「Test-Clone」,來觀察資料是否都複製完成,它會建立一台測試機,讓你進去檢查。如果確定都沒問題的話,我們再點擊「Cut-Over」 :

資料來源:YouTube 影片截圖
最後我們可以在 Console 上看到主機切換完成的相關訊息:

資料來源:YouTube 影片截圖
這裡要注意的是,它的「切換」會把原來的地端主機「直接關機」,如果你不希望機器被關,目前的方法就是再手動把它開起來。
很多使用者會藉由這個功能,執行雲地資料同步的動作,不過不算正規方法,所以沒有備份的保證喔!只是因為做起來很方便,單純分享給各位參考!
(二) VMware HCX
GCP 本身可以建立一個純粹的 VMware 環境在雲端,叫做 VMware Engine,而這個環境可以和地端的 VMware 環境連結在一起。既然兩邊都是 VMware,就可以使用 VMware 本身的 HCX 將地端的主機無縫的搬遷到雲端上,但不是 Compute Engine 主機的形式,而是 VMware 格式的主機。
所以它具體的搬遷方法是由 VMware 所發展的, GCP 就只是提供基礎建設,讓 VMware 可以在 GCP 上面順利運作,整合概念圖如下:

擷圖自 VMware 官方文件
而這樣的服務要在 GCP 上開起來,必須要使用通過 VMware 認證的主機,我們可以從「VMware Engine」進入「私有雲」,然後點擊「建立私有雲」 :

資料來源:截圖自 GCP Console
接下來你會發現台灣 (asia-east1) 並沒有提供這樣的環境,VMware Engine 離台灣最近的資料中心在新加坡 (asia-southeast1):

資料來源:截圖自 GCP Console
另外我們在設定節點數量的時候,系統會要求至少要三個節點以上,而每個節點的規格是 72 個 vCPU和 768 GB 的記憶體,以及1.92 TB 的 Disk 空間,可以知道它的費用不低,有一定規模的跨國企業才有機會使用這樣的服務:

資料來源:截圖自 GCP Console
我們在 YouTube 看到有人示範 HCX 操作的畫面,功能和 Migrate to Virtual Machines 很像,首先就是勾選要搬遷的主機:

資料來源:截圖自 YouTube 影片
接著我們就設定主機要搬遷的目的地:

資料來源:截圖自 YouTube 影片
在設定的過程當中,也可以設定目的地的主機規格和環境參數,你還可以設定搬遷的排程,例如在幾月幾號的幾點開始搬遷。
開始搬遷之後,你也可以在畫面上看到搬遷的進度:

資料來源:截圖自 YouTube 影片
關於更多 HCX 的操作細節,可以參考這份文件。
另外這樣的規模通常都不小,我們可以聯絡代理商或是 Google 原廠,來提供相關的技術服務喔!
五、結論
最後我們總結從地端搬遷主機到 GCP 的方法,整理比較表如下:

資料來源:自行整理
不管你是哪一種企業規模或是場景,都建議你先從匯入映像檔的方式開始,不是真的要你在正式搬遷都用這個方法,而是要你藉由這個動作,去熟悉整個搬遷的流程、細部操作和相關的注意事項,讓你了解搬遷過程的全貌。
這樣才能在正式搬遷之前,做好完整的評估和規劃,和搬遷失敗的處理方式,讓你確保在公司系統照常運作,影響最小的前提之下,讓搬遷順利成功。
本文同時刊登於: