阿里雲網路型負載平衡NLB(Network Load Balancer)支援TCP、UDP和TCPSSL協議,提供了強大的四層負載平衡能力。如果您需要快速建立一個NLB執行個體,並將來自用戶端的訪問請求轉寄至後端伺服器,請參考本文操作實現IPv4服務的負載平衡。
前提條件
您已在華東2(上海)地區建立了一個Virtual Private Cloud1,並分別在可用性區域E和可用性區域G建立了一個交換器VSW1和VSW2。具體操作,請參見建立專用網路和交換器。
您已分別在VSW1和VSW2建立ECS01和ECS02執行個體,且ECS01和ECS02執行個體中部署了應用服務。
關於建立ECS執行個體,請參見自訂購買執行個體。
本文ECS01和ECS02部署測試應用樣本如下:
本文VPC執行個體的相關配置如下所示,僅供參考。
本文ECS執行個體的相關配置如下所示,僅供參考。
步驟一:建立NLB執行個體
- 登入網路型負載平衡NLB控制台。
在頂部功能表列,選擇NLB執行個體所屬的地區。
在執行個體頁面,單擊建立網路型負載平衡。
在網路型負載平衡(隨用隨付)購買頁面,完成以下配置。然後單擊立即購買並根據控制台提示完成執行個體開通。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立和管理NLB執行個體。
配置
說明
地區
選擇執行個體所屬的地區。
執行個體網路類型
選擇執行個體網路類型,系統會根據您的選擇分配私網或公網服務地址。本文選擇公網。
VPC
選擇執行個體所屬的VPC。
可用性區域
至少選擇2個可用性區域。本文選擇上海 可用性區域E及該可用性區域下的交換器,上海 可用性區域G及該可用性區域下的交換器。
協議版本
選擇執行個體的協議版本。本文選擇IPv4。
執行個體名稱
自訂執行個體名稱。
資源群組
選擇所屬的資源群組。
服務關聯角色
首次建立NLB執行個體時,需要單擊建立服務關聯角色,建立一個名稱為AliyunServiceRoleForNlb的服務關聯角色。系統會為該角色添加名稱為AliyunServiceRolePolicyForNlb的權限原則,授予NLB擁有訪問其他雲產品執行個體的許可權。更多操作,請參見網路型負載平衡NLB系統權限原則參考。
步驟二:建立伺服器組
在左側導覽列,選擇 。
在伺服器組頁面,單擊建立伺服器組。
在建立伺服器組對話方塊中,完成以下配置,然後單擊建立。
關鍵配置資訊可參考下表,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立伺服器組。
配置
說明
伺服器群組類型
伺服器組掛載的後端伺服器類型。本文選擇伺服器類型。
伺服器組名稱
輸入伺服器組名稱。
VPC
從VPC下拉式清單中選擇一個VPC,只有該VPC下的伺服器可以加入到該伺服器組。
選擇後端協議
選擇一種後端協議。本文選擇TCP。
選擇調度演算法
選擇一種調度演算法。本文選擇加權輪詢。
健全狀態檢查
開啟健全狀態檢查,健全狀態檢查保持預設配置。
待伺服器組建立成功後,單擊其執行個體ID,然後單擊後端伺服器頁簽。
單擊添加後端伺服器,在添加後端伺服器面板,選中ECS01與ECS02,單擊下一步。
在配置連接埠和權重設定精靈,配置連接埠為80,權重預設值為100,然後單擊確定。
步驟三:配置監聽
在左側導覽列,選擇 。
在執行個體頁面,單擊目標執行個體右側的建立監聽。
在負載平衡業務設定精靈配置監聽,配置以下參數,然後單擊下一步。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於配置監聽的更多操作,請參見添加TCP監聽。
參數
描述
選擇監聽協議
選擇監聽的協議類型。本文選擇TCP。
監聽連接埠
用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。本文輸入80。
監聽名稱
輸入自訂監聽名稱。
高級配置
本文保持預設,可單擊修改進行設定。
在選擇伺服器組設定精靈,選擇伺服器類型及伺服器類型下的目標伺服器組,查看已添加的後端伺服器資訊,然後單擊下一步。
在設定審核設定精靈,確認配置資訊,然後單擊提交。
單擊知道了返回監聽頁簽,查看目標監聽的健全狀態檢查狀態列為正常時,表示後端伺服器ECS01和ECS02執行個體可以正常處理NLB執行個體轉寄的請求。
步驟四:設定網域名稱解析
實際業務情境中,建議您使用自有網域名稱,通過CNAME解析的方式將自有網域名稱指向NLB執行個體網域名稱。
在左側導覽列,選擇 。
在執行個體頁面,複製已建立的NLB執行個體的DNS名稱。
執行以下步驟添加CNAME解析記錄。
說明對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台,才可以進行網域名稱解析設定。具體操作,請參見網域名稱管理。如果您是阿里雲註冊的網域名稱,請直接執行以下步驟。
登入網域名稱解析控制台。
在權威網域名稱解析頁面,找到目標網域名稱,在操作列單擊解析設定。
在解析設定頁面,單擊添加記錄。
在添加記錄面板,配置以下資訊完成CNAME解析配置,然後單擊確定。
配置
說明
記錄類型
在下拉式清單中選擇CNAME。
主機記錄
您的網域名稱的首碼。本文輸入@。
說明建立網域名稱為根網域名稱時,主機記錄為@。
解析請求來源
選擇預設。
記錄值
輸入欄位名對應的CNAME地址,此處為NLB執行個體的DNS名稱。
TTL
全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文使用預設值。
步驟五:驗證結果
測試NLB可用性:
以任意一台可以訪問公網的Linux用戶端為例。如果未安裝telnet,以CentOS系統為例可以參考執行
yum install -y telnet
安裝telnet。執行
telnet 網域名稱 連接埠
命令,收到回複報文Connected to nlb-...,則表示NLB可以將請求轉寄至後端伺服器。Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.
通過瀏覽器輸入欄位名,例如
http://網域名稱
,可以看到類似下圖所示,表示NLB可以將請求轉寄至後端伺服器。
(可選)故障類比:
停用ECS01服務。在ECS01中執行
systemctl stop nginx.service
停用應用。用戶端再次執行
telnet 網域名稱 連接埠
命令,仍然收到回複報文Connected to nlb-...Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.
通過瀏覽器輸入欄位名,例如
http://網域名稱
,可以看到類似下圖所示,表示NLB可以將請求轉寄至後端伺服器。啟用ECS01服務,停用ECS02服務。在ECS01中執行
systemctl start nginx.service
重新啟動應用,在ECS02中執行systemctl stop nginx.service
停用應用。用戶端再次執行
telnet 網域名稱 連接埠
命令,仍然收到回複報文Connected to nlb-...Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'.
通過瀏覽器輸入欄位名,例如
http://網域名稱
,可以看到類似下圖所示,表示NLB可以將請求轉寄至後端伺服器。如上表明後端單台伺服器故障不影響NLB可用性。
釋放資源
清理ECS、安全性群組等資源:
刪除ECS01執行個體及其安全性群組:
登入Elastic Compute Service執行個體控制台,頂部選擇執行個體所屬地區,單擊ECS01執行個體右側的,彈出的視窗中選擇釋放,立即釋放執行個體並確認。
登入Elastic Compute Service安全性群組控制台,頂部選擇執行個體所屬地區,勾選ECS01自訂安全性群組並單擊刪除,刪除安全性群組。
參照上述步驟,刪除ECS02執行個體及對應安全性群組資源。
刪除網域名稱解析記錄;
刪除網域名稱解析記錄,請參見刪除網域名稱解析記錄。
清理NLB資源:
登入網路型負載平衡NLB控制台,頂部選擇執行個體所屬地區,單擊執行個體右側的,彈出的視窗中選擇釋放並確認。
登入網路型負載平衡NLB控制台,頂部選擇執行個體所屬地區,在伺服器組菜單單擊伺服器組右側的,彈出的視窗中選擇刪除並確認。
清理VPC資源:
登入Virtual Private Cloud控制台,頂部選擇執行個體所屬地區。
單擊執行個體右側刪除,刪除時並且勾選強制移除,完成VPC與交換器資源的刪除。
相關文檔
瞭解NLB的應用情境、組成等資訊,請參見什麼是網路型負載平衡NLB。
瞭解NLB的功能特性,請參見功能特性。
瞭解NLB的配額及提升配額方式,請參見使用限制。
瞭解NLB支援的地區資訊,請參見NLB支援的地區與可用性區域。
瞭解NLB計費文檔,請參見NLB產品計費。