(EC2) Load Balancer 是什麼?
Amazon Elastic Compute Cloud (EC2) Load Balancer是一種服務,它可以將流量分散到多個EC2實例上。它可以根據各種指標(例如負載、延遲和錯誤率)動態地調整流量。負載平衡器使用兩種主要架構來實現負載平衡:負載平衡器和負載平衡器。
我們也可以在和Auto Scaling Group (ASG) 和 配合使用,Auto Scaling Group (ASG) 是 Amazon Elastic Compute Cloud (EC2) 的一項服務,它可以自動增加或減少 EC2 實例的數量,以應付負載的變化。ASG 監控應用程式的負載,並根據預先設定的條件 (例如 CPU 使用率) 增加或減少實例的數量,實現自動化的流量管理和資源使用,並確保應用程式能夠在需要時獲得足夠的資源,並在不需要時節省成本。
架構圖
1. 首先利用 EC2 Instance 的 Image (AMI) 工具複製Instance
2.建立一對二的負載平衡器
選擇HTTPS的話需要Default SSL/TLS certificate
Installing SSL Certificate on Amazon Web Services (AWS)
把剛剛的證書案右鍵用文字檔打開後複製貼上去
3.把剛剛創的負載平衡器的dns名加到cname
可以查自己網站dns的線上工具mxtoolbox
4.在 Loader.IO申請認證
添加主機時會需要認證,首先把驗證令牌放在一個文件中並用FTP 或 SCP 工具傳到EC2的網頁目錄(看NGINX設定檔內root的是路徑設在哪裡)
確保NGINX配置正確,在設定檔加上這一行,使Loader.IO令牌可通過驗證
location 驗證令牌名.txt {
alias NGINX設定檔內root的是路徑/驗證令牌名.txt;
}
重新啟動nginx
sudo service nginx restart
通過驗證後就可測試
測試
以下的測試環境是還沒用EC2 Load Balancer
500個使用者在15秒內發出請求(共7500個請求)
沒用EC2 Load Balancer狀況下是7500個請內有3801個成功,
響應時間是13ms = 0.013秒
Register targets
有用EC2 Load Balancer狀況下是7500個請內有4097個成功,
響應時間是4ms = 0.004秒