本文為您介紹使用傳統型負載均衡CLB服務前的準備工作。在使用CLB前,您需要根據您的業務確定CLB的監聽類型和網絡類型等。
規劃實例地域
在選擇地域時,請注意:
CLB默認不支持跨地域部署,請確保您選擇的地域與ECS實例在同一個地域。
例如,ECS實例所屬地域為華東1(杭州),您規劃的CLB實例地域為華東1(杭州),ECS實例和CLB實例在同一個地域。
為了提供更加穩定可靠的服務,CLB已在大部分地域提供主備可用區,實現同地域下的跨機房容災。建議您選擇提供主備可用區的地域。
選擇實例的網絡類型
CLB提供面向公網和私網的負載均衡服務:
如果您需要使用負載均衡分發來自公網的請求,請選擇創建公網CLB實例。
公網CLB實例提供一個公網IP,用來接收來自互聯網的請求。
對于公網CLB實例,您還需要選擇實例的計費方式:
按流量計費:適用于波峰波谷效應明顯的業務。
按帶寬計費:適用于帶寬較為平穩的業務。
如果您需要使用負載均衡分發來自私網的請求,請選擇創建私網CLB實例。
私網CLB實例僅提供阿里云私網IP,私網CLB實例只能轉發來自阿里云內部網絡的請求,無法轉發來自互聯網的請求。
選擇實例計費類型
CLB默認采用按量付費,按量付費又分為按規格計費和按使用量計費。
如果您的業務量較平穩,建議您選擇按規格計費,實例每小時的規格費將按用戶所選規格固定收取。
如果您的業務量具有周期性或者波動性較大,建議您選擇按使用量計費,按使用量計費的實例性能根據用量自動彈性,且無需指定規格,每小時根據實際使用量收取LCU費。
選擇協議類型
CLB提供基于四層(TCP協議和UDP協議)和七層(HTTP協議和HTTPS協議)的負載均衡:
四層監聽將請求直接轉發給后端服務器。客戶端請求到達CLB后,CLB根據監聽中配置的后端端口修改報文的目的IP和目的端口,并將流量轉發給對應的后端服務器,客戶端和后端服務器建立TCP連接。
七層監聽原理上是反向代理的一種實現。客戶端請求到達CLB后,CLB與后端服務器建立TCP連接,即再次通過新TCP連接HTTP協議訪問后端服務器,而不是直接轉發報文到后端服務器。
七層監聽比四層監聽在底層實現上多了一個Tengine處理環節。此外,客戶端端口不足、后端服務器連接過多等場景可能導致七層服務性能不高,如果您對性能有很高的要求,建議您選擇四層監聽。
更多詳細信息,參見協議說明。
準備后端服務器
在使用負載均衡服務前,您需要創建ECS實例并部署相關應用,然后將ECS實例添加到負載均衡實例中來處理轉發的客戶端請求。
創建和部署ECS時,請注意:
確保ECS實例的地域和CLB實例的地域相同,并且ECS實例與CLB實例屬于同一個VPC。此外,建議您將ECS部署在不同的可用區內,提高可用性。創建ECS實例,請參見自定義購買實例。
本示例中分別在華東1地域的創建了兩個ECS實例,為了便于辨識,將實例分別命名為ECS01和ECS02。
您需要在ECS中部署好應用。
本示例中分別在ECS01和ECS02兩個實例上使用Apache搭建了兩個靜態網頁,如下圖所示。
在瀏覽器中輸入ECS01實例綁定的彈性公網IP地址:
在瀏覽器中輸入ECS02實例綁定的彈性公網IP地址:
在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
命令使配置生效。