本文為您介紹使用傳統型負載平衡CLB服務前的準備工作。在使用CLB前,您需要根據您的業務確定CLB的監聽類型和網路類型等。
規劃執行個體地區
在選擇地區時,請注意:
- CLB預設不支援跨地區部署,請確保您選擇的地區與ECS執行個體在同一個地區。
例如,ECS執行個體所屬地區為華東1(杭州),您規劃的CLB執行個體地區為華東1(杭州),ECS執行個體和CLB執行個體在同一個地區。
- 為了提供更加穩定可靠的服務,CLB已在大部分地區提供主備可用性區域,實現同地區下的跨機房容災。建議您選擇提供主備可用性區域的地區。
選擇執行個體的網路類型
CLB提供面向公網和私網的負載平衡服務:
- 如果您需要使用負載平衡分發來自公網的請求,請選擇建立公網CLB執行個體。
公網CLB執行個體提供一個公網IP,用來接收來自互連網的請求。
- 如果您需要使用負載平衡分發來自私網的請求,請選擇建立私網CLB執行個體。
私網CLB執行個體僅提供阿里雲私網IP,私網CLB執行個體只能轉寄來自阿里雲內部網路的請求,無法轉寄來自互連網的請求。
選擇執行個體規格
- 如果您的業務量較平穩,建議您選擇按規格計費,執行個體每小時的規格費將按使用者所選規格固定收取。
- 如果您的業務量具有周期性或者波動性較大,建議您選擇按使用量計費,按使用量計費的執行個體效能根據用量自動彈性,且無需指定規格,每小時根據實際使用量收取LCU費。
選擇協議類型
CLB提供基於四層(TCP協議和UDP協議)和七層(HTTP協議和HTTPS協議)的負載平衡:
- 四層監聽將請求直接轉寄給後端伺服器。用戶端請求到達CLB後,CLB根據監聽中配置的後端連接埠修改報文的目的IP和目的連接埠,並將流量轉寄給對應的後端伺服器,用戶端和後端伺服器建立TCP串連。
- 七層監聽原理上是反向 Proxy的一種實現。用戶端請求到達CLB後,CLB與後端伺服器建立TCP串連,即再次通過新TCP串連HTTP協議訪問後端伺服器,而不是直接轉寄報文到後端伺服器。
七層監聽比四層監聽在底層實現上多了一個Tengine處理環節。此外,用戶端連接埠不足、後端伺服器串連過多等情境可能導致七層服務效能不高,如果您對效能有很高的要求,建議您選擇四層監聽。
更多詳細資料,參見協議說明。
準備後端伺服器
在使用負載平衡服務前,您需要建立ECS執行個體並部署相關應用,然後將ECS執行個體添加到Server Load Balancer執行個體中來處理轉寄的用戶端請求。
建立和部署ECS時,請注意:
- 確保ECS執行個體的地區和CLB執行個體的地區相同,並且ECS執行個體與CLB執行個體屬於同一個VPC。此外,建議您將ECS部署在不同的可用性區域內,提高可用性。建立ECS執行個體,請參見自訂購買執行個體。
本樣本中分別在華東1地區的建立了兩個ECS執行個體,為了便於辨識,將執行個體分別命名為ECS01和ECS02。
- 您需要在ECS中部署好應用。 本樣本中分別在ECS01和ECS02兩個執行個體上使用Apache搭建了兩個靜態網頁,如下圖所示。
- 在瀏覽器中輸入ECS01執行個體綁定的Elastic IP Address地址:
- 在瀏覽器中輸入ECS02執行個體綁定的Elastic IP Address地址:
在ECS上部署好應用後,不需要再進行特別的配置。但如果您要配置一個四層監聽(TCP協議或UDP協議),並且ECS使用的是Linux系統,請進行以下操作:- 登入ECS執行個體,執行
grep rp_filter /etc/sysctl.conf
命令,確保/etc/sysctl.conf這個設定檔下ECS執行個體中以下兩個參數的值為零:net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.all.rp_filter = 0
- 在/etc/sysctl.d/目錄下單獨添加檔案,例如添加的設定檔為/etc/sysctl.d/90-net-common.conf,根據ECS實際連接埠情況,在該設定檔中放置以下參數:
net.ipv4.conf.eth0.rp_filter = 0
- 檔案添加完成後,執行
sysctl -p
命令使配置生效。