iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
1
Everything on Azure

玩轉 Azure 於指尖隨心所欲系列 第 25

垂直擴展的好哥們,VM AutoScaleSet 也可以很簡單完成您的服務水平質量

上篇我們介紹了懶人的垂直擴展你的主機來提升效能因應高峰問題,但其實仍會有一定的中斷風險,而且現在的程式語言都能因為水平擴展時對於前端 Request 對 Session 的處理非常成熟,再者主機規格高不見得就能榨乾到你真的會吃緊的效能瓶頸著名像是磁碟I/O同一台較Powerful主機並不如多台一般主機在磁碟I/O的處理上要好,假設一个應用系统在不降低回應時間的前提下,能透過增加更多的水平式資源完成處理更多请求,系统表現上有事較佳。

今天我們就來實驗實驗吧!中間建立VM就請看先前介紹VM的建置有比較詳細的說明,這裡直接準備好一台有範本網站的VM主機
https://ithelp.ithome.com.tw/upload/images/20181025/20025481LA9utRJX4m.png

沒錯這就是目前這台的網站...嘿嘿/images/emoticon/emoticon07.gif
https://ithelp.ithome.com.tw/upload/images/20181025/200254814SC1IPDnUb.png

RDP進去這台VM做Sysprep一般化然後關機的動作(等等要轉成映像範本檔之用)
https://ithelp.ithome.com.tw/upload/images/20181025/200254817W9L272HQs.png

OK,確認已經自動關機了
https://ithelp.ithome.com.tw/upload/images/20181025/20025481j8D14A8BUO.png

上面有個擷取按鈕,這就是作為映像檔功能之用,轉換為成我是勾選刪除來源VM避免後續移除不乾淨的麻煩
https://ithelp.ithome.com.tw/upload/images/20181025/20025481klyfimpETJ.png

從整個虛擬機清單列表已經沒有此VM了
https://ithelp.ithome.com.tw/upload/images/20181025/20025481HV8xzuCZu9.png

回到映像服務是不是已經有看到剛剛轉過來的image(garywebvmss-20181025)
https://ithelp.ithome.com.tw/upload/images/20181025/20025481NFgEPXepRk.png

材料都準備好了,接下來找到虛擬機擴展集VMSS來新增
https://ithelp.ithome.com.tw/upload/images/20181025/20025481cmP7OLPAOX.png

上述看到的範本就是預設微軟提供的,這基本上沒有太大用處,因為你不會用空的作業系統沒有任何自己已經Ready的程式吧!再來預設都會是會直接建立兩台VM考量高可用,不過因為測試省成本我改為一台
https://ithelp.ithome.com.tw/upload/images/20181025/20025481vfYlXT94oA.png

剛剛image鋪成那麼久就是為了能選到它.../images/emoticon/emoticon24.gif
這表情不是啦!是.....我的網站映像檔啦!想到哪了
https://ithelp.ithome.com.tw/upload/images/20181025/20025481Xs9o5VmyaT.png

這樣就選進來了,規格可以自訂,預設是DS1,我改的更低廉B系列集氣型
https://ithelp.ithome.com.tw/upload/images/20181025/20025481u5VnVQ8PEc.png

把自動擴展打開,CPU超過75%持續5分鐘開始擴增一台,降低至25%持續5分鐘就減少一台(這忘了設定沒關係之後還是可以修改,雖然沒有寫到五分鐘不過最低標準就是這淺規則,還有Max最多會長到幾台預設是10台,我可不想爆表,自行決定)
https://ithelp.ithome.com.tw/upload/images/20181025/20025481CLUVIUCEuV.png

最後前端要綁定負載平衡服務有(應用程式閘道走http or https / 負載平衡TCP)我選擇用負載平衡TCP,實際都可以,只是前者除了網站的負載平衡外還可以同時啟用WAF做保護之用,虛擬網路我這整個系列都在美東故都一致
https://ithelp.ithome.com.tw/upload/images/20181025/20025481XPXLImRtxG.png

VMSS歷程紀錄建立中
https://ithelp.ithome.com.tw/upload/images/20181025/20025481GRaXpGWAdm.png

回到此VMSS本身可以看到顯示狀態為更新中也正在產出第一台VM
https://ithelp.ithome.com.tw/upload/images/20181025/20025481kFnOlP76lT.png

有了透過VMSS已經建立好了限定的第一台網站
https://ithelp.ithome.com.tw/upload/images/20181025/200254810u2FWmWthO.png

到Scaling功能設定能能夠依照條件觸發增多或縮減就是這可以變更修改條件或是再多增加規則都行
https://ithelp.ithome.com.tw/upload/images/20181025/20025481dRLgUdVgWo.png

剛剛有說到VMSS前端會綁負載平衡也看到已經Ready
https://ithelp.ithome.com.tw/upload/images/20181025/20025481PXMzDkVkYI.png

看一下LB對外的Public IP來測試一下網站是否正常
https://ithelp.ithome.com.tw/upload/images/20181025/20025481WyUud06ZCM.png

沒問題的確是OK
https://ithelp.ithome.com.tw/upload/images/20181025/200254816pH7BuQnrj.png

不過我們要觸發同樣要靠方法,來安裝一個模擬負載的小工具,要先RDP連進去(直接3389可是不通的喔)
https://ithelp.ithome.com.tw/upload/images/20181025/200254814UrWDhHW4F.png

因為都透過NAT做Port對應的方式,故對外的RDP Ports是顯示分配的50000
https://ithelp.ithome.com.tw/upload/images/20181025/20025481bTn34dcnc8.png

來直接給他連下去
https://ithelp.ithome.com.tw/upload/images/20181025/20025481SnBp61kYWa.png

有已經進來了並偷偷把炸彈..厄不是,是模擬小工具裝上去
https://ithelp.ithome.com.tw/upload/images/20181025/20025481AiddqmSWuW.png

確認一下目前都沒有負載量CPU趨近於零
https://ithelp.ithome.com.tw/upload/images/20181025/2002548173z2EPpgfB.png

開始啟動,馬上CPU爆表....剩下就是等待觸發嘍!
https://ithelp.ithome.com.tw/upload/images/20181025/20025481uuBEYpoh3i.png

有了!經過一些時間,因為我忘記它的存在了....已經出現擴增至我設定的Max數量
https://ithelp.ithome.com.tw/upload/images/20181025/20025481efu8peTjtE.png

個體數量不是持續超...頂多3嗎!怎麼會是五呢?因為這問題我也問了.....原廠技術說是怕失敗的機制,所以壞了一台還有千千萬萬的我= =.這是哪招是有這麼沒自信...好吧!反正這建立過程是沒有收費就算了
https://ithelp.ithome.com.tw/upload/images/20181025/200254815irM6RxAix.png

OK,已經完成同時有3台網站在Run了
https://ithelp.ithome.com.tw/upload/images/20181025/20025481JqXXP2rzp1.png

確認一下VMSS的個體來看也真的是三台
https://ithelp.ithome.com.tw/upload/images/20181025/20025481eVD4ZOTyZK.png

好了!移除多台怎麼移掉,不是直接砍VM喔!你把模擬工具Stop就會慢慢減量了
https://ithelp.ithome.com.tw/upload/images/20181025/20025481YZDIwqWd56.png

有了!已經剩下一台,移除果然比較快
https://ithelp.ithome.com.tw/upload/images/20181025/20025481Ze4042Mkpj.png

你也可以同時從VMSS的活動紀錄來檢視剛剛的動作
https://ithelp.ithome.com.tw/upload/images/20181025/2002548164fLNNNF8X.png

附帶如果你想針對指定訊息觸發時做主動Alert就在上面的設定規則來做發送,前幾篇有詳細的說明怎麼設定主動警示不熟習可以往前翻閱,當然如果有變更置換image或更新image也可以點到個體選單指定剛剛的VM個體上面就有此按鈕來做更新,不過實際還是需要透過PowerShell來做的....還沒那麼親民的GUI,不過比一年前的好太多了.

OK,今天簡單的示範就到這裡了,希望能有個初步的認知,81


上一篇
計算資源負載爆量只能人工介入嗎?其實自動化 Runbook 可以幫上你
下一篇
跨區用戶分流至最佳地區提供服務並降低應用服務中斷時間,Azure Traffic Management 可以幫上你的忙
系列文
玩轉 Azure 於指尖隨心所欲32

尚未有邦友留言

立即登入留言