應用型負載平衡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執行個體所屬的地區。
在執行個體管理頁面,找到目標執行個體,單擊執行個體ID。
單擊遷移嚮導頁簽,確認提示資訊後,在ALB遷移嚮導卡片單擊啟動。
方式二:通過ALB控制台進入
說明如果在待遷移CLB所屬地區下沒有ALB執行個體,則不支援通過ALB控制台一鍵遷移,您可以通過方式一在CLB控制台進行一鍵遷移操作。
在頂部功能表列,選擇待遷移CLB執行個體所屬的地區。
在執行個體頁面,單擊CLB遷移ALB嚮導。
在CLB遷移ALB嚮導對話方塊中,確認提示資訊,選擇待遷移CLB執行個體後,單擊進入遷移嚮導。
在組態稽核設定精靈,確認CLB基本資料和ALB預配置資訊,並根據提示資訊完成所有監聽列表
提示的配置,選中確認複選框,然後單擊下一步。
:表示需要使用者手動完成的配置項。
:表示系統自動變更的配置項。
您可以單擊編輯監聽、編輯認證,修改ALB監聽配置,僅HTTPS監聽支援編輯認證。
在建立執行個體設定精靈,配置遷移後ALB執行個體所屬的專用網路和交換器,然後單擊下一步。
配置
說明
專用網路
私網CLB執行個體:預設為ALB執行個體分配與CLB執行個體相同的專用網路。
公網CLB執行個體:您需要手動設定一個專用網路。
可用性區域
選擇可用性區域和交換器。
ALB支援多可用性區域部署,若當前地區支援2個及2個以上的可用性區域,為保障業務高可用,請至少選擇2個可用性區域,且ALB不會額外收取可用性區域的費用。
分別在所選可用性區域內選擇交換器,如果可用性區域下無交換器,請根據控制台提示建立交換器。
可選:公網CLB執行個體遷移時,需要在所選可用性區域內選擇EIP。
如果無可用存量EIP,可選擇新購Elastic IP Address:系統將幫您自動建立隨用隨付(按使用流量計費)的BGP多線預設安全防護EIP,並綁定至ALB執行個體。
選擇已有的EIP:您可以指定已建立的EIP並綁定至新購的ALB執行個體上。
重要僅可綁定暫未加入共用頻寬的隨用隨付(按使用流量計費)的已購EIP。
同一個ALB執行個體不同可用性區域分配的EIP類型需保持一致。
在確認訂單設定精靈,確認ALB執行個體的配置資訊,選中價格計費複選框,然後單擊啟動遷移。
在完成設定精靈,等待遷移任務執行完成後,您可以執行以下操作。
遷移任務大約需要1~10分鐘,請您耐心等待。該遷移任務由Resource Orchestration Service服務完成,您可以根據提示前往ROS資源棧控制台查看資源棧任務執行過程。
單擊查看執行個體,查看遷移後ALB執行個體的執行個體詳情。
單擊返回CLB執行個體列表,查看CLB執行個體列表。
單擊返回ALB執行個體列表,查看ALB執行個體列表。
後續操作。遷移任務執行完成後,請檢查遷移後的ALB執行個體是否有後端伺服器。
在左側導覽列選擇。
在執行個體頁面,找到遷移後的ALB執行個體,單擊執行個體ID。
單擊監聽頁簽,找到目標監聽,在操作列單擊查看詳情。
在監聽詳情頁簽,在伺服器組(監聽預設轉寄)地區,單擊查看/編輯後端伺服器,跳轉至後端伺服器頁簽後,查看是否有後端伺服器。
若無後端伺服器,請單擊添加後端伺服器為ALB執行個體添加至少2台後端伺服器,並為該後端伺服器部署應用服務,以確保ALB執行個體可以正常分發用戶端的訪問請求。本文ALB執行個體已添加後端伺服器ECS01和ECS02。
關於如何建立ECS執行個體,請參見自訂購買執行個體。
本文ECS01與ECS02部署測試應用樣本如下:
步驟二:測試流量
(可選)開啟訪問日誌
ALB聯合Log Service(SLS)推出了訪問日誌功能,您可以通過訪問日誌監控ALB執行個體的負載情況和定位問題。
在頂部功能表列處,選擇ALB執行個體所屬的地區。
在執行個體頁面,找到目標ALB執行個體,單擊執行個體ID。
在執行個體詳情頁,單擊訪問日誌頁簽。在訪問日誌頁簽,單擊建立訪問日誌。
在建立訪問日誌對話方塊,配置專案Project和日誌庫Logstore,然後單擊確定,在彈出的對話方塊中確認提示資訊後,再次單擊確定。
配置
說明
專案Project
Log Service中的資源嵌入式管理單元,用於資源隔離和控制。
選擇現有Project:在下拉框中選擇一個Project。
建立Project:在文字框中輸入建立Project名稱。
日誌庫Logstore
Log Service中日誌資料的採集、儲存和查詢單元。
選擇現有Logstore:在下拉框中選擇一個Logstore。
建立Logstore:在文字框中輸入建立Logstore名稱。Project選擇建立時,Logstore也需選擇建立。
服務關聯角色建立須知
執行此操作時,將會為您自動建立一個服務關聯角色,以完成相應功能。
流量測試
遠程登入ECS03。
說明購買時,該ECS03執行個體已指派公網IP地址。
執行以下命令修改hosts檔案。
sudo vi /etc/hosts進入hosts檔案中,新增以下ALB執行個體的Elastic IP Address地址和網域名稱。修改完成後,儲存並退出該檔案的修改。
118.XX.XX.113 www.example.net執行以下命令,測試ALB的流量轉寄。
curl -v www.example.net運行結果如下圖所示:


(可選)返回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記錄。
在公網權威解析頁面,找到待遷移CLB執行個體使用的網域名稱
example.net,單擊該網域名稱。在解析設定頁面,找到指向待遷移CLB執行個體服務地址的A記錄,在操作列單擊修改。
在彈出的編輯記錄面板,修改主機記錄,然後單擊確定。本文修改主機記錄為web0,其餘參數保持不變。
在解析設定頁面,單擊添加記錄。在添加記錄面板,完成以下參數的配置,並單擊確定儲存退出。
配置
說明
記錄類型
在下拉式清單中選擇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網域名稱。 |
第三步:設定權重,開始流量灰階
在解析設定頁面,找到第二步中添加的CNAME記錄,單擊修改後面的下拉按鈕,點擊修改記錄集。
在編輯記錄面板下方的記錄值集合,分別為CLB和ALB執行個體的解析記錄設定權重。將CLB執行個體對應的解析記錄的權重設定為100,同時將ALB執行個體對應的解析記錄的權重設定為0。單擊確定儲存退出。

在觀察到業務沒有受影響的情況下,逐步減小CLB執行個體解析記錄的權重值,同時逐步增加ALB執行個體解析記錄的權重值。
登入與ALB執行個體所屬同一VPC的ECS04執行個體,多次執行
dig命令,驗證流量遷移效果。說明該ECS04執行個體已指派公網IP地址,且已通過
yum install bind-utils命令安裝了dig命令。dig www.example.net運行結果如下圖所示。您可以通過多次運行結果觀察到,請求會根據權重分配至ALB或CLB處理。


第四步:完成流量遷移
根據流量遷移的驗證結果,逐步將CLB執行個體解析記錄的權重值減小至0,同時逐步增加ALB執行個體解析記錄的權重值至100。至此,您已完成CLB執行個體流量至ALB執行個體的遷移,當CLB執行個體長串連全部處理完成,且CLB執行個體沒有新增流量時,您可以根據業務情境靜默觀察一段時間後釋放該CLB執行個體。關於如何釋放CLB執行個體,請參見釋放CLB執行個體。
常見問題
CLB重新導向和轉寄策略如何遷移?
遷移後,自動為ALB執行個體配置重新導向和網域名稱路徑轉寄規則。
由於CLB和ALB的轉寄規則在處理網域名稱及URL時語義不同,建議您在流量遷移前,仔細比對CLB轉寄策略和ALB轉寄規則的配置。為確保二者提供的能力完全一致,您可能需要根據CLB和ALB的轉寄規則差異在ALB中調整轉寄規則。
CLB和ALB的轉寄規則有何差異?
CLB和ALB的轉寄規則在處理網域名稱及URL路徑時語義不同:
網域名稱
CLB網域名稱轉寄規則支援精確匹配及萬用字元匹配,匹配順序遵循精確匹配 > 小範圍萬用字元 > 大範圍萬用字元的原則,確保最精確的規則優先執行。
ALB網域名稱轉寄規則支援精確匹配及萬用字元匹配、正則匹配,匹配順序按照您指定的優先順序執行。
URL路徑
CLB URL路徑轉寄規則基於URL路徑的首碼最長相符。
ALB URL路徑轉寄規則支援精確匹配及萬用字元匹配、正則匹配。
下表例舉了URL請求中部分特殊字元與CLB和ALB轉寄規則的匹配情況,您可以在CLB遷移至ALB時參考以適配轉寄規則。
轉寄規則配置的URL
請求
CLB
ALB
說明
??不匹配
不匹配
請求中的
?通常為區分URL和查詢字串,處理時會被去除。任意合法字元
不匹配
匹配
通配時
?可以解釋為任意合法字元。%%不匹配
-(不允許)
請求中的
%通常用於轉義,處理時%61轉義為a。%61%61不匹配
-(不允許)
請求中的
%通常用於轉義,處理時%61轉義為a。a不匹配
不匹配
-
a%61匹配
匹配
請求中的
%通常用於轉義,處理時%61轉義為a。ab、abc等匹配
不匹配
CLB支援首碼匹配,ALB支援精確匹配及萬用字元匹配。
test/*test-(不支援)
不匹配
CLB支援首碼匹配,ALB支援萬用字元匹配。
test/-(不支援)
匹配
test/a-(不支援)
匹配
CLB HTTPS監聽的認證如何遷移?
遷移過程中需要您手動指定認證。若沒有認證,您需要先前往認證中心購買或上傳認證。
伺服器憑證請參見購買正式認證和上傳、同步和共用SSL認證。
CA認證請參見購買及啟用私人CA。
遷移後,系統將根據您指定的伺服器憑證、擴充認證和CA認證,自動設定對應的認證。
ALB提供多網域名稱負載分發的能力。更多資訊,請參見單ALB執行個體配置多網域名稱HTTPS網站。
ALB支援部署HTTPS單向認證和HTTPS雙向認證。更多資訊,請參見配置全鏈路HTTPS訪問實現加密通訊和使用ALB部署HTTPS業務(雙向認證)。
同一個公網CLB執行個體掛載不同VPC下ECS時,如何遷移後端伺服器?
ALB伺服器組有VPC屬性,系統將在ALB所在VPC內建立一個新的伺服器組,您需要手動添加後端伺服器至該伺服器組中(後端伺服器需與ALB執行個體處於同一VPC)。
ALB IP類型的伺服器組支援跨VPC掛載伺服器,如有跨VPC掛載ECS的需求,在使用遷移嚮導遷移完成後,您可以為ALB執行個體建立IP類型的伺服器組,並將不同VPC下的ECS添加至該伺服器組。更多資訊,請參見使用ALB掛載跨地區VPC內的伺服器。