在近幾年,人們的購物方式越來越往線上發展,無論是什麼都可以透在網購宅配到家,更別說到了周年慶、特定節日檔期,網購網站、APP流量都是爆滿的狀態,由於這些高流量需求的所需時間通常較為短期,因此為了短時間內的高流量而去準備大量的機器預備,並不是一個好的方法。筆者曾經遇過客戶旗下網站要辦活動但擔心突然的流量超載,因此筆者透過彈性伸縮(Auto scaling)來協助客戶,讓網站可以在後端Server負載過重時自動增加Server來減輕整體網站的負載。Auto scaling可透過用戶設定的各項不同參數或是觸發條件平行增加機器數量,同時也配合檢查功能,自動將故障機器汰換並遞補同樣規格機器進來。

實務操作

  1. 創建一組彈性伸縮的實例及根據使用者需求連接相關的其他服務。
    1.1選擇好擴容的機器類型。
    1.2規劃好機器的最大及最小數量還有新增機器後的冷卻時間。
    1.3選擇機器間網路類型及伸縮策略。
    1.4選擇使用的VPC及對應的vSwitch。
創建一組彈性伸縮的實例及根據使用者需求連接相關的其他服務
1.1選擇好擴容的機器類型
1.2規劃好機器的最大及最小數量還有新增機器後的冷卻時間
1.3選擇機器間網路類型及伸縮策略
1.4選擇使用的VPC及對應的vSwitch
創建一組彈性伸縮的實例及根據使用者需求連接相關的其他服務
1.1選擇好擴容的機器類型
1.2規劃好機器的最大及最小數量還有新增機器後的冷卻時間
1.3選擇機器間網路類型及伸縮策略
1.4選擇使用的VPC及對應的vSwitch
創建一組彈性伸縮的實例及根據使用者需求連接相關的其他服務
1.1選擇好擴容的機器類型
1.2規劃好機器的最大及最小數量還有新增機器後的冷卻時間
1.3選擇機器間網路類型及伸縮策略
1.4選擇使用的VPC及對應的vSwitch
  1. 選擇彈性伸縮實例來源
    2.1根據需求選擇適當的實例規格,同時亦可使用我們前面有提到的Custom Image,這邊選擇Custom Image
    2.2選擇需要的Image,日後Auto Scaling在進行增加機器數量時便會套用此設定。
選擇彈性伸縮實例來源
2.1根據需求選擇適當的實例規格,同時亦可使用我們前面有提到的Custom Image,這邊選擇Custom Image
2.2選擇需要的Image,日後Auto Scaling在進行增加機器數量時便會套用此設定。
  1. 創建簡易伸縮規則
    3.1選擇Simple Scaling Rule,這邊建立的是相對簡單的規則,直接將機器數量調整至特定數量或是增加、減少台數。
創建簡易伸縮規則
3.1選擇Simple Scaling Rule,這邊建立的是相對簡單的規則,直接將機器數量調整至特定數量或是增加、減少台數。
  1. 創建定時任務or事件觸發任務
    4.1這是根據我們先前創建的簡易規則配組一個定時任務,如已知活動時間可透過定時任務,於活動前新增機器。
創建定時任務or事件觸發任務
4.1這是根據我們先前創建的簡易規則配組一個定時任務,如已知活動時間可透過定時任務,於活動前新增機器。

4.2進階用法,配置一個事件觸發的規則,透過Auto Scaling自帶的監控,來創建一組若CPU使用率>50%則執行增加一台機器的伸縮規則,同時也可因應不同的需求而去執行不同的彈性伸縮規則。

4.2進階用法,配置一個事件觸發的規則,透過Auto Scaling自帶的監控,來創建一組若CPU使用率>50%則執行增加一台機器的伸縮規則,同時也可因應不同的需求而去執行不同的彈性伸縮規則。
  1. 創建步進伸縮規則
    5.1基於CPU使用率當作指標,指標在50%~70%時增加一台機器,70%~90%增加兩台,90%以上增加三台,透過這樣的方式可以在不同的階段有不一樣的做法,規劃的規則越完善越能協助使用者妥善的擴展機器。
創建步進伸縮規則
5.1基於CPU使用率當作指標,指標在50%~70%時增加一台機器,70%~90%增加兩台,90%以上增加三台,透過這樣的方式可以在不同的階段有不一樣的做法,規劃的規則越完善越能協助使用者妥善的擴展機器。

結語

相對於On-Permise環境需預先準備多台機器待機的情況下,在雲端環境上可以透過Auto Scaling的針對不同情況有不一樣的擴容策略,可降低成本,因此具有非常大的優勢,筆者在明天的文章也會繼續介紹Auto Scaling,請各位讀者敬請期待。

*本文由宏庭架構師所撰寫,同步刊登於iThome 鐵人賽專區

.>更多阿里雲相關內容,再且密切追蹤阿里雲架構師專欄


Reference

Auto Scaling的介紹