在近幾年,人們的購物方式越來越往線上發展,無論是什麼都可以透在網購宅配到家,更別說到了周年慶、特定節日檔期,網購網站、APP流量都是爆滿的狀態,由於這些高流量需求的所需時間通常較為短期,因此為了短時間內的高流量而去準備大量的機器預備,並不是一個好的方法。筆者曾經遇過客戶旗下網站要辦活動但擔心突然的流量超載,因此筆者透過彈性伸縮(Auto scaling)來協助客戶,讓網站可以在後端Server負載過重時自動增加Server來減輕整體網站的負載。Auto scaling可透過用戶設定的各項不同參數或是觸發條件平行增加機器數量,同時也配合檢查功能,自動將故障機器汰換並遞補同樣規格機器進來。
實務操作
- 創建一組彈性伸縮的實例及根據使用者需求連接相關的其他服務。
1.1選擇好擴容的機器類型。
1.2規劃好機器的最大及最小數量還有新增機器後的冷卻時間。
1.3選擇機器間網路類型及伸縮策略。
1.4選擇使用的VPC及對應的vSwitch。
- 選擇彈性伸縮實例來源
2.1根據需求選擇適當的實例規格,同時亦可使用我們前面有提到的Custom Image,這邊選擇Custom Image
2.2選擇需要的Image,日後Auto Scaling在進行增加機器數量時便會套用此設定。
- 創建簡易伸縮規則
3.1選擇Simple Scaling Rule,這邊建立的是相對簡單的規則,直接將機器數量調整至特定數量或是增加、減少台數。
- 創建定時任務or事件觸發任務
4.1這是根據我們先前創建的簡易規則配組一個定時任務,如已知活動時間可透過定時任務,於活動前新增機器。
4.2進階用法,配置一個事件觸發的規則,透過Auto Scaling自帶的監控,來創建一組若CPU使用率>50%則執行增加一台機器的伸縮規則,同時也可因應不同的需求而去執行不同的彈性伸縮規則。
- 創建步進伸縮規則
5.1基於CPU使用率當作指標,指標在50%~70%時增加一台機器,70%~90%增加兩台,90%以上增加三台,透過這樣的方式可以在不同的階段有不一樣的做法,規劃的規則越完善越能協助使用者妥善的擴展機器。
結語
相對於On-Permise環境需預先準備多台機器待機的情況下,在雲端環境上可以透過Auto Scaling的針對不同情況有不一樣的擴容策略,可降低成本,因此具有非常大的優勢,筆者在明天的文章也會繼續介紹Auto Scaling,請各位讀者敬請期待。
*本文由宏庭架構師所撰寫,同步刊登於iThome 鐵人賽專區
.>更多阿里雲相關內容,再且密切追蹤阿里雲架構師專欄