全部產品
Search
文件中心

Server Load Balancer:準備工作

更新時間:Feb 28, 2024

本文為您介紹使用傳統型負載平衡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地址: ECS01
    • 在瀏覽器中輸入ECS02執行個體綁定的Elastic IP Address地址: ECS02
    在ECS上部署好應用後,不需要再進行特別的配置。但如果您要配置一個四層監聽(TCP協議或UDP協議),並且ECS使用的是Linux系統,請進行以下操作:
    1. 登入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
    2. /etc/sysctl.d/目錄下單獨添加檔案,例如添加的設定檔為/etc/sysctl.d/90-net-common.conf,根據ECS實際連接埠情況,在該設定檔中放置以下參數:
      net.ipv4.conf.eth0.rp_filter = 0
    3. 檔案添加完成後,執行sysctl -p命令使配置生效。