EC2 Load Balancer 的負載平衡架構

(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秒

參考

Elastic Load Balancing (ELB) 笔记

用AWS架構來架設高流量WordPress網站