應用型負載平衡ALB(Application Load Balancer)相比傳統型負載平衡CLB(Classic Load Balancer),具有強大的七層負載平衡處理能力與豐富的進階路由功能,具備大規模應用程式層流量處理能力,可以一鍵開啟WAF應用防護,轉寄與防護完全解耦。且支援更多高階功能,讓您擁有更好的負載平衡體驗。本文為您介紹如何將CLB七層監聽一鍵遷移至ALB。
遷移限制
CLB一鍵遷移ALB的功能預設不開放,如需使用,請登入配額中心控制台,在權益配額列表頁面,輸入配額ID為slb_user_visible_gray_label/clone_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計費規則收費。
ALB相關計費規則,請參見ALB計費規則。
CLB相關計費規則,請參見:
前提條件
待遷移的CLB執行個體已配置七層監聽(HTTP或HTTPS監聽)。
本文操作過程中使用了4台ECS伺服器。
承載業務應用的伺服器:ECS01和ECS02作為後端伺服器。
用於測試的伺服器:ECS03用於測試遷移前流量,ECS04用於驗證遷移時的訪問流量。
如果您已有測試伺服器,無需建立ECS03和ECS04。
步驟一:在控制台一鍵遷移
請選擇以下任一方式進入遷移嚮導。
方式一:通過CLB控制台進入
在頂部功能表列,選擇待遷移CLB執行個體所屬的地區。
在執行個體管理頁面,找到目標執行個體,單擊執行個體ID。
單擊遷移嚮導頁簽,確認提示資訊後,單擊啟動ALB遷移嚮導。
方式二:通過ALB控制台進入
- 登入應用型負載平衡ALB控制台。
在頂部功能表列,選擇待遷移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執行個體所屬的地區。
在執行個體頁面,找到目標ALB執行個體,單擊執行個體ID。
在執行個體詳情頁,單擊訪問日誌頁簽。在訪問日誌頁簽,單擊建立訪問日誌。
在建立訪問日誌對話方塊,配置專案Project和日誌庫Logstore,然後單擊確定,在彈出的對話方塊中確認提示資訊後,再次單擊確定。
配置
說明
專案Project
Log Service中的資源嵌入式管理單元,用於資源隔離和控制。
選擇現有Project:在下拉框中選擇一個Project。
建立Project:在文字框中輸入建立Project名稱。
日誌庫Logstore
Log Service中日誌資料的採集、儲存和查詢單元。
選擇現有Logstore:在下拉框中選擇一個Logstore。
建立Logstore:在文字框中輸入建立Logstore名稱。Project選擇建立時,Logstore也需選擇建立。
服務關聯角色建立須知
執行此操作時,將會為您自動建立一個服務關聯角色,以完成相應功能。
流量測試
遠程登入ECS03,具體操作,請參見ECS遠端連線操作指南。
說明購買時,該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轉寄規則的配置,確保二者提供的能力完全一致,且所有配置經過完備的測實驗收,以免在遷移過程中對您的業務產生非預期的影響。
建議在業務低穀期進行CLB流量的遷移。
本文中CLB執行個體已佈建網域名解析。您已將業務網域名稱通過A記錄解析的方式指向CLB執行個體的服務地址。在完成ALB執行個體配置的驗收後,本文以阿里雲Alibaba Cloud DNS為例,為您介紹CLB流量遷移至ALB的操作步驟。您可以通過以下步驟完成流量的遷移。關於阿里雲Alibaba Cloud DNS的介紹,請參見公網權威解析。
第一步:CLB執行個體配置臨時網域名稱
ALB執行個體推薦使用CNAME解析,為滿足網域名稱權重配置的啟用條件,您需要為臨時網域名稱添加一條CNAME解析記錄,同時將該臨時網域名稱指向待遷移CLB執行個體的服務地址。本文假設CLB執行個體配置的網域名稱為example.net
。
權重配置的啟用條件是網域名稱下存在相同的主機記錄、相同解析線路的多條A記錄、CNAME記錄、AAAA記錄。
登入網域名稱解析控制台。
在權威網域名稱解析頁面,找到指向待遷移CLB執行個體的DNS網域名稱
www.example.net
,單擊該網域名稱。在解析設定頁面,單擊添加記錄,在添加記錄面板,完成以下參數的配置,然後單擊確定。
配置
說明
記錄類型
在下拉式清單中選擇CNAME。
主機記錄
您的網域名稱的首碼。本文輸入www。
解析請求來源
選擇預設。
記錄值
輸入臨時網域名稱,本文輸入web0.example.net。
TTL
全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文設定為5秒。
在解析設定頁簽,找到指向待遷移CLB執行個體服務地址的A記錄,在操作列單擊修改。
在彈出的修改記錄面板,修改主機記錄,然後單擊確定。本文修改主機記錄為web0,其餘參數保持不變。
第二步:ALB執行個體添加CNAME解析
在網域名稱解析頁面,找到指向待遷移CLB執行個體的DNS網域名稱
www.example.net
,單擊該網域名稱。在解析設定頁面單擊添加記錄,在添加記錄面板配置以下資訊完成CNAME解析配置,然後單擊確定。
配置
說明
記錄類型
在下拉式清單中選擇CNAME。
主機記錄
您的網域名稱的首碼。本文輸入www
解析線路
選擇預設。
記錄值
輸入欄位名對應的CNAME地址,即您複製的ALB執行個體的DNS網域名稱。
TTL
全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文設定為5秒。
第三步:設定權重,開始流量灰階
在權威網域名稱解析頁面,單擊目標網域名稱執行個體ID。
單擊權重配置頁簽,找到目標網域名稱,在操作列單擊設定權重。
權重配置的啟用條件是網域名稱下存在相同的主機記錄、相同解析線路的多條A記錄、CNAME記錄、AAAA記錄。
在設定權重面板,分別為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 HTTPS監聽的認證如何遷移?
遷移過程中需要您手動指定認證。若沒有認證,您需要先前往認證中心購買或上傳認證。
伺服器憑證請參見購買SSL認證和上傳和共用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內的伺服器。