如何將既有的Windows Azure Virtual Machine加入至虛擬網路或同質群組

本文將介紹如何將既有的Windows Azure Virtual Machine加入至虛擬網路或同質群組。

情境描述

當您使用Windows Azure Virtual Machines服務建立虛擬機器時,您可選擇您的虛擬機器是要放在哪個地區的資料中心,雖然您可以將要一起運作的服務(假設為VM與Storage)放在同一個地區的資料中心,就台灣的使用者而言,位於東亞的資料中心是較近的選項,但是這樣的做法無法保證多個服務執行在相同資料中心叢集之中。

取而代之的是將這些服務放在相同的同質群組(Affinity Group),讓該服務在部署時,Windows Azure會在盡量靠近彼此的資料中心找到這些服務,如此一來可以降低延遲並增加效能,而且還可能可以降低像是資料傳輸的成本。

另外,您也可以透過Windows Azure Virtual Network來建立虛擬網路,並搭配點對站或站對站的VPN來將Windows Azure VM與企業內部的網路整合起來,進而實現混合雲的架構,將您企業內部的服務延伸至Windows Azure平台。

但要將虛擬機器加入到同質群組的前提是,您必須在建立虛擬機器之前就先把同質群組建立好,才能看到如下圖的選項。

image

否則如果您建立VM時尚未建立同質群組/虛擬網路,將來在同質群組/虛擬網路建立後想要將虛擬機器搬過來,或是想要把虛擬機器在不同的同質群組/虛擬網路之間搬移,您會發現在Windows Azure管理入口網站中找不到搬移的功能,跟好友Sky討論過的確現行的管理入口網站中並未提供搬移虛擬機器的功能,因此只能用替代方式來達到搬移虛擬機器至特定同質群組/虛擬網路的目的。

虛擬機器但保留磁碟

在開始之前請先在VM的儀表板頁面中找到您的虛擬機器所使用的磁碟名稱以及VHD的URL。

image

然後停止您要搬移的虛擬機器,確認其狀態為【已停止】,接著選擇該虛擬機器之後點選下方的刪除圖示,刪除虛擬機器時您可以選擇刪除已連結磁碟或保留已連接磁碟。就本文的情境而言,在此應選擇【保留已連接磁碟】。

image

接著選擇【是】來刪除虛擬機器並保留VHD檔案。

image

刪除成功後您可以在【虛擬機器>磁碟】頁面中看到VHD檔案並沒有連結到任何一個資源。

image

刪除並重新建立雲端服務

在Windows Azure管理入口網站中點選左側的雲端服務,接著選取您要刪除的雲端服務項目,然後按下方的刪除。

image

在確認對話視窗中點選【是】來刪除您所選擇的雲端服務。

image

點選【建立雲端服務】來重新建立套用在特定同質群組的雲端服務。

image

於新增視窗中點選【計算>雲端服務>快速建立】,輸入雲端服務的URL名稱,若該URL名稱尚未被使用,您可以輸入剛剛您所刪除的名稱,接著在區域或同質群組中選擇您所要套用的同質群組名稱,輸入完畢後按建立雲端服務。

image

雲端服務建立完畢之後,您可以在位置的地方看到與之前不同之處,如下圖所示,本文所建立的wadc雲端服務是放在東亞的WAVN同質群組。

image

重新建立虛擬機器

點選Windows Azure管理入口網站下方的【新增>計算>虛擬機器>從組件庫】來建立虛擬機器。

image

在選擇映像步驟中,點選左側的【我的磁碟】,您將可以看到剛剛刪除VM所保留下來的磁碟,選擇之後按下一步。

image

在虛擬機器組態步驟中,輸入虛擬機器名稱並選擇VM所要使用的大小後按下一步。

image

在虛擬機器組態步驟中,選擇現有已經加入同質群組的雲端服務後,您就可以選擇虛擬機器所要使用的虛擬網路。

image

或是同質群組。

image

接下來是設定虛擬機器所需開放的端點,預設開放Remote Desktop與PowerShell等用來遠端管理的端點,您可以依照您的需求自行加入或移除端點,設定完畢後按完成。

image

本文示範的是將虛擬機器搬移到特定虛擬網路,因 此在虛擬機器重新建立成功後,您可以到虛擬網路的頁面中看到資源的部分,剛剛重新建立的虛擬機器已經出現在列表之中。

image

補充說明

假設您的VHD檔案建立使用的Windows Azure訂用帳戶與雲端服務部署時的訂用帳戶不同時,您會看到如下圖的訊息。

image

避免上述問題的最佳做法是都使用相同的Windows Azure訂用帳戶來建立雲端服務、儲存體以及虛擬機器,但如果您跟筆者一樣有多個訂用帳戶又不小心把雲端服務和儲存體建立在不同的訂用帳戶,那麼可能得要透過工具(例如CloudBerry、CloudXplorer)或是PowerShell來複製或搬移VHD檔案,而且如果您是在相同資料中心中搬移或複製檔案,則不用擔心網路傳輸的費用。

下圖為CloudBerry的GUI,您可利用該工具來複製或搬移Blog中的檔案,不過以本文為例,複製VHD檔案所花費的時間相當長,您可以視情況來選擇是否使用CloudBerry。

image

筆者會建議複製大檔案時使用CloudXplorer這個工具(感謝台灣微軟Support Engineering Assistant Manager的Mia提供的資訊),在CloudXplorer中只需簡單的複製/貼上的動作,127G的檔案幾乎是在您按下貼上的瞬間就複製完成,而且該工具還可以幫您展開VHD檔案,在不需要下載的情況下就看的到VHD的內容,由於整個操作過程跟您在使用檔案總管類似,在此筆者就不贅述。

image

請注意,若您的VHD檔案是從其他Windows Azure訂用帳戶複製或搬移來的,一開始該檔案只是一般的檔案並非VM的磁碟,您無法直接使用Blob中的VHD檔案來建立VM,因此您必須在Windows Azure管理入口網站中點選【虛擬機器>磁碟>建立磁碟】來將VHD檔關聯成為虛擬機器可用的磁碟。

image

在從VHD建立磁碟的視窗中輸入您的磁碟名稱,並在您的Blob中選擇您要用來建立磁碟的VHD檔案,若您的VHD檔案包含作業系統也請勾選VHD包含作業系統並選擇適當的作業系統類型,相關資訊填寫完畢後按完成。

image

參考資料

Moving a Windows Azure Virtual Machine from one Virtual Network to Another

關於虛擬網路的同質群組

Windows Azure Virtual Network Overview

Windows Azure 虛擬網路組態工作

Windows Azure Networking

Copying VHDs (Blobs) between Storage Accounts

How to copy blobs or VHDs between different Windows Azure subscription

Transferring all data from one subscription to another

Copying Azure Blobs from one subscription to another with API 1.7.1

Introducing Asynchronous Cross-Account Copy Blob