Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MSDN 電子報9月份客座編輯 Sky Chang 張羽承
Azure SDK 在Azure的開發上,一直扮演著重要的角色,透過Azure SDK的安裝,讓Visual Studio擴充許多操控Azure服務的能力;而到了年中的這時間,Azure SDK也正式邁入2.4這個版本了!!
Azure SDK 2.4主要強化了以下這些功能:
►Virtual Machines : 遠端偵錯32位元的VM、配置虛擬機、包含了動態安裝與管理擴充套件 ( 例如:防毒軟體等… )、創建磁碟狀態的快照 ( 此快照是用來當作映像檔,以利未來快速建立VM,並非一般所認知的快照 )。
►Storage : 可以輕鬆的查看Storage的log、從Visual Studio來查看擁有地理備援且可讀取的Storage (Read-Access Geo-redundant Storage )。
►Cloud Services : 預設使用Express的模擬器、可以設定新的網路功能。
所以,接下來,筆者就帶大家來看看這新版的SDK 2.4!!
透過Visual Studio 設定 Virtual Machine
早期要進行Azure上Virtual Machine的設定,通常都要進入Portal來設定,而現在,安裝完SDK 2.4之後,就可以輕鬆地透過Visual Studio設定Virtual Machine的相關設定。
只需要從 [伺服器總管] à [ 虛擬機器] à [ 選擇要設定的VM] à [設定] 就可以進入設定的畫面進行Virtual Machine設定
設定的內容就如同Portal一般,筆者就在這邊示範,如何透過Visual Studio新增一個80 Port的端點。
首先,選擇 [請選取一個節點] ,接下來選擇Http;如果這邊找不到想使用的節點名稱,也可以先選擇Http,後續再修改成想要的名稱與想開放的Port;最後按下 [加入] 。
完成之後,就可以看到 [公用節點] 多了一個Http,如果這邊不是預期的Port,也可以自行修改,但要特別注意,如果選擇的是 [自動] ,系統則會亂數給一個Port,所以如果已經有想要的Port,那一定要自行去修改;確認無誤後,按下 [更新] ,就會開始更新了。
更新的過程中,於 [Microsoft Azure活動紀錄檔] 可以看到目前的狀況。
接下來,筆者將示範如何透過Visual Studio來新增新的擴充功能;在早期,Web版本的Portal是沒有提供擴充功能的UI介面讓筆者來控制的,只能透過PowerShell的方式,下指令來使用這擴充功能 ( 目前新版的Portal已經提供擴充功能的UI介面 );那什麼是擴充功能!?,擴充功能是Virtual Machine非常方便的一個功能,我們可以透過擴充功能來擴充Virtual Machine,使Virtual Machine動態的方式加上想要的套件 ( 例如 : 防毒軟體 );所以現在就讓筆者帶著大家來操作此功能。
同樣的,先從下拉式選單選擇想要的功能,這邊筆者選擇 [Microsoft Antimalware] ,也就是防毒軟體;接下來選擇 [加入] 。
同樣的,要按下 [更新] 後才會真的去執行。
完成之後,遠端登入,就可以看到防毒軟體已經裝好了。
Virtual Machines的快照
Virtual Machines的快照,在Azure上的定義與一般虛擬化的定義有些不同,這邊的快照,指的是透過此功能,能產生出映像檔,以利未來要重新建立相同內容VM的時候,能快速建立;換言之,這種快照,並不是一般虛擬化,利用快照就可以還原到當時情境的那種快照。
雖然是不同的快照意義,但實務上,還是非常有用,舉例來說,筆者可能配置好一台Server的環境,而這個環境未來需要給開發單位重複使用,如果每次都建一台新的VM,再裝上軟體,其實是很消耗時間的,所以透過此快照系統,就可以先建立好一個範本(映像檔),未來透過此映像檔,就可以快速產生想要的VM;接下來,筆者就來使用Visual Studio和SDK 2.4來完成Virtual Machines快照的動作。
在開始前,如果是Windows系統,則必須先在”要快照的那台機器上執行sysprep”( 也就是Azure的VM上執行sysprep );透過sysprep,可以將識別化的資訊給移除掉,也因此,重新建立的VM就如同新的一樣,可以自行輸入帳號、密碼等資訊。
請注意,轉成映像檔的VM,會被刪除掉!!
首先,我們從左下角的 [Windows按鈕] à [Run] à 輸入sysprep。
接下來,會跳出如下圖視窗,只要點擊sysprep來執行sysprep程式。
接下來,選擇 [Enter System Out-of-Box Experience (OOBE)] 、 [Shutdown] ,並且勾選 [Generalize] ,選擇這三個的意思是說,要將此VM的系統資訊一般化,並且將此系統清理成”進入系統全新體驗”,也就是像第一次裝完系統的樣子;而當sysprep完成後,自動關機。
接下來,回到Visual Studio裡面,點擊 [擷取映像] 。
在跳出來的視窗,可以加上映像標籤與描述,並且把 [我已在虛擬機器上執行Sysperp] 勾選起來,確定無誤後,按下擷取即可。
完成之後,可以發現被截取的那台已經被刪除了,但如果要新建新的VM,就可以看到筆者剛剛自行產生的映像。
支援讀取存取異地備援儲存體
現在的儲存體,除了可以選擇異地備援外,為了不浪費異地備援的檔案,Azure也支援可以讀取異地備援的儲存體;而現在Visual Studio在安裝了SDK 2.4之後,建立儲存體的地方,也支援了可以選擇 [讀取權限異地備援] 的選項。
查看儲存體的活動日誌
如果有開啟儲存體Log的功能,那現在透過Visual Studio加上SDK 2.4,就可以輕鬆的在Visual Studio裡面查看到Log的資訊;如下圖,可以透過 $logs目錄下看到詳細的Log資訊。
點進去後,就可以看到目前記錄的Log檔案。
全新的雲端服務模擬器
SDK 2.4還有一個重大的改革,那就是使用了全新的雲端服務模擬器Emulator Express,並且將此設為新專案的預設值;Emulator Express解決了使用者每次要啟動模擬器時,都需要Administrator的權限;但要注意,目前Emulator Express只支援一個Instance,如要模擬多個Instance,還是需要使用完整的模擬器。
雲端服務支援新的網路功能
內部的Load Balancing (ILB)
ILB是Azure上的新功能,提供了內部LB的機制,如下圖;前端透過Port 443進來,第一個對應到的是Azure預設提供的LB機制;但在現實的環境中,除了最前端需要LB外,其實內部也需要LB,就如同下圖,Database tier也有可能是多台Server組合而成,而Web tier與Database tier之間,就是透過ILB。
而現在Azure SDK 2.4的版本,也提供了XML的設定格式,讓雲端服務可以設定ILB,如下圖,可以透過 [ServiceConfiguration.Cloud.cscfg] 增加 [NetworkConfiguration] 區段來使用ILB。
接下來,要設定 [ServiceDefinition.csdef] ,並將端點加入到ILB。
設定給Role 對外公開的IP
早期有很多人會有固定對外公開IP的需求,而現在也可以透過PowerShell來進行設定;設定完之後,如果雲端服務要使用,也可以透過 [ServiceConfiguration.Cloud.cscfg] 來設定Public IP,如下圖,但別忘記在設定之前必須先透過PowerShell設定Public IP。
在Azure Load Balancer設置閒置斷線
最後,SDK 2.4現在也可以在cscfg檔案裡面,針對Web Role或是Work Role,來對閒置過長的連線進行斷線,如下圖設定。
或是針對Public IP的部分,也可以透過csdef檔案來進行設定。
因篇幅有限,ILB、固定Public IP的詳細資料,有興趣的朋友可以參考附件,筆者就不再這邊多做解說,也請多多見諒。
參考資料
►Announcing release of Visual Studio 2013 Update 3 and Azure SDK 2.4