無業務不伸縮之二,雲監控搭配SLB及ESS(進階篇)
雲端計算ESS彈性伸縮課程
無業務不伸縮之二,雲監控搭配SLB及ESS(進階篇)
連載雲端計算文章主題
後續的連載如下
1、 無業務不伸縮之一,雲端計算有ESS
2、 無業務不伸縮之二,雲監控搭配SLB及ESS
3、無互動不加速,雲端計算有CDN
4、無對像不儲存,雲端計算有OSS
5、無檔案不儲存,雲端計算有”檔案儲存”
6、淺談彈性IP的運用
這些文章將會在接下來的一段時間向各位一一呈現出,本期第二篇“無業務不伸縮之二,雲監控搭配SLB及ESS
”
進入主題。第二篇:無業務不伸縮之二,雲監控搭配SLB及ESS
前言
親們!又見面了這次我們接著上一講繼續聊一聊ESS的高階應用吧,在上一期我們演示的是基於“定時模式”的ECS伸縮規則這雖然在短時間內達到了我們的預期業務量也在眾目睽睽中有所上升但是好像還不太行啊!它更適合在固定時間預算好的場景,對於隨時可能突發的業務增長還是顯的力不從心啊,不急,接下來我會為兄弟們來點乾貨的,那就是利用雲監控加SLB搭配ECS做自動伸縮這麼一個操作用咱行內話來講叫做“動態模式”它是基於雲監控獲取到的效能指標(如 CPU 利用率),來自動增加或減少 ECS 例項的,它在爆發式業務增長環境下特別重要從2018年央視春晚租用了1000+臺雲伺服器來提供微信互動業務的例子我們可以看出該技術的重要程度了。
開場秀SLB
SLB(負載均衡)通俗一點我們這麼理解吧“當某樣事件達到一定負荷時然後載入一種可以均衡這種負荷的技術”,有學過Cisco的同學嗎?不錯,你們想起來什麼了嗎?對的!在Cisco網路技術中我們也同樣有這樣的技術叫GLBP它同樣是以輪詢和權重兩種方式來進行負載均衡的。
那麼輪詢是怎麼工作的呢打個比方吧我們在SLB叢集中有“A伺服器”和“B伺服器”它們的業務相同,當A在提供服務的同時又有外線進來了,這個時候SLB會詢問A和B你們誰須要服務啊!A回答我忙著呢,這時B回答我閒著呢把服務給我唄!,就這樣一論一論的詢問唄。那麼權重又是怎麼工作的呢?它例似主備關係,比如A權重為100、B權重為50,所有的業務流量都由A來負責只有當A累暈了倒下住院了B才會來接管A的工作。在實際的專案中我們一般在前端部署SLB(同時用輪詢加權重),後端掛載N臺ECS,然後再搭配一個ESS同時用雲監控來管理,這樣就完美了,管它什麼訪問量有種儘管來造吧,嘿嘿!
請看下圖:這是雲監控和ESS的一個簡易工作流程,手頭上工具不精良啊各位看官湊合看吧。
那麼好,我們一般在什麼情況下使用SLB+雲監控+ESS呢,上次我們說了如果在傳統IDC模式下遇到爆發式業務增長然後再手動去新增伺服器那我們就等著關門大吉吧,同樣啊,如果我們是自建電商、金融、通迅等一些線上做買賣的公司則必須要搞這一套服務要不然還是不太妙啊,呵呵!因為我們不知道什麼時候會達到業務峰值或許就是下一秒,如果等達到了業務峰值再去做調整好像就有點晚了吧!正所謂“未雨綢繆”啊,千萬不要等到“亡羊補牢”那就真的晚了。
Come on直接實操吧
實操都是基於真實的實驗環境的啊,是要實驗幣的!我還是蠻心疼的但是能怎麼辦呢?誰讓我承諾要寫個連載的呢。
首先呢,我們在控制面板找到“產品與服務”然後在左側找到“雲伺服器ECS”在這裡我們已經提前搭建了網站環境,現在我們需要做的是給這個網站伺服器做一個映象檔案給ESS去呼叫,在控制面板中點選例項然後找到管理並進入。
在管理頁面中我們選擇“本例項磁碟”在右側我們可以看到有個“建立快照”的選項,我們點選進去。其實我們可以跳過建立快照直接可以建立映象檔案的。
在彈出的建立快照對話方塊中輸入快照名稱這裡為WEB_P並點選確定進行建立。
來到本例項快照中,我們可以看到快照狀態為100%接著我們選擇建立自定義映象。
在彈出的建立自定義映象對話方塊中輸入映象名WEB_LAB,點選建立完成。接下來我們來到ECS的映象選項中可以看到整個映象成功完成。
到此為上ECS的準備工作結束了,接下來我們再進行一個ESS(彈性伸縮)服務的配置和部署,這也是比較關鍵的一步吧,沒有ESS一切前面和接下來做的都是扯蛋!來吧我們配置起來,說實話寫這個圖文心得我也挺累的要不斷的截圖要不然怎麼辦呢?好了不廢話了!
我們還是一慣的作風,不管找什麼都得是從控制面板進去,我們來到彈性伸縮服務頁面找到右側的“建立伸縮組“在彈出的對話方塊中輸入組名ESS_GROUP、最大例項數4、最小例項數1、網路型別選擇專有網路、負載均衡暫不填在後面會講到,點選確定按鈕此時會彈出個框子問你是否建立伸縮配置我們選擇建立。
在這裡我們需要選擇的是ESS所用的伺服器配置,演示關係我這裡選擇按量付費、一核一G的共享基本型主機,映象檔案選擇自定義映象在下拉框中找到我們之前建立的WEB_LAB映象檔案。然後依然下一步在最後要求輸入伸縮配置名完成配置在此我們輸入ESS_CONFIG並確定,在彈出的框中選擇啟用配置,完成!
Now,來到ESS的ECS例項例表中,選擇新增已有例項、在手工新增ECS例項中將未新增的例項移到右側並確定,因為在之後ESS進行伸縮的時候也是以這個例項為模版的。
接下來我們來到ESS伸縮規則中並新建一個以ESS_RULE為名的規則,規則為調整至5臺,也就是說當觸發監控條件時會自動將伺服器由原來的一臺調到五臺以滿足業務需求。
當然了光有規則還是不行的我們要建立一個監控的條件雲執行才對,上期我們講了定時模式,這次我們就用報警任務來執行吧,同樣新建一個名為ALARM_TASK的任務,任務內容為監控ESS_GROUP以每分鐘的頻率來統計CPU的效能,當CPU達到40%的時候觸發警報規則ESS_RULE並執行。
現在ECS有了、ESS有了監控任務等也做好了,好像還差個什麼吧!對了想起來了SLB還沒有配置呢,趕緊的吧!狂了一圈我們來到SLB控制檯在例項管理的詳情中可以看到還沒有新增什麼監聽規則,現在我們來新增一下吧,點選新增監聽選擇HTTP協議、監聽埠80。
接著來到後端伺服器配置,選擇預設伺服器組、新增有EIP公網的那臺例項並確定,埠80其它預設、健康檢查開啟一路Next,跟著我圖中標示的圈圈走沒錯的!
哦,對了!有一項工作忘記了沒有完成呢,我們回到ESS伸縮組管理中,選擇紅圈圈中的修改選項,在負載均衡中選擇上我們剛才新增的SLB後端伺服器,這也是為什麼我放在後面說的原因,因為一開始SLB沒有建立也自然也沒法選擇了。
好了寫到這邊也差不多接近尾聲了,我容易嘛,哎!兩臂痠痛無力從來沒有一次性的寫過這麼多字,也從來沒有寫過文章。這些重要嗎?不重要!一切隨心而為罷了!好了接下來我們就要對伺服器做個壓力測試模擬大流量使用者訪問伺服器來觸發報警任務由此來驗證我們的所有配置是否正常。首先我用SSH登陸伺服器安裝雲監控的AGENT,然後用STRESS工具進行測試,來吧,看圖!
壓力測試正在持續進行,過一分鐘後我們來到ESS、SLB、ECS當中檢視它們的各自狀態,好了一分鐘到了…我們看這四張圖第一張ESS報警任務中狀態由原來的正常變成紅色報警了、接著來到ECS概覽發現伺服器由原來的一臺變成四臺在運行了,再到例項中看一下多出三臺以ESS-開頭的伺服器這是由彈性伸縮規則生產出來的、最後我們到負載均衡例項中檢視一下同樣也多出三臺以ESS-為字首的伺服器,由此證明以上一切配置正確並達到預期效果,本課程也到此結束,謝謝大家!
總結
本篇“彈性伸縮課程到此為止”在本篇文章中我們接著上一章做了更加深入的應用,但是應用遠遠不止於此大家可以發揮各自的想象力利用學到的技術互相配合相信在無限的想象力下會產生更多的化學效應,正所謂雲端計算有1024種玩法,看你嘍!
總結如下:
1.ECS映象的建立可以放在第一步來做,SLB可以放第二步做,ESS放最後來做,這並不是唯一做法只是我覺的針對新手會比較好點,熟悉之後你可以隨便什麼先後都沒有問題。
2.ESS可以很好的保障因突發性訪問所產生的伺服器壓力過大問題。
3.ESS具有通俗的使用特點,不需要有過多的操作技術簡單實用。
4.ESS結合SLB、雲監控、更加完美的,並自動化的為業務保駕護航。
特別緻謝
在此我特別感謝我在阿里雲大學雲學院的“閆笑”導師,他是一位認真、負責的老師無論是在答疑的時間內還是答疑時間外都能夠及時的為我們解惑。感謝他在我們做畢業設計的過程中給予諸多的幫助,感謝他在白天忙於工作而在夜裡十二點還不顧疲勞在為我們大家的修改論文(有圖為證),謝謝!