iT邦幫忙

2021 iThome 鐵人賽

DAY 8
0
DevOps

AWS Solution Architect Associate的鐵人不只三項證照之路系列 第 8

Day 08 - 網站大流量也不卡? Elastic Load Balancer (ELB) & Auto Scaling

不知道大家有沒有經歷過網站卡卡的情況,尤其是搶車票或搶預約疫苗的時候,網站總是因為流量大,而瞬間卡住。有沒有什麼雲端服務可以克服或者緩和這樣的問題呢?今天我們一起來看看

ELB and Auto-Scaling的應用價值

ELB和Auto-Scaling服務,可確保我們服務不至於因為突發性的外在流量大量進入,而導致服務中斷。

ELB運作機制

ELD的運作包含以下幾個特點:
HTTP Health-check: 以http機制存取EC2來確認EC2機器的運作狀態。
SSL Negotiation: 如果今天進來的流量被加密,SSL Negotiation可以協助流量解密。
Sticky Session: 如果系統的設計框架不是stateless,使用者存取系統的相關資訊、紀錄被留置在特定機器上面,sticky session可以確保使用者下次要求進入系統時,其流量可以對應到cached的機器上,也就是帶有使用者之前存取紀錄的機器。
ELB Access Log: 用來監控外在流量如何存取ELB。

ELB的種類:
1. Classic Load Balancer
2. Network Load Balancer: 根據TCP來分配流量。
3. Application Load Balancer: 將流量分配至同一台機器上的多組port。這一套服務是針對micro service所提供的設計,例如現在常見的container service,容器服務。

Auto Scaling 運作機制

當外在流量變大時,我們需要多開幾台機器來去應對。但什麼情境之下要開機器?以及要開什麼樣的機器呢?Auto Scaling提供我們機器啟動的機制和規格設定(Launch Configuration/Template)

  • Scaling Policy(機器啟動機制,或是看成開完機器後,我們想達成的目標)
  1. Number of Instances: 這個policy僅要求服務永遠都有最小數量的機器在運作。
  2. Schedule: 在特定時段去調整機器數量。例如系統的尖峰時段,可以增加機器;或者像是疫苗預約系統,我們知道明天下午要開放預約,就可以設定開放預約時間前,多增加幾台機器。
  3. Perfomance: 確保CPU效能總是在某個門檻值之上,如80%。
    • Simple Scaling
    • Step Scaling
    • Target Tracking Scaling
  • Launch Template(開機器規格): 什麼樣的機器規格我們想要來做擴充使用,像是機器Ram要多大、容量要多少以及幾顆CPU等。
  • Auto Scaling Group: 這個詞表示同一個group下,所有的機器會遵循相同的policy來調節機器用量。


上一篇
Day 07 - 導流專家Route 53
下一篇
Day 09 - 雲端監控幫手CloudWatch與Cloud Trail
系列文
AWS Solution Architect Associate的鐵人不只三項證照之路30

尚未有邦友留言

立即登入留言