本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
相比于傳統型負載均衡CLB(Classic Load Balancer), 網絡型負載均衡NLB(Network Load Balancer )具有超高性能的四層負載均衡處理能力,可以同時處理海量并發連接,提供TCPSSL卸載、連接限速等能力。當您的業務在持續增長,同時對功能、性能、穩定性和彈性有更高要求時,您可以將CLB四層監聽流量手動遷移至NLB實例,來輕松應對高并發業務。
關鍵特性
當您將CLB實例的流量遷移至NLB實例時,NLB提供的以下關鍵特性可以滿足您的業務場景:
高并發處理能力:單實例最大支持1億并發連接和100 Gbps帶寬,能夠輕松應對面向物聯網海量連接的高并發場景。
自動彈性擴展:您無需指定或手動調整NLB的實例規格,實例性能會隨著您的業務增減自動彈性伸縮。
全端口監聽:NLB支持全端口監聽功能,可以監控并處理一個端口段范圍內的所有網絡流量。適合需要監聽大量端口或動態端口的場景。
豐富的IPv6能力:NLB支持更豐富的IPv6能力,滿足雙棧、6to4/6to6等多場景的訴求。
應用場景
當您的業務處于以下應用場景時,您可以將CLB實例流量遷移至NLB實例:
需要處理海量并發連接,如即時通訊、物聯網設備管理等場景。
需要根據突發流量高峰自動調整資源,如電商大促等流量波動較大的場景。
需要使用大范圍的端口來處理不同場景下的數據,如在線游戲、視頻會議系統、在線教育平臺的場景。
需要擴展網絡資源,將業務從IPv4向IPv6改造或者過渡的場景。
場景示例
本文以下圖場景為例。某企業在阿里云華東1(杭州)地域已購買了一個公網CLB實例,該CLB實例已配置TCP監聽,且對外通過DNS域名提供服務。客戶端訪問域名www.example.cn
時,DNS解析會根據A記錄配置將流量指向CLB實例,CLB實例根據調度算法定義的轉發策略將流量轉發到ECS01和ECS02處理。
由于業務發展需要,該企業需要接入物聯網業務,需要將CLB實例的業務遷移至NLB實例。為了保持業務穩定,希望不改變對外提供服務的DNS域名及后端服務器的IP地址。企業可以通過在華東1(杭州)地域新購一個NLB實例并完成相關配置,使NLB的實例配置與CLB的實例配置一致,然后利用DNS域名解析的權重設置完成流量的遷移。
注意事項
前提條件
待遷移的CLB實例已配置TCP監聽和后端服務器,且該CLB實例已設置A記錄域名解析,對外通過域名提供服務。具體操作,請參見入門概述。
您已創建承載業務應用的后端服務器ECS01和ECS02,且均已部署應用示例。創建ECS實例的更多操作,請參見自定義購買實例。
說明若您的CLB實例配置UDP監聽,將CLB的流量遷移至NLB實例時,NLB實例也需要配置UDP監聽協議。
您需要準備兩臺測試服務器,一臺用于測試遷移前流量,一臺用于驗證遷移時的訪問流量。如果您已有測試服務器,則無需創建。本文用于測試的兩臺服務器均已安裝Alibaba Cloud Linux 3.2104 64位操作系統。
本文ECS01和ECS02部署測試應用示例如下:
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! this is ESC01." > index.html
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! this is ESC02." > index.html
配置 | CLB | NLB |
網絡類型 | 公網 服務地址:112.XX.XX.26 | 公網 DNS域名:nlb-h8z2851bv87*******.cn-hangzhou.nlb.aliyuncsslb.com |
域名解析 |
|
|
監聽協議 | TCP,監聽端口 | TCP,監聽端口 |
后端服務器 | ECS01、ECS02 | ECS01、ECS02 |
步驟一:創建NLB實例
- 登錄網絡型負載均衡NLB控制臺。
在頂部菜單欄,選擇NLB實例所屬的地域。
在實例頁面,單擊創建網絡型負載均衡。
在網絡型負載均衡(按量付費)購買頁面,完成以下配置(未列舉的參數保持默認值),然后單擊立即購買,根據控制臺提示完成實例購買。
配置
說明
地域
選擇實例所屬的地域。本文選擇華東1(杭州)。
實例網絡類型
選擇實例網絡類型,本文選擇公網。
說明若您選擇私網場景,使用雙VIP配置的NLB實例可提供10 Gbps的私網處理能力,支持每秒10萬新建連接和150萬并發連接。此外,NLB還具備自動彈性擴展能力,能夠根據流量需求擴展至50 Gbps。
VPC
選擇實例所屬的VPC。
可用區
選擇可用區和交換機。本文選擇杭州 可用區H、杭州 可用區I及其可用區。
協議版本
選擇實例的協議版本。本文選擇IPv4。
加入共享帶寬
本文勾選加入共享帶寬,并選擇共享帶寬包。如果沒有共享帶寬包,可單擊購買共享帶寬包并完成購買。
說明若您的業務場景為公網大流量業務:
您可以選擇綁定自己的共享帶寬包。綁定共享帶寬包后,實例的帶寬峰值以共享帶寬包的帶寬峰值為準。
如果未綁定共享帶寬包,系統默認使用按量付費的彈性公網IP(Elastic IP Address,簡稱EIP)。此時NLB公網實例的最大帶寬峰值為400 Mbps(帶寬峰值不作為業務承諾指標,僅作為參考值和帶寬上限峰值)。
您也可以在購買NLB公網實例后,將其加入共享帶寬包,具體操作,請參見調整公網NLB實例帶寬峰值。
步驟二:創建NLB服務器組
- 登錄網絡型負載均衡NLB控制臺。
在頂部菜單欄,選擇NLB實例所屬的地域。
在左側導航欄,選擇 。
在服務器組頁面,單擊創建服務器組。
在創建服務器組對話框,完成以下配置(未列舉的參數保持默認值),然后單擊創建。
配置
說明
服務器組類型
選擇服務器組的類型。本文選擇服務器類型。
服務器組名稱
輸入自定義名稱。
VPC
從VPC下拉列表中選擇NLB所在VPC,只有該VPC下的服務器可以加入到該服務器組。
選擇后端協議
選擇后端協議,本文選擇TCP。
配置健康檢查
開啟健康檢查,健康檢查保持默認配置。
待服務器組創建成功后,單擊其實例ID,然后單擊后端服務器頁簽。
單擊添加后端服務器,在添加后端服務器面板,選擇ECS01和ECS02,單擊下一步。
在配置端口和權重配置向導,端口輸入
80
,權重保持默認值,然后單擊確定。
步驟三:創建TCP監聽
- 登錄網絡型負載均衡NLB控制臺。
在頂部菜單欄,選擇NLB實例所屬的地域。
在實例頁面,單擊目標實例ID。
單擊監聽頁簽,然后單擊快速創建監聽。
在快速創建監聽對話框,配置以下參數,然后單擊確定。
配置
說明
選擇監聽協議
本文選擇TCP。
監聽端口
本文輸入
80
。轉發的后端服務器組
本文選擇服務器類型及步驟二創建的服務器組。
步驟四:測試流量
登錄用于測試流量的公網Linux服務器,測試遷移前NLB的流量。
執行以下命令編輯hosts文件。
sudo vi /etc/hosts
按
i
鍵切換至編輯模式,新增以下一條NLB實例的IP地址和域名映射關系的記錄。
47.XX.XX.101 www.example.cn
修改完成后,按下
Esc
鍵,輸入:wq
并回車以保存并關閉配置文件。
說明通過該步驟可以實現將
www.example.cn
域名解析到NLB實例的指定彈性公網 IP(47.XX.XX.101),并覆蓋原有的 CLB 域名解析。在遷移流量之前,您需要測試該域名是否可以成功訪問 NLB 實例。執行以下命令測試域名是否可以訪問NLB實例。如果未安裝telnet,執行
yum install -y telnet
命令安裝telnet。telnet www.example.cn 80 # TCP監聽端口80
收到回復報文Connected to nlb-...,則表示NLB可以將請求轉發至后端服務器。
查看NLB的操作日志。
- 登錄網絡型負載均衡NLB控制臺。
在左側導航欄,選擇
。在操作日志頁面,可以篩選事件名稱為GetLoadBalancerAttribute的事件,單擊查詢。
單擊目標事件前的圖標,然后單擊事件詳情,可以通過
requestParameterJson
和LoadBalancerId
字段查看NLB實例的運行日志信息。
步驟五:遷移流量至NLB
本文假設CLB的訪問鏈路如下圖所示。CLB已配置TCP監聽,且支持多域名訪問。本文配置的域名為example.cn
。
流量遷移前,請比對您的CLB實例配置和NLB實例配置,確保二者提供的能力完全一致,且所有配置經過完備的測試驗收,以免在遷移過程中對您的業務產生非預期的影響。
建議在業務低谷期進行CLB流量的遷移。
流量遷移前,待遷移的CLB實例已配置域名解析,您已將業務域名通過A記錄解析的方式指向CLB實例的服務地址。
在完成NLB實例配置的驗收后,本文以阿里云云解析DNS為例,為您介紹CLB流量遷移至NLB的操作步驟。您可以通過以下步驟完成流量的遷移。關于阿里云云解析DNS的介紹,請參見公網權威解析。
第一步:CLB實例配置臨時域名
推薦為NLB實例配置CNAME解析,為滿足域名權重配置的啟用條件,您需要為臨時域名添加一條CNAME解析記錄,同時將該臨時域名指向待切換CLB實例的服務地址。
權重配置的啟用條件是域名下存在相同的主機記錄、相同解析線路的多條A記錄、CNAME記錄、AAAA記錄。
登錄域名解析控制臺。
在權威域名解析頁面,找到指向待遷移CLB實例的DNS域名
www.example.cn
,單擊該域名實例ID。在解析設置頁簽,單擊添加記錄,在添加記錄面板,完成以下參數配置,然后單擊確定。
配置
說明
記錄類型
在下拉列表中選擇CNAME。
主機記錄
您的域名的前綴。本文輸入www。
解析請求來源
選擇默認。
記錄值
輸入臨時域名,本文輸入web0.example.cn。
TTL
全稱Time To Live,表示DNS記錄在DNS服務器上的緩存時間,本文使用默認值。
在解析設置頁簽,找到指向待遷移CLB實例服務地址的A記錄,在操作列單擊修改。
在彈出的修改記錄面板,修改主機記錄,然后單擊確定。本文修改主機記錄為web0,其余參數保持不變。
第二步:NLB實例添加CNAME解析
您也可以為NLB實例添加A記錄,將DNS域名解析到某個可用區的VIP。
- 登錄網絡型負載均衡NLB控制臺。
在頂部菜單欄,選擇NLB實例所屬的地域,本文選擇華東1(杭州)。
找到目標NLB實例,復制其對應的DNS名稱。
完成以下步驟添加CNAME解析記錄。
登錄域名解析控制臺。
在目標域名的操作列單擊解析設置。這里目標域名為CLB實例綁定的域名。
在解析設置頁面單擊添加記錄。
在添加記錄面板配置以下信息完成CNAME解析配置,然后單擊確定。
配置
說明
記錄類型
在下拉列表中選擇CNAME。
主機記錄
您的域名的前綴。本文輸入www
解析請求來源
選擇默認。
記錄值
輸入域名對應的CNAME地址,即您復制的NLB實例的DNS域名。
TTL
全稱Time To Live,表示DNS記錄在DNS服務器上的緩存時間,本文使用默認值。
說明新增CNAME記錄實時生效,修改CNAME記錄取決于本地DNS緩存的解析記錄的TTL到期時間,默認一般為10分鐘。
添加時如遇添加沖突,請換一個解析域名。更多信息,請參見解析記錄互斥規則。
第三步:設置權重,開始流量灰度
在權威域名解析頁面,單擊目標域名實例ID。
單擊權重配置頁簽,找到目標域名,在操作列單擊設置權重。
權重配置的啟用條件是域名下存在相同的主機記錄、相同解析線路的多條A記錄、CNAME記錄、AAAA記錄。
在設置權重面板,分別為CLB和NLB實例的解析記錄設置權重。將CLB實例對應的解析記錄的權重設置為100,同時將NLB實例對應的解析記錄的權重設置為0。
在觀察業務沒有影響的情況下,逐步減小CLB實例解析記錄的權重值,同時逐步增加NLB實例解析記錄的權重值。
登錄用于遷移流量的Linux客戶端,多次執行
dig
命令,驗證流量遷移效果。dig www.example.cn
運行結果如下圖所示。您可以通過多次運行結果觀察到,請求會根據權重分配至CLB或NLB處理。
第四步:完成流量遷移
根據流量遷移的驗證結果,逐步將CLB實例解析記錄的權重值減小至0,同時逐步增加NLB實例解析記錄的權重值至100。至此,您已完成CLB實例流量至NLB實例的遷移,當CLB實例長連接全部處理完成,且CLB實例沒有新增流量時,您可以根據業務場景靜默觀察一段時間后釋放該CLB實例。關于如何釋放CLB實例,請參見釋放實例。
遷移完成后,本文中NLB的訪問鏈路如下圖所示:
高階功能
負載均衡產品NLB是對CLB四層負載均衡能力的一次升級,在某些特性的具體表現形式上有一些差異。您可以通過以下文檔更好地了解NLB實例、配額限制、快速入門及DDoS防護:
關于NLB實例概述,請參見NLB實例概述。
關于NLB配額限制,請參見使用限制。
關于NLB快速入門, 請參見NLB快速實現IPv4服務的負載均衡和NLB快速實現IPv6服務的負載均衡。
NLB默認提供基礎的DDoS防護能力。更多信息,請參見什么是DDoS原生防護。
下表列出了CLB和NLB一些高階功能的差異:
功能 | CLB | NLB |
服務器組 | 支持默認服務器組、虛擬服務器組和主備服務器組。 | 統稱為服務器組。 |
單向認證 | 支持阿里云簽發的證書和上傳非阿里云簽發的證書,配置方式請參見使用CLB部署HTTPS業務(單向認證) 。 | 通過在流量入口部署NLB并配置SSL證書,后端服務器無需配置SSL,NLB即可通過TCPSSL監聽來接收加密流量,并將其解析為明文流量然后將流量分發至后端服務器。配置方式,請參見通過NLB實現TCPSSL卸載(單向認證)。 |
雙向認證 | 支持阿里云簽發的CA證書和上傳非阿里云簽發的CA證書。配置方式請參見使用CLB部署HTTPS業務(雙向認證)。 | 通過在流量入口部署NLB并配置SSL證書和CA證書,TCPSSL雙向認證可以對通信雙方進行認證。配置方式,請參見通過NLB實現TCPSSL卸載(雙向認證)。 |
全端口監聽 | 不支持 | 使用NLB全端口監聽功能,使NLB能夠監控并響應一個端口段范圍內的所有網絡流量,在同一個監聽中實現多端口流量轉發,降低配置復雜度、運維難度以及安全風險。配置方式,請參見使用NLB全端口監聽功能實現多端口流量轉發。 |
安全防護 | 通過訪問控制實現黑白名單訪問策略。配置方式,請參見訪問控制。 | 通過安全組實現NLB基于監聽/端口粒度的訪問控制以及實現黑白名單訪問策略的訪問控制。配置方式,請參見 |
常見問題
遷移前后,CLB實例和NLB實例的哪些配置需要保持一致?
地域、網絡類型、監聽協議、后端服務器等需保持一致。NLB實例所屬VPC需與CLB實例所屬VPC保持一致,可用區無需保持一致。
CLB和NLB使用的證書有哪些差異?
CLB支持HTTPS協議的加密傳輸,NLB支持TCPSSL協議的加密傳輸。相對于CLB自身支持上傳阿里云簽發和非阿里云簽發證書;NLB使用的證書依賴數字證書管理服務提供的能力,由阿里云證書中心管理。
對于CLB實例,證書上傳的相關操作請參見上傳證書。
對于NLB實例,證書上傳的相關操作請參見購買SSL證書、上傳SSL證書和管理證書應用倉庫中的證書。
CLB和NLB訪問控制有哪些差異?
CLB和NLB的域名解析有哪些差異?
CLB實例需要通過A記錄解析的方式,將自定義域名指向CLB的服務地址。
對于NLB實例:
建議您使用CNAME解析的方式將自定義域名指向到NLB實例的DNS名稱,通過該方式可以更便捷地訪問網絡資源。
如果您的自定義域名需要解析到固定IP地址,您可以通過A記錄解析的方式將自定義域名解析至NLB提供的IP地址。
相關文檔
如果您需要詳細了解CLB實例和NLB實例在功能特性、計費以及產品優勢方面的區別,請參見負載均衡SLB產品家族介紹。
CLB實例和NLB實例的產品相關簡介、基礎配置、功能差異、計費信息,請參見以下鏈接:
CLB實例
NLB實例