全部產品
Search
文件中心

Server Load Balancer:建立和管理伺服器組

更新時間:Nov 30, 2024

當您需要利用應用型負載平衡ALB服務有效分配用戶端負載,實現可靠的請求分發時,您必須建立伺服器組並至少添加一台後端伺服器來接收ALB轉寄的用戶端請求。預設情況下,ALB使用您為伺服器組指定的連接埠和協議將請求發送到對應的後端伺服器。

前提條件

  • 在向伺服器組添加Elastic Compute Service(Elastic Compute Service)執行個體前,確保您已建立了ECS執行個體並部署了相關應用,用來接收轉寄的請求。

  • 如果需要將流量路由到伺服器組中的後端伺服器,請在建立監聽時指定伺服器組。更多資訊,請參見添加HTTP監聽添加HTTPS監聽添加QUIC監聽

  • (可選)當您需要使用開啟IPv6掛載功能時,您需要為Virtual Private Cloud(Virtual Private Cloud)開通IPv6網段。具體操作,請參見VPC開通IPv6

建立伺服器組

  1. 登入應用型負載平衡ALB控制台
  2. 在頂部功能表列處,選擇後端伺服器組所屬的地區。

  3. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  4. 伺服器組頁面,單擊建立伺服器組

  5. 建立伺服器組對話方塊,完成以下配置,然後單擊建立

  6. 配置

    說明

    伺服器群組類型

    選擇一種伺服器群組類型:

    • 伺服器類型:按照ECS執行個體添加後端伺服器。

    • IP類型:按照IP地址添加後端伺服器。

    • Function Compute類型:按照函數形式添加後端伺服器。

    伺服器組名稱

    輸入自訂伺服器組名稱。

    VPC

    從VPC下拉式清單中選擇一個VPC,只有該VPC下的伺服器可以加入到該伺服器組。

    說明

    Function Compute類型的伺服器組無需配置該參數。

    選擇後端協議

    選擇一種後端協議:

    • HTTP(預設):關聯HTTPS、HTTP和QUIC監聽。

    • HTTPS:關聯HTTPS監聽。

    • gRPC:關聯HTTPS監聽。

    說明
    • 基礎版ALB執行個體的HTTPS監聽僅支援選擇後端協議是HTTP和gRPC的伺服器組。

    • Function Compute類型的伺服器組無需配置該參數。

    選擇調度演算法

    選擇一種調度演算法:

    • 加權輪詢:權重值越高的後端伺服器,被輪詢到的次數(機率)也越高。

    • 加權最小串連數:除了根據每台後端伺服器設定的權重值來進行輪詢,同時還考慮後端伺服器的實際負載(即串連數)。當權重值相同時,當前串連數越小的後端伺服器被輪詢到的次數(機率)也越高。

    • 一致性雜湊:相同的源地址會調度到相同的後端伺服器。

      選擇雜湊因子:選擇一種雜湊因子。

      • 源IP:相同的源IP地址會調度到相同的後端伺服器。

      • URL參數:相同的URL參數會調度到相同的後端伺服器。請輸入指定URL參數

    說明

    Function Compute類型的伺服器組無需配置該參數。

    開啟IPv6掛載

    選擇是否開啟IPv6掛載功能。預設不開啟。

    • 選擇開啟IPv6掛載功能後,伺服器組支援掛載IPv4、IPv6類型的後端伺服器,且伺服器群組類型可以選擇伺服器類型。

    • 不開啟IPv6掛載功能時,伺服器組僅支援掛載IPv4類型的後端伺服器,且伺服器群組類型可以選擇伺服器類型、IP類型、Function Compute類型。

    說明
    • 當伺服器組選擇的VPC未開啟IPv6功能時,不支援開啟IPv6掛載功能。

    • IP類型和Function Compute類型的伺服器組無需配置該參數。

    • IPv4類型的ALB執行個體在建立監聽時,無法添加開啟了IPv6掛載功能的伺服器組。

    開啟會話保持

    選擇是否開啟會話保持,預設關閉。

    開啟會話保持功能,ALB會把來自同一用戶端的訪問請求分發到同一台後端伺服器上進行處理。

    • Cookie處理方式選擇一種Cookie處理方式:

      • 植入Cookie:用戶端第一次訪問時,ALB會在返回請求中植入Cookie(即在HTTP或HTTPS響應報文中插入SERVERID),下次用戶端攜帶此Cookie訪問,ALB會將請求定向轉寄給之前記錄到的後端伺服器上。

      • 重寫CookieALB發現使用者自訂了Cookie,將會對原來的Cookie進行重寫,下次用戶端攜帶新的Cookie訪問,ALB會將請求定向轉寄給之前記錄到的後端伺服器。

    • 會話保持逾時時間:輸入會話保持的逾時時間,取值範圍為1~86400秒。

    說明

    Function Compute類型的伺服器組無需配置該參數。

    開啟跨AZ負載平衡

    選擇是否開啟跨AZ負載平衡,預設開啟。ALB在同地區跨可用性區域的後端服務之間分配流量。

    關閉跨AZ負載平衡時,ALB在同地區同可用性區域的後端服務之間分配流量。

    說明
    • 僅標準版、WAF增強版ALB執行個體支援關閉跨AZ負載平衡,基礎版ALB不支援。

    • 關閉跨AZ負載平衡時,不支援開啟會話保持

    • 開啟遠端IP的IP類型伺服器組,不支援關閉跨AZ負載平衡。

    • Function Compute類型的伺服器組無需配置該參數。

    開啟後端長串連

    選擇是否開啟後端長串連,預設開啟。

    開啟後端長串連,ALB到後端伺服器之間會維持一定數量的TCP長串連,當新請求到達時,如果有閒置TCP長串連,ALB優先使用TCP長串連轉寄請求到後端伺服器,從而減少TCP握手建連次數,減輕後端伺服器壓力。

    說明

    Function Compute類型的伺服器組無需配置該參數。

    開啟慢啟動

    選擇是否開啟慢啟動,預設關閉。

    開啟慢啟動後,您需要設定慢啟動期間。取值範圍:30~900秒,預設值為30秒。

    當開啟慢啟動時,ALB的請求緩慢增加至伺服器組內新增的後端伺服器,緩解後端伺服器在資源準備、緩衝預熱等情境下,面臨的突增流量壓力。當配置的慢啟動期間結束後,ALB向後端伺服器發送完整的請求份額,此後本次添加的後端伺服器退出慢啟動模式。

    說明
    • 僅標準版和WAF增強版的ALB執行個體支援慢啟動,基礎版ALB執行個體不支援。

    • Function Compute類型的伺服器組無需配置該參數。

    • 僅當選擇調度演算法加權輪詢演算法時,伺服器組支援開啟慢啟動。

    • 當您為伺服器組開啟慢啟動後,伺服器組內健全狀態檢查正常的後端伺服器不會自動進入慢啟動模式。

    • 當您為空白的伺服器組開啟慢啟動:

      • 首次添加的後端伺服器不會進入慢啟動模式。

      • 僅當至少有一個健全狀態檢查正常的後端伺服器未處於慢啟動狀態時,新添加的後端伺服器才會進入慢啟動模式。

    • 如果您在慢啟動模式下刪除後端伺服器,該後端伺服器將退出慢啟動模式。如果您再次添加同一後端,則當伺服器組認為該後端伺服器健全狀態檢查正常時,進入慢啟動模式。

    • 如果處於慢啟動模式的後端伺服器健全狀態檢查異常,則該後端伺服器退出慢啟動模式。當後端伺服器健全狀態檢查正常時,該伺服器將再次進入慢啟動模式。

    • 當開啟慢啟動後,在健全狀態檢查開啟時,後端伺服器健全狀態檢查正常後慢啟動生效;在健全狀態檢查關閉時,慢啟動立即生效。

    開啟串連優雅中斷

    選擇是否開啟串連優雅中斷,預設關閉。

    開啟串連優雅中斷後,您需要設定串連優雅中斷逾時時間。取值範圍:0~900秒,0表示立即中斷,預設值:300秒。

    當移除後端伺服器或者後端伺服器健全狀態檢查異常時:

    • 預設關閉串連優雅中斷。現有串連不會主動中斷,只有在用戶端主動中斷連線或長串連會話到期時,存量串連才會中斷。

    • 開啟串連優雅中斷,會使現有串連在一定時間內正常傳輸,到達停機時間後主動中斷連線,保障業務平穩下線。

    說明
    • 僅標準版和WAF增強版的ALB執行個體支援串連優雅中斷,基礎版ALB執行個體不支援。

    • Function Compute類型的伺服器組無需配置該參數。

    選擇資源群組

    選擇雲資源歸屬的資源群組。

    標籤

    設定標籤鍵標籤值

    開啟健全狀態檢查

    開啟或關閉健全狀態檢查。

    健全狀態檢查配置

    開啟健全狀態檢查後您可以單擊健全狀態檢查配置右側的編輯展開更多配置。

    選擇並載入健全狀態檢查

    選擇並載入一個健全狀態檢查。

    說明
    • 您可以建立健全狀態檢查,不與伺服器組及監聽關聯,方便下次複用。

    • 一個後端伺服器只支援配置一個健全狀態檢查。

    健全狀態檢查協議

    選擇健全狀態檢查協議類型。HTTPS健全狀態檢查協議的使用限制,請參見HTTPS健全狀態檢查使用限制

    • HTTP:通過發送HEAD或GET請求類比瀏覽器的訪問行為來檢查伺服器應用是否健康。

    • HTTPS:通過發送HEAD或GET請求類比瀏覽器的訪問行為來檢查伺服器應用是否健康。相關限制,請參見HTTPS健全狀態檢查使用限制

    • TCP:通過發送SYN握手報文來檢測伺服器連接埠是否存活。

    • GRPC:通過發送POST或GET請求來檢查伺服器應用是否健康。

    健全狀態檢查方法

    選擇一種健全狀態檢查方法。

    • HEAD:HTTP監聽健全狀態檢查預設採用HEAD方法。請確保您的後端伺服器支援HEAD請求。如果您的後端應用伺服器不支援HEAD方法或HEAD方法被禁用,則可能會出現健全狀態檢查失敗,此時可以使用GET方法來進行健全狀態檢查。

    • POST:gRPC監聽健全狀態檢查預設採用POST方法。請確保您的後端伺服器支援POST請求。如果您的後端應用伺服器不支援POST方法或POST方法被禁用,則可能會出現健全狀態檢查失敗,此時可以使用GET方法來進行健全狀態檢查。

    • GET:如果響應報文長度超過8K,會被截斷,但不會影響健全狀態檢查結果的判定。

    說明
    • 此參數僅在健全狀態檢查協議為HTTPHTTPSGRPC時生效。

    • HTTPHTTPS健全狀態檢查協議,支援選擇HEADGET健全狀態檢查方法。GRPC健全狀態檢查協議,支援選擇POSTGET健全狀態檢查方法。

    健全狀態檢查協議版本

    選擇一個HTTP協議版本:HTTP 1.0HTTP 1.1

    說明

    此參數僅在健全狀態檢查協議為HTTPHTTPS時生效。

    健全狀態檢查連接埠

    選擇健全狀態檢查服務訪問後端時的探測連接埠。

    • 後端伺服器組連接埠:預設使用後端伺服器的連接埠進行健全狀態檢查。

    • 指定特定連接埠:指定一個特定的連接埠進行健全狀態檢查。取值範圍為1~65535。

    健全狀態檢查路徑

    輸入健全狀態檢查頁面的URL。長度限制為1~80個字元,支援使用字母、數字和短劃線(-)、正斜線(/)、半形句號(.)、百分比符號(%)、半形問號(?)、井號(#)和and(&)以及擴充字元集_;~!()*[]@$^:',+。URL必須以正斜線(/)開頭。

    健全狀態檢查網域名稱

    輸入健全狀態檢查的網域名稱。

    • 使用後端伺服器的內網IP(預設):使用後端伺服器的內網IP地址作為健全狀態檢查的網域名稱。

    • 指定特定網域名稱:輸入一個網域名稱。長度為1~80個字元,只能使用小寫字母、數字、半形句號(.)和短劃線(-)。網域名稱中至少包含一個半形句號(.)。半形句號(.)不能出現在開頭或結尾。

    健康狀態返回碼

    選擇健全狀態檢查正常的狀態代碼。

    • 當健全狀態檢查協議為HTTPHTTPS協議時,可以選擇http_2xxhttp_3xxhttp_4xxhttp_5xx。預設選擇http_2xxhttp_3xx

    • 當健全狀態檢查協議為gRPC協議時,狀態代碼範圍:0~99。支援範圍輸入,最多支援20個範圍值,多個範圍值使用半形逗號(,)隔開。

    說明

    此參數僅在健全狀態檢查協議為HTTPHTTPSgRPC時生效。

    響應逾時時間

    輸入接收來自健全狀態檢查的響應需要等待的時間。如果後端ECS在指定的時間內沒有正確響應,則判定為健全狀態檢查失敗。

    間隔時間

    輸入進行健全狀態檢查的時間間隔。

    健康閾值

    健全狀態檢查連續成功多少次後,將後端伺服器的健全狀態檢查狀態由失敗判定為成功的次數。

    不健康閾值

    健全狀態檢查連續失敗多少次後,將後端伺服器的健全狀態檢查狀態由成功判定為失敗的次數。

    將新的配置儲存為健全狀態檢查,方便下次快速複製使用。

    選中將新的配置儲存為健全狀態檢查模板並輸入自訂健全狀態檢查名稱。

    說明

    此參數僅在選擇並載入健全狀態檢查自訂健全狀態檢查時生效。

添加後端伺服器

在建立後端伺服器組之後,您需要添加後端伺服器來處理轉寄請求。

添加伺服器類型的後端伺服器

當建立的伺服器組為伺服器類型時,需要添加雲端服務器作為後端伺服器來處理轉寄請求。

  1. 登入應用型負載平衡ALB控制台
  2. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  3. 伺服器組頁面,找到目標伺服器組,然後在操作列單擊編輯後端伺服器

  4. 後端伺服器頁簽,單擊添加後端伺服器

  5. 添加後端伺服器面板,根據需求選擇以下一種雲端服務器,然後單擊下一步

    • 選擇Elastic Compute Service

      選擇伺服器類型為Elastic Compute Service/彈性網卡ENI,選中目標伺服器。

      如果沒有可用的雲端服務器,您可以在伺服器列表右上方單擊購買雲端服務器

    • 選擇雲端服務器ENI

      1. 選擇伺服器類型為Elastic Compute Service/彈性網卡ENI,開啟進階模式開關。

      2. 單擊目標ECS執行個體ID右側的展開符合表徵圖,選擇ENI。

        • 如果您需要選擇雲端服務器ENI,確保目標ECS已綁定了彈性網卡,關於如何將輔助網卡綁定到ECS執行個體的操作,請參見綁定輔助彈性網卡

        • 如果沒有可用的雲端服務器,您可以在伺服器列表右上方單擊購買雲端服務器

    • 選擇Elastic Container Instance

      選擇伺服器類型為Elastic Container Instance,選中目標伺服器。

      如果沒有可用的ECI,您可以在伺服器列表右上方單擊購買Elastic Container Instance。注意ALB不支援選擇Job最佳化型ECI執行個體作為後端伺服器。

  6. 配置連接埠和權重設定精靈頁面,設定添加的伺服器的連接埠和權重,然後單擊確定

    權重預設為100,權重越高的伺服器將被分配到更多的訪問請求。如開啟會話保持,可能會造成後端伺服器的請求不均勻。

    您可以滑鼠浮動至大量操作批量修改伺服器的權重:

    • 單擊向下複製:如果修改當前伺服器的權重,該伺服器頁面位置以下所有伺服器的權重同步改變。

    • 單擊向上複製:如果修改當前伺服器的權重,該伺服器頁面位置以上所有伺服器的權重同步改變。

    • 單擊全部複製:如果修改當前伺服器的權重,該伺服器組中所有伺服器的權重同步改變。

    • 單擊權重右側的重設:將伺服器組中所有伺服器的權重恢複為預設。

    警告

    如果權重設定為0,該伺服器不會再接受新請求。

添加Function Compute類型的後端伺服器

當建立的伺服器組為Function Compute類型時,需要添加函數作為後端伺服器來處理轉寄請求。關於Function Compute作為後端服務的教程,請參見ALB添加Function ComputeFC作為後端服務

說明

應用型負載平衡ALB與Function ComputeFC之間通過阿里雲內部網路進行安全通訊。

  1. 登入應用型負載平衡ALB控制台
  2. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  3. 伺服器組頁面,找到目標伺服器組,然後在操作列單擊編輯後端伺服器

  4. 後端伺服器頁簽,單擊設定Function Compute

    說明

    一個伺服器組僅支援添加一個Function Compute作為後端伺服器。

  5. 添加後端伺服器面板,選擇以下任意一種方式完成參數配置,然後單擊確定

    • 通過選擇資源

      配置

      說明

      配置方式

      選擇添加後端伺服器的配置方式。

      在下拉式清單中選擇通過選擇資源

      服務

      選擇已建立的Function Compute服務。若您還未建立過Function Compute服務,您可以單擊建立新的服務建立Function Compute服務。具體操作,請參見快速建立函數

      版本

      選擇LATEST

      新建立的服務,預設只有一個LATEST版本。

      函數

      在下拉式清單中選擇已建立的函數。如果沒有可用的函數,您可以單擊建立新函數,然後按照頁面提示建立函數。具體操作,請參見管理函數

      描述

      輸入描述資訊。

    • 通過ARN配置

      配置

      說明

      配置方式

      選擇添加後端伺服器的配置方式。

      在下拉式清單中選擇通過ARN配置

      ARN

      輸入目標函數的ARN。

      您可以在Function Compute控制台的函數詳情頁面,複製函數ARN。具體操作, 請參見擷取函數ARN

      描述

      輸入描述資訊。

添加IP類型的後端伺服器

當建立的伺服器組為IP類型時,需要添加IP地址作為後端伺服器來處理轉寄請求。未開啟遠端IP時,添加的IP地址需在當前專用網路網段內;開啟遠端IP後,可添加不在當前VPC網段內的IP地址。關於跨域掛載的相關操作,請參見使用ALB掛載跨地區VPC內的伺服器使用ALB掛載同地區IDC伺服器

使用限制

  • 只支援掛載私網伺服器,不支援掛載公網伺服器。

  • 不支援掛載同一個VPC內的ALB、NLB或CLB執行個體。

  • 不支援轉寄路徑存在環路的情境,ALB會在每個請求中添加ALICLOUD-ALB-TRACE的HTTP Header來探測環路。如果發現環路時,ALB會停止向後端轉寄請求並回複463的狀態代碼,以避免網路風暴導致的資源耗盡。

  • 支援企業版轉寄路由器和Express Connect實現跨域轉寄,不支援基礎版轉寄路由器。

  • 一張雲企業網中,一個地區只能有一個VPC內的一個或多個ALB實現跨地區掛載伺服器。

    • 無法實現同一個地區多個VPC內的ALB使用同一個轉寄路由器訪問後端服務。

    • 無法實現同一個地區多個VPC內的ALB使用多個轉寄路由器訪問同一個後端服務。

  • ALB與後端伺服器的流量僅支援通過系統路由錶轉發,暫不支援通過VPC自訂路由錶轉發。

  1. 登入應用型負載平衡ALB控制台
  2. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  3. 伺服器組頁面,找到目標伺服器組,然後在操作列單擊編輯後端伺服器

  4. 後端伺服器頁簽,單擊添加IP

  5. 添加後端伺服器面板,根據您的需要輸入後端伺服器的IP地址,然後單擊下一步

    • 開啟遠端IP時,支援輸入以下網段內的IP地址:

      • 10.0.0.0/8

      • 100.64.0.0/10

      • 172.16.0.0/12

      • 192.168.0.0/16

    • 未開啟遠端IP時,僅支援輸入當前伺服器組所在VPC網段內的IP地址。

    說明

    當您需要添加多個後端伺服器時,您可以單擊+添加IP地址添加多個後端伺服器。

  6. 配置連接埠和權重設定精靈頁面,設定添加的後端伺服器的連接埠和權重,然後單擊確定

    權重預設為100,權重越高的伺服器將被分配到更多的訪問請求。如開啟會話保持,可能會造成後端伺服器的請求不均勻。

    您可以滑鼠浮動至大量操作批量修改伺服器的權重:

    • 單擊向下複製:如果修改當前伺服器的權重,該伺服器頁面位置以下所有伺服器的權重同步改變。

    • 單擊向上複製:如果修改當前伺服器的權重,該伺服器頁面位置以上所有伺服器的權重同步改變。

    • 單擊全部複製:如果修改當前伺服器的權重,該伺服器組中所有伺服器的權重同步改變。

    • 單擊權重右側的重設:將伺服器組中所有伺服器的權重恢複為預設。

    警告

    如果權重設定為0,該伺服器不會再接受新請求。

移除後端伺服器

您可以根據需要移除伺服器組中的後端伺服器,移除後該後端伺服器將不再處理來自用戶端發送的請求。

警告

如果直接在伺服器組中移除後端伺服器,可能會造成業務中斷,建議您先將後端伺服器的權重設定為0,然後再從伺服器組中移除該後端伺服器。

  1. 登入應用型負載平衡ALB控制台
  2. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  3. 伺服器組頁面,找到目標伺服器組,然後單擊執行個體ID。

  4. 單擊後端伺服器頁簽,找到目標後端伺服器,然後在操作列單擊移除

  5. 在彈出的對話方塊中,單擊確定

編輯健全狀態檢查

您可以根據需要修改伺服器組的健全狀態檢查配置。

  1. 登入應用型負載平衡ALB控制台
  2. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  3. 伺服器組頁面,找到目標伺服器組,然後在操作列單擊編輯健全狀態檢查

  4. 在彈出的編輯健全狀態檢查對話方塊中,開啟或關閉健全狀態檢查,或單擊健康檢查設定右側的編輯,修改健全狀態檢查參數。

    警告
    • 關閉健全狀態檢查後,ALB不再檢查後端伺服器,一旦某台後端伺服器發生故障,則無法實現訪問流量自動切換至其他正常的後端伺服器。

    • 如延長健全狀態檢查的間隔時間,後端伺服器出現故障時,ALB發現故障後端伺服器的時間也會變長。

刪除伺服器組

如果一個伺服器組未被任何監聽轉寄規則關聯,則可以刪除該伺服器組。關於如何刪除監聽轉寄規則,請參見刪除轉寄規則

刪除伺服器組不會影響伺服器。如果您不再需要登入的ECS執行個體,則可以停止或釋放該執行個體。具體操作,請參見停止執行個體釋放執行個體

  1. 登入應用型負載平衡ALB控制台
  2. 在左側導覽列,選擇應用型負載平衡ALB > 伺服器組

  3. 伺服器組頁面,找到目標伺服器組,然後在操作列選擇更多 > 刪除

  4. 在彈出的對話方塊中,單擊確定