如何將 VMware 虛擬機器遷移至 AWS:案例研究
2016 年,我們的管理層訂立了一項目標,將組織內所有關鍵任務伺服器遷移至 Amazon Web Services 雲端。此舉旨在讓我們地理位置分散的團隊能夠無縫且安全地協作。當時,我們所有的伺服器均基於 VMware vSphere 運行。 因此,我們啟動了 VMware 至 AWS 遷移專案。
這篇部落格文章詳述了我們為成功將工作負載從資料中心遷移至 Amazon EC2 所採取的所有步驟,包括規劃及遷移後的資料保護措施。
估算 VMware 遷移至 AWS 的資源需求
在 VMware 遷移至 AWS 的第一階段,必須評估每台伺服器在 AWS 上所需的資源。這些資源包括磁碟容量、CPU 及 RAM。在考量 Amazon EC2 執行個體(即 Amazon 術語中的虛擬機器)時,必須注意您無法直接購買與實際需求完全相符的 CPU GHz 數值及 RAM GB 容量。AWS 提供數十種資源量固定的執行個體類型。 目標是根據每台伺服器的使用統計數據,選擇合適的執行個體類型。
Tip: 使用 IT 監控軟體 以便您的 VMware 環境能掌握過往與當前的使用需求,並能正確配置資源。
估算 Amazon Web Services (AWS) 的費用
本文旨在說明 Amazon Web Services 的計費結構。在開始進行 VMware 至 AWS 遷移之前,我們需要預估相關費用。
Payment depends on the type of instances. AWS 僅提供固定組合的 CPU 和 RAM 實體資源,這意味著您無法購買確切數量的 CPU 或 RAM。您可以從十幾種 EC2 執行個體組合中選擇,並挑選適合您的執行個體類型。例如,可能是 t2.micro 配備 1 個 vCPU 和 1 GB 記憶體的執行個體,或 m4.2xlarge 配備 8 個 vCPU 和 32 GB 記憶體的執行個體。You need to pay for an operating system (OS).AWS 提供多種作業系統,包括 Linux(SLES、RHEL、Ubuntu 等)和 Windows(可選擇是否預裝 SQL Server)。此外,Amazon 還擁有自己的 Marketplace,提供預裝了各種應用程式、可免費或付費使用的不同類型作業系統。You need to pay for the amount of used storage.價格是按 GB 計算的。儲存類型有多種,例如通用型 SSD 卷、具備保證 IOPs 的 SSD 卷,以及特定類型的 SSD 磁碟佈局,這些類型更適合用於資料庫和其他特定應用程式。
因此,您所使用實例的最終費用將根據實例類型(CPU 和 RAM 資源)、儲存空間的大小與類型,以及您所運行的作業系統而定。
建立對在 AWS 上運行的服務的安全存取
另一個問題是確保能安全存取在 AWS 上運行的服務。從安全角度來看,將伺服器連接到網際網路,並透過實際 IP 位址直接提供對伺服器的存取權限,風險相當高。因此,在 NAKIVO,我們決定在 AWS 上建立兩個網路:
- 一個無法連上網際網路的內部網路,所有伺服器都將部署於此
- 一個可連上網際網路的外部網路
一個兼具 VPN 伺服器功能的軟體路由器,運行於這兩大網路之間。因此,若要存取這些伺服器,必須先連線至 VPN。
註: AWS 雖有專屬的 VPN 存取解決方案,但需額外付費。
針對 NAKIVO,所有伺服器均已成功遷移至 AWS,且本地虛擬機器已關閉。使用者開始透過與 AWS 的永久 VPN 連線來使用 IT 服務。藉此,我們完成了在 Amazon EC2 上託管伺服器的任務,並安排了對資源的安全加密存取。接下來,讓我們聚焦於 VMware 至 AWS 的遷移,並說明如何配置此遷移流程。
選擇 VMware 至 AWS 遷移工具
進行 VMware 至 AWS 遷移有兩種方法:
- 建立具備所需作業系統的新執行個體,安裝所需軟體,並從來源伺服器轉移資料庫、設定等
- 透過 AWS 服務遷移現有的虛擬機器
Amazon 提供了一套文件完備的工具,用於將虛擬機器從 VMware vSphere 環境遷移至 AWS。執行 VMware 至 AWS 遷移的一種常見方式,是使用 AWS Server Migration Service (AWS SMS) 搭配 Server Migration Connector。此方法可讓您一次遷移多台虛擬機器,無需針對每台特定虛擬機器手動配置遷移設定。 您可以使用 AWS SMS 進行大量虛擬機器遷移。
AWS Server Migration Connector 是一款部署於 vCenter 的 VA,提供 VMware 至 AWS 遷移的整合式支援。您無需在 VMware 虛擬機器上安裝任何遷移代理程式。此外,您還可排程 VMware 遷移至 AWS 的作業、使用增量複製來移動來源虛擬機器上已變更的資料,以及使用其他實用的選項。
使用 AWS Server Migration Connector 設定遷移流程
此工作流程包含以下主要階段:
- 第 1 階段:建立 IAM 使用者
- 第 2 階段:安裝 AWS Server Migration Service 連接器
- 第 3 階段:設定 AWS 伺服器遷移服務
第 1 階段:建立 IAM 使用者
首先,您需要新增一個用於虛擬機器遷移的新使用者(基於安全考量),並指派該 伺服器遷移連接器 將角色指派給使用者。
Set user details. 輸入使用者名稱,例如,SMS或 遷徙. 選擇 AWS 存取類型。請務必選擇Programmatic Access核取方塊。無需啟用 AWS 管理主控台 access.ClickNext: Permissions繼續。
Attach a policy to the user. 您可以直接將政策套用至使用者,或透過群組進行套用。由於本示範僅使用一個遷移使用者,因此我們直接套用政策。點擊
Attach existing policies directly在 設定權限 螢幕。類型 伺服器遷移連接器 在搜尋列中(篩選原則),然後選取
ServerMigrationConnector政策。點擊
Next: Tags繼續。您可以在此步驟添加標籤(非必要),然後繼續進行至 評論 步驟。
- 檢視該使用者的設定。點擊
Create user如果一切都沒問題的話。
- 你應該會看到
Success系統會顯示一則訊息,通知您已成功建立使用者。請將該訊息記錄下來(複製)並儲存?access key ID以及secret access key到安全的地方。您可以點擊Download .scv按鈕,將憑證儲存為 CSV 檔案。
點擊 Close完成後。
第 2 階段:安裝 AWS Server Migration Service 連接器
在為 IAM 使用者設定適當權限後,您應安裝 AWS Server Migration Service 連接器 (AWS SMS 連接器)。SMS 連接器以 OVA 範本的形式提供,用於在 VMware vSphere 中部署虛擬機器。您可以將此虛擬機器視為 VA (virtual appliance)。
Downloading the OVA.下載 OVA 虛擬機器範本 請透過以下連結上傳檔案:https://s3.amazonaws.com/sms-connector/AWS-SMS-Connector.ova
此外,您也可以透過以下步驟在 AWS 管理主控台中找到該連結:
- 前往
Services > Migration > Server Migration. - 點擊
Get started關於 AWS 遷移服務 頁面。 - 點擊
Download OVA按一下按鈕,並將 OVA 檔案儲存至您的磁碟中。
Deploying the VM from OVA- 在 vSphere 中從 OVA 範本部署虛擬機器。
- 登入 VMware vSphere Client 要管理 vSphere,請使用 vCenter Server.
- 請使用
Host and clusters在導覽窗格中,右鍵點擊 ESXi 主機、叢集或資源池,然後點擊Deploy OVF Template在彈出的選單中。
The Deploy OVF Template wizard opens:
Select an OVF template. 您可以貼上 AWS-SMS-Connector OVA 檔案的直接連結 (URL) (https://s3.amazonaws.com/sms-connector/AWS-SMS-Connector.ova ) 如果您使用的是最新版本 vSphere 7 版本. 否則,可能會出現錯誤。最可靠的方法是從您的磁碟中選取並上傳本機檔案。選取Local file然後點擊Upload files(系統提示時請瀏覽檔案)。點擊Next在每個步驟中繼續。
Select a name and folder. 輸入虛擬機器名稱(您可以保留預設名稱),例如, AWS-SMS-Connector. 選擇虛擬機的位置,例如資料中心、虛擬機資料夾等。
Select a compute resource. 選擇一個 ESXi 主機、叢集或資源池來執行虛擬機器。
Review details. 請確認範本的詳細資訊,然後繼續。
Select storage. 選擇 精簡部署或完整部署 作為虛擬磁碟格式。選擇一個資料存放區來存放虛擬機器檔案。我們選擇精簡配置格式,並選擇一個 VMFS 6 資料存放區 在我們的範例中。
Select networks. 選擇 虛擬機器網路 您要將虛擬機器連接到該位置。
Ready to complete. 檢視您的選項,然後點擊Finish如果一切都沒問題的話。
請等待 SMS Connector 虛擬機器從 OVA 範本部署完成。您可以在 最近的任務 vSphere Client 網頁介面底部的工具列。
AWS 連接器設定
啟動網頁控制台或 VMware 遠端主控台 以開啟執行 AWS Connector 的作業系統使用者介面。AWS Connector 目前在 FreeBSD 上以命令列介面方式執行。請確認 AWS Connector 虛擬機器的 IP 位址(10.10.10.27 (就我們的情況而言)。
請在網頁瀏覽器中輸入此 IP 位址,以存取 AWS Connector 的網頁介面 https://IP_ADDRESS 格式。我們輸入 https://10.10.10.27 在此情況下。
點擊 Get started now 按鈕的位置在視窗中央。
網頁介面中會開啟一個設定精靈。
License Agreement. 接受授權協議。點擊Next在精靈的每個步驟中,請點擊"繼續"。
Create a password. 為 AWS Connector 裝置的管理主控台建立密碼。
Network info. 此畫面會顯示目前指派給虛擬機器虛擬網路介面的 IP 位址。您可以登入 SMS Connector 的命令列介面(透過 VMware 遠端主控台或網頁主控台),並變更虛擬機器的網路設定。請使用以下預設憑證登入:- 使用者名稱:
ec2-user - 密碼:
ec2pass
下方的螢幕截圖顯示了可用的網路設定選項,這些選項與命令列介面中的選項完全相同。您可以使用透過 DHCP 指派的 IP 位址(預設值)。
登入畫面顯示基本資訊,包括系統時間、IP 位址及登入提示。請輸入前述的使用者名稱和密碼以進行登入。
首次登入後請變更密碼。
登入系統後,執行此指令以開啟設定選單:
sudo setup.rb接著您應會看到一個選單,其選項與前一畫面(網頁介面中精靈的第 3 步)的選項完全相同。
- 使用者名稱:
Log uploads and upgrades. 您可以保留"AWS Server Migration Service 自動升級"核取方塊的勾選狀態,以確保 AWS SMS 保持最新狀態。
vCenter Service Account. 輸入 vCenter 的 IP 位址或主機名稱以及憑證。基於安全性考量,建議建立一個具備適當權限的 vCenter 服務帳戶。此操作包含三項動作,相關詳細資訊將顯示於螢幕上:- 建立 vCenter 角色
- 建立 vCenter 使用者
- 將 vCenter 角色指派給 vCenter 使用者
您可以使用 vCenter 的預設管理員帳戶(例如, administrator@vsphere.local),但安全性較低。
當系統顯示相關訊息時,請驗證(接受)該未受信任的 vCenter 憑證。按下
Trust.您已完成 SMS 連接器的設定。請按一下
Go to connector dashboard.我們將被重定向至在 VMware vSphere 中以虛擬機器形式運行的 AWS Server Migration Service 的儀表板頁面(10.10.10.27 (以我們的情況為例)。
您可以在此頁面查看狀態及基本設定資訊。
註: 在您開始使用 VMware 至 AWS 遷移工具將虛擬機器移轉至 Amazon 雲之前,您可以使用一個 VMware 虛擬機器資料保護解決方案 建立備份。
第 3 階段:設定 AWS 伺服器遷移服務
現在您需要在 AWS 端設定 AWS Server Migration Service。
- 請再次開啟 AWS 管理主控台的網頁介面。
- 點擊
Services > Server Migration Service. 您可以輸入server migration service在搜尋欄中。
- 開啟
Connectors頁面,您可以在該處查看基本資訊和連接器狀態。 - 點擊
Import server catalog請繼續。請稍候片刻,系統將為您的 vCenter 建立虛擬機器清單。
完成匯入後,您將可以看到由 vCenter 管理的 VMware 虛擬機器清單。
Configure server-specific settings. 為每台要遷移的虛擬機器選擇授權類型。可用的授權選項包括:
Configure replication job settings. 選擇複製類型、開始時間、IAM 服務角色、AMI 刪除選項及其他選項。在我們的案例中,我們選擇 一次性遷移 以及 立即開始複製 立即將 VMware 虛擬機器遷移至 AWS。
Review設定,然後點擊Create開始執行虛擬機器複製,以便將 VMware 環境遷移至 AWS。
接著,您將看到建立狀態、複製工作 ID、虛擬機器 ID、伺服器 ID 等資訊。
點擊 View replication jobs.
現在您應該已經來到 伺服器 頁面。點擊一個 Replication job ID 對於正在進行複製的虛擬機器。
您將被重定向至一個 Replication jobs 頁面。
勾選所需項目的核取方塊 複製工作 ID.
所選項目的詳細資訊 複製工作 ID 如下所示。
點擊 Run History 標籤頁。
選擇所需的 複製工作 ID 哪個工作已經完成。點擊 Launch instance 從 VMware vSphere 遷移至 AWS 所產生的 AMI(Amazon 機器映像)建立 Amazon EC2 執行個體。此外,您也可以點擊 Actions > Launch instance from the latest AMI.
使用透過虛擬機器複製所建立的映像檔來建立 EC2 執行個體,以進行虛擬機器遷移。請依照精靈的指示操作,並 選擇 AWS EC2 執行個體類型 符合您運行從 VMware vSphere 遷移而來的虛擬機所需的需求。
註: 關於建立 EC2 執行個體的流程,請參閱這篇部落格文章 使用 EBS 快照建立 EC2 執行個體.
隨後,VMware 至 AWS 的遷移即告完成。
AWS EC2 執行個體的備份與還原
從邏輯上來說,下一步是 Amazon EC2 執行個體的備份與還原. 在備份方面,AWS 提供了一種建立快照的機制。
快照並非像 VMware vSphere 那樣針對整個實例建立,而是僅針對連接到該實例的磁碟建立。 必須針對每顆獨立磁碟分別建立快照。這意味著,若您擁有 5 個實例,且每個實例連接了 20 顆磁碟,您就必須建立 100 個快照。快照可手動建立,或透過 AWS 提供的工具所執行的腳本來建立。
在分析現有的自動化備份解決方案時,我們發現所有提出的方案僅是建立排程快照。 沒有任何解決方案能提供 AWS 基礎架構外的備份。
身為一家備份公司,我們無法僅滿足於建立快照。NAKIVO 開始開發一套解決方案,讓客戶能將 AWS 執行個體的備份儲存於本地端。此解決方案將允許從本地端儲存的備份中,在任何 AWS 區域還原執行個體。
AWS EC2 執行個體保護在 NAKIVO Backup & Replication
NAKIVO 已開發出一套用於保護 EC2 執行個體的解決方案。 NAKIVO Backup & Replication 讓您能夠建立 AWS 執行個體備份,並將其儲存於任何位置:Amazon S3(相同或不同區域)、EC2 EBS 儲存空間、本地主機、Wasabi、Azure Blob、磁帶、去重裝置等。
將 EC2 執行個體新增至"清單"的步驟,就像新增一個 VMware vCenter 伺服器. 若要偵測現有的 EC2 執行個體,您只需輸入 AWS 帳戶中的存取金鑰 ID 和秘密存取金鑰即可。若要備份執行個體,您應部署 NAKIVO Transporter 在 AWS 中。部署 Transporter 的區域必須與您需要備份的 EC2 執行個體所在的區域相同。
部署完 Transporter 後,您即可開始建立 AWS EC2 備份工作。此流程與 VMware 環境相同。
您可透過下載來在您的環境中試用此功能性 NAKIVO Backup & Replication 免費版本。



































