全部產品
Search
文件中心

Server Load Balancer:CLB七層監聽一鍵遷移ALB最佳實務

更新時間:Aug 16, 2024

應用型負載平衡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執行個體配置

網路類型

公網

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

網域名稱解析

www.example.net

監聽協議

HTTP,監聽連接埠80。

後端伺服器

ECS01、ECS02

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

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

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

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

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

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

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

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

    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,具體操作,請參見ECS遠端連線操作指南

    說明

    購買時,該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轉寄規則的配置,確保二者提供的能力完全一致,且所有配置經過完備的測實驗收,以免在遷移過程中對您的業務產生非預期的影響。

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

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

遷移步驟

第一步:CLB執行個體配置臨時網域名稱

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

說明

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

  1. 登入網域名稱解析控制台

  2. 網域名稱解析頁面,找到指向待遷移CLB執行個體的DNS網域名稱www.example.net,單擊該網域名稱。

  3. 解析設定頁面,單擊添加記錄,在添加記錄面板,完成以下參數的配置,然後單擊確認

    配置

    說明

    記錄類型

    在下拉式清單中選擇CNAME

    主機記錄

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

    解析請求來源

    選擇預設。

    記錄值

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

    TTL

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

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

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

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

  1. 網域名稱解析頁面,找到指向待遷移CLB執行個體的DNS網域名稱www.example.net,單擊該網域名稱。

  2. 解析設定頁面單擊添加記錄,在添加記錄面板配置以下資訊完成CNAME解析配置,然後單擊確認

    配置

    說明

    記錄類型

    在下拉式清單中選擇CNAME

    主機記錄

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

    解析線路

    選擇預設。

    記錄值

    輸入欄位名對應的CNAME地址,即您複製的ALB執行個體的DNS網域名稱。

    TTL

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

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

  1. 網域名稱解析頁面,單擊目標網域名稱,在解析設定頁面, 單擊左側導覽列的權重配置

  2. 權重配置頁面,在操作列單擊開啟權重,然後單擊設定權重

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

  3. 設定權重面板,分別為CLBALB執行個體的解析記錄設定權重。將CLB執行個體對應的解析記錄的權重設定為100,同時將ALB執行個體對應的解析記錄的權重設定為0

    網域名稱權重設定

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

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

    說明

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

    dig www.example.net

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

第四步:完成流量遷移

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

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

臨時流量切換方案

常見問題

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

    遷移後,自動為ALB執行個體配置重新導向和網域名稱路徑轉寄規則。更多資訊,請參見配置監聽轉寄規則

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

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

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

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

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

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

相關文檔