全部產品
Search
文件中心

Server Load Balancer:CLB七層監聽一鍵遷移ALB指南

更新時間:Sep 23, 2025

應用型負載平衡ALB(Application Load Balancer)相比傳統型負載平衡CLB(Classic Load Balancer),具有強大的七層負載平衡處理能力與豐富的進階路由功能,具備大規模應用程式層流量處理能力,可以一鍵開啟WAF應用防護,轉寄與防護完全解耦。且支援更多高階功能,讓您擁有更好的負載平衡體驗。本文為您介紹如何將CLB七層監聽一鍵遷移至ALB。

遷移限制

支援遷移的CLB執行個體類型

  • 專用網路類型的IPv4私網CLB執行個體,且已配置七層監聽(HTTP或HTTPS監聽)

  • IPv4公網CLB執行個體,且已配置七層監聽(HTTP或HTTPS監聽)

不支援一鍵遷移的情境

以下三個情境不支援使用遷移嚮導一鍵遷移,建議您手動遷移CLB七層監聽至ALB

  • 未配置HTTP或HTTPS監聽的CLB執行個體

  • 傳統網路類型的私網CLB執行個體

  • IPv6類型的CLB執行個體

遷移過程注意事項

  • ALB未支援的地區不支援遷移。ALB支援的地區,請參見ALB支援的地區與可用性區域

  • WAF應用防護的相關配置不支援遷移。若CLB已開啟WAF,遷移後需要您手動開啟WAF防護。建立ALB執行個體推薦開啟WAF3.0,具體操作,請參見開通和管理ALB WAF增強版

  • CLB監控的閾值警示配置不支援遷移,需要您通過CloudMonitor控制台、API、SDK配置。遷移後如需配置,請參見設定ALB監控項警示規則

  • 預設開啟DDoS防護。提升DDoS閾值的相關配置不支援遷移,遷移後需要您在DDoS控制台手動設定。

  • 存取控制相關配置不支援遷移。遷移後如需配置,請參見存取控制

  • HTTPS監聽的伺服器憑證與CA認證需要您手動指定。

  • CLB主備伺服器組的相關配置不支援遷移至ALB。

  • 私網CLB執行個體的後端伺服器會隨即轉移至ALB。公網CLB的後端伺服器暫不支援遷移ALB,系統將在ALB所在VPC內建立一個新的伺服器組,您需要手動添加後端伺服器至該伺服器組中(後端伺服器需與ALB執行個體處於同一VPC)。

計費說明

CLB一鍵遷移ALB功能不收取額外費用,新建立的ALB執行個體按照ALB計費規則收費。

前提條件

  • 待遷移的CLB執行個體已配置七層監聽(HTTP或HTTPS監聽)。

  • 本文操作過程中使用了4台ECS伺服器。

    • 承載業務應用的伺服器:ECS01和ECS02作為後端伺服器。

    • 用於測試的伺服器:ECS03用於測試遷移前流量,ECS04用於驗證遷移時的訪問流量。

      如果您已有測試伺服器,無需建立ECS03和ECS04。

單擊查看本文CLB執行個體的參數規劃

配置

遷移前CLB執行個體配置

網路類型

公網

服務地址:47.XX.XX.144

網域名稱解析

www.example.net

監聽協議

HTTP,監聽連接埠80。

後端伺服器

ECS01、ECS02

步驟一:在控制台一鍵遷移

  1. 請選擇以下任一方式進入遷移嚮導。

    方式一:通過CLB控制台進入

    1. 登入傳統型負載平衡CLB控制台

    2. 在頂部功能表列,選擇待遷移CLB執行個體所屬的地區。

    3. 執行個體管理頁面,找到目標執行個體,單擊執行個體ID。

    4. 單擊遷移嚮導頁簽,確認提示資訊後,在ALB遷移嚮導卡片單擊啟動

    方式二:通過ALB控制台進入

    說明

    如果在待遷移CLB所屬地區下沒有ALB執行個體,則不支援通過ALB控制台一鍵遷移,您可以通過方式一在CLB控制台進行一鍵遷移操作。

    1. 登入應用型負載平衡ALB控制台

    2. 在頂部功能表列,選擇待遷移CLB執行個體所屬的地區。

    3. 執行個體頁面,單擊CLB遷移ALB嚮導

    4. CLB遷移ALB嚮導對話方塊中,確認提示資訊,選擇待遷移CLB執行個體後,單擊進入遷移嚮導

  2. 組態稽核設定精靈,確認CLB基本資料和ALB預配置資訊,並根據提示資訊完成所有監聽列表驚嘆號.png提示的配置,選中確認複選框,然後單擊下一步

    • 驚嘆號.png:表示需要使用者手動完成的配置項。

    • 驚嘆號 (1).png:表示系統自動變更的配置項。

    您可以單擊編輯監聽編輯認證,修改ALB監聽配置,僅HTTPS監聽支援編輯認證。

  3. 建立執行個體設定精靈,配置遷移後ALB執行個體所屬的專用網路和交換器,然後單擊下一步

    配置

    說明

    專用網路

    • 私網CLB執行個體:預設為ALB執行個體分配與CLB執行個體相同的專用網路。

    • 公網CLB執行個體:您需要手動設定一個專用網路。

    可用性區域

    選擇可用性區域和交換器。

    1. ALB支援多可用性區域部署,若當前地區支援2個及2個以上的可用性區域,為保障業務高可用,請至少選擇2個可用性區域,且ALB不會額外收取可用性區域的費用。

    2. 分別在所選可用性區域內選擇交換器,如果可用性區域下無交換器,請根據控制台提示建立交換器。

    3. 可選:公網CLB執行個體遷移時,需要在所選可用性區域內選擇EIP。

      • 如果無可用存量EIP,可選擇新購Elastic IP Address:系統將幫您自動建立隨用隨付(按使用流量計費)的BGP多線預設安全防護EIP,並綁定至ALB執行個體。

      • 選擇已有的EIP:您可以指定已建立的EIP並綁定至新購的ALB執行個體上。

        重要
        • 僅可綁定暫未加入共用頻寬的隨用隨付(按使用流量計費)的已購EIP。

        • 同一個ALB執行個體不同可用性區域分配的EIP類型需保持一致。

  4. 確認訂單設定精靈,確認ALB執行個體的配置資訊,選中價格計費複選框,然後單擊啟動遷移

  5. 完成設定精靈,等待遷移任務執行完成後,您可以執行以下操作。

    遷移任務大約需要1~10分鐘,請您耐心等待。該遷移任務由Resource Orchestration Service服務完成,您可以根據提示前往ROS資源棧控制台查看資源棧任務執行過程。

    • 單擊查看執行個體,查看遷移後ALB執行個體的執行個體詳情。

    • 單擊返回CLB執行個體列表,查看CLB執行個體列表。

    • 單擊返回ALB執行個體列表,查看ALB執行個體列表。

  6. 後續操作。遷移任務執行完成後,請檢查遷移後的ALB執行個體是否有後端伺服器。

    1. 在左側導覽列選擇應用型負載平衡ALB > 執行個體

    2. 執行個體頁面,找到遷移後的ALB執行個體,單擊執行個體ID。

    3. 單擊監聽頁簽,找到目標監聽,在操作列單擊查看詳情

    4. 監聽詳情頁簽,在伺服器組(監聽預設轉寄)地區,單擊查看/編輯後端伺服器,跳轉至後端伺服器頁簽後,查看是否有後端伺服器。

      若無後端伺服器,請單擊添加後端伺服器為ALB執行個體添加至少2台後端伺服器,並為該後端伺服器部署應用服務,以確保ALB執行個體可以正常分發用戶端的訪問請求。本文ALB執行個體已添加後端伺服器ECS01和ECS02。

      • 關於如何建立ECS執行個體,請參見自訂購買執行個體

      • 本文ECS01與ECS02部署測試應用樣本如下:

        ECS01服務部署命令

        yum install -y nginx
        systemctl start nginx.service
        cd /usr/share/nginx/html/
        echo "Hello World ! This is ECS01." > index.html
        

        ECS02服務部署命令

        yum install -y nginx
        systemctl start nginx.service
        cd /usr/share/nginx/html/
        echo "Hello World ! This is ECS02." > index.html
        

步驟二:測試流量

(可選)開啟訪問日誌

ALB聯合Log Service(SLS)推出了訪問日誌功能,您可以通過訪問日誌監控ALB執行個體的負載情況和定位問題。

  1. 登入應用型負載平衡ALB控制台

  2. 在頂部功能表列處,選擇ALB執行個體所屬的地區。

  3. 執行個體頁面,找到目標ALB執行個體,單擊執行個體ID。

  4. 在執行個體詳情頁,單擊訪問日誌頁簽。在訪問日誌頁簽,單擊建立訪問日誌

  5. 建立訪問日誌對話方塊,配置專案Project日誌庫Logstore,然後單擊確定,在彈出的對話方塊中確認提示資訊後,再次單擊確定

    配置

    說明

    專案Project

    Log Service中的資源嵌入式管理單元,用於資源隔離和控制。

    • 選擇現有Project:在下拉框中選擇一個Project。

    • 建立Project:在文字框中輸入建立Project名稱。

    日誌庫Logstore

    Log Service中日誌資料的採集、儲存和查詢單元。

    • 選擇現有Logstore:在下拉框中選擇一個Logstore。

    • 建立Logstore:在文字框中輸入建立Logstore名稱。Project選擇建立時,Logstore也需選擇建立。

    服務關聯角色建立須知

    執行此操作時,將會為您自動建立一個服務關聯角色,以完成相應功能。

流量測試

  1. 遠程登入ECS03。

    說明

    購買時,該ECS03執行個體已指派公網IP地址。

  2. 執行以下命令修改hosts檔案。

    sudo vi /etc/hosts

    進入hosts檔案中,新增以下ALB執行個體的Elastic IP Address地址和網域名稱。修改完成後,儲存並退出該檔案的修改。

    118.XX.XX.113 www.example.net
  3. 執行以下命令,測試ALB的流量轉寄。

    curl -v www.example.net

    運行結果如下圖所示:

    image.pngimage.png

  4. (可選)返回ALB控制台,找到目標ALB執行個體的訪問日誌頁簽,單擊SLS日誌儲存右側的連結,查看訪問日誌。

    訪問日誌在Log Service控制台,您也可以根據需求結合request_uri、http_host、upstream_addr、status等欄位查看ALB網域名稱或路徑轉寄策略的作業記錄。

步驟三:遷移流量至ALB執行個體

警告
  • 由於CLB和ALB的轉寄規則在處理網域名稱及URL時語義不同,建議您在流量遷移前,仔細比對CLB轉寄策略和ALB轉寄規則的配置。為確保二者提供的能力完全一致,您可能需要根據CLB和ALB的轉寄規則差異在ALB中調整轉寄規則。同時,所有配置須經過完備的測實驗收,以免在遷移過程中對您的業務產生非預期的影響。

  • 建議在業務低穀期進行CLB流量的遷移。

本文中CLB執行個體已佈建網域名解析。您已將業務網域名稱通過A記錄解析的方式指向CLB執行個體的服務地址。在完成ALB執行個體配置的驗收後,本文以阿里雲Alibaba Cloud DNS為例,為您介紹CLB流量遷移至ALB的操作步驟。您可以通過以下步驟完成流量的遷移。關於阿里雲Alibaba Cloud DNS的介紹,請參見公網權威解析

第一步:CLB執行個體配置臨時網域名稱並添加CNAME解析

ALB執行個體推薦使用CNAME解析,為滿足網域名稱權重配置的啟用條件,您需要為臨時網域名稱添加一條CNAME解析記錄,同時將該臨時網域名稱指向待遷移CLB執行個體的服務地址。本文假設CLB執行個體配置的業務網域名稱為www.example.net

說明

權重配置的啟用條件是網域名稱下存在相同的主機記錄、相同解析線路的多條A記錄、CNAME記錄、AAAA記錄。

  1. 登入Alibaba Cloud DNS控制台

  2. 公網權威解析頁面,找到待遷移CLB執行個體使用的網域名稱example.net,單擊該網域名稱。

  3. 解析設定頁面,找到指向待遷移CLB執行個體服務地址的A記錄,在操作列單擊修改

  4. 在彈出的編輯記錄面板,修改主機記錄,然後單擊確定。本文修改主機記錄web0,其餘參數保持不變。

  5. 解析設定頁面,單擊添加記錄。在添加記錄面板,完成以下參數的配置,並單擊確定儲存退出。

    配置

    說明

    記錄類型

    在下拉式清單中選擇CNAME

    主機記錄

    您的網域名稱的首碼。本文輸入www

    解析請求來源

    選擇預設。

    TTL

    全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文設定為5秒。

    記錄值

    輸入臨時網域名稱,本文輸入web0.example.net

第二步:ALB執行個體添加CNAME解析

解析設定頁面,單擊添加記錄。在添加記錄面板,完成以下參數的配置,並單擊確定儲存退出。

配置

說明

記錄類型

在下拉式清單中選擇CNAME

主機記錄

您的網域名稱的首碼。本文輸入www

解析請求來源

選擇預設。

TTL

全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文設定為5秒。

記錄值

輸入您複製的ALB執行個體的DNS網域名稱。

第三步:設定權重,開始流量灰階

  1. 解析設定頁面,找到第二步中添加的CNAME記錄,單擊修改後面的下拉按鈕,點擊修改記錄集

  2. 編輯記錄面板下方的記錄值集合,分別為CLBALB執行個體的解析記錄設定權重。將CLB執行個體對應的解析記錄的權重設定為100,同時將ALB執行個體對應的解析記錄的權重設定為0單擊確定儲存退出。

    image

  3. 在觀察到業務沒有受影響的情況下,逐步減小CLB執行個體解析記錄的權重值,同時逐步增加ALB執行個體解析記錄的權重值。

  4. 登入與ALB執行個體所屬同一VPC的ECS04執行個體,多次執行dig命令,驗證流量遷移效果。

    說明

    該ECS04執行個體已指派公網IP地址,且已通過yum install bind-utils命令安裝了dig命令。

    dig www.example.net

    運行結果如下圖所示。您可以通過多次運行結果觀察到,請求會根據權重分配至ALBCLB處理。image

    image

第四步:完成流量遷移

根據流量遷移的驗證結果,逐步將CLB執行個體解析記錄的權重值減小至0,同時逐步增加ALB執行個體解析記錄的權重值至100。至此,您已完成CLB執行個體流量至ALB執行個體的遷移,當CLB執行個體長串連全部處理完成,且CLB執行個體沒有新增流量時,您可以根據業務情境靜默觀察一段時間後釋放該CLB執行個體。關於如何釋放CLB執行個體,請參見釋放CLB執行個體

如果您的DNS服務解析商不支援CNAME解析的權重配置,請單擊此處查看流量遷移方案。

常見問題

CLB重新導向和轉寄策略如何遷移?

遷移後,自動為ALB執行個體配置重新導向和網域名稱路徑轉寄規則

警告

由於CLB和ALB的轉寄規則在處理網域名稱及URL時語義不同,建議您在流量遷移前,仔細比對CLB轉寄策略和ALB轉寄規則的配置。為確保二者提供的能力完全一致,您可能需要根據CLB和ALB的轉寄規則差異在ALB中調整轉寄規則。

CLB和ALB的轉寄規則有何差異?

CLB和ALB的轉寄規則在處理網域名稱及URL路徑時語義不同:

  • 網域名稱

  • URL路徑

    下表例舉了URL請求中部分特殊字元與CLB和ALB轉寄規則的匹配情況,您可以在CLB遷移至ALB時參考以適配轉寄規則。

    轉寄規則配置的URL

    請求

    CLB

    ALB

    說明

    ?

    ?

    不匹配

    不匹配

    請求中的?通常為區分URL和查詢字串,處理時會被去除。

    任意合法字元

    不匹配

    匹配

    通配時?可以解釋為任意合法字元。

    %

    %

    不匹配

    -(不允許)

    請求中的%通常用於轉義,處理時%61轉義為a

    %61

    %61

    不匹配

    -(不允許)

    請求中的%通常用於轉義,處理時%61轉義為a

    a

    不匹配

    不匹配

    -

    a

    %61

    匹配

    匹配

    請求中的%通常用於轉義,處理時%61轉義為a

    ababc

    匹配

    不匹配

    CLB支援首碼匹配,ALB支援精確匹配及萬用字元匹配。

    test/*

    test

    -(不支援)

    不匹配

    CLB支援首碼匹配,ALB支援萬用字元匹配。

    test/

    -(不支援)

    匹配

    test/a

    -(不支援)

    匹配

CLB HTTPS監聽的認證如何遷移?

  1. 遷移過程中需要您手動指定認證。若沒有認證,您需要先前往認證中心購買或上傳認證。

  2. 遷移後,系統將根據您指定的伺服器憑證、擴充認證和CA認證,自動設定對應的認證。

同一個公網CLB執行個體掛載不同VPC下ECS時,如何遷移後端伺服器?

  • ALB伺服器組有VPC屬性,系統將在ALB所在VPC內建立一個新的伺服器組,您需要手動添加後端伺服器至該伺服器組中(後端伺服器需與ALB執行個體處於同一VPC)。

  • ALB IP類型的伺服器組支援跨VPC掛載伺服器,如有跨VPC掛載ECS的需求,在使用遷移嚮導遷移完成後,您可以為ALB執行個體建立IP類型的伺服器組,並將不同VPC下的ECS添加至該伺服器組。更多資訊,請參見使用ALB掛載跨地區VPC內的伺服器

相關文檔