通過阿里雲網路型負載平衡(NLB,Network Load Balancer),可以將訪問流量高效地轉寄至RDS Custom,確保流量的均衡分配。此外,該方案還支援RDS Custom執行個體與外部公網的串連,有效保護了內部網路的安全性,同時提升了服務的可用性和擴充性。
資料準備
已在目標RDS Custom中成功部署應用服務。本文將以Nginx服務為例進行說明,請在目標RDS Custom中執行以下命令:
yum install -y nginx
systemctl start nginx.service
cd /usr/share/nginx/html/
echo "Hello World ! this is RDS Custom." > index.html
步驟一:建立NLB執行個體
-
在頂部功能表列中,選擇與目標RDS Custom執行個體相同的地區。
-
在執行個體頁面,單擊建立網路型負載平衡。
-
在網路型負載平衡(隨用隨付)購買頁面,完成以下配置。然後單擊立即購買並根據控制台提示完成執行個體開通。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立和管理NLB執行個體。
配置
說明
地域
選擇與目標RDS Custom執行個體相同的地區。
執行個體網路類型
選擇執行個體網路類型,系統會根據您的選擇分配私網或公網服務地址。本文選擇私網。
-
私網:每個可用性區域提供一個私網IP,只能通過阿里雲內部網路訪問NLB,無法從互連網訪問。例如,從同一VPC內的ECS訪問NLB。
-
公網:每個可用性區域提供一個公網IP和一個私網IP。公網NLB預設通過Elastic IP Address(Elastic IP Address,簡稱EIP)提供公網能力,選擇公網將會收取Elastic IP Address執行個體費、頻寬或流量費用。
VPC
選擇與目標RDS Custom執行個體相同的VPC。
可用區
至少選擇2個可用性區域。例如,當RDS Custom執行個體在上海地區時,可以選擇上海 可用性區域E及該可用性區域下的交換器,上海 可用性區域L及該可用性區域下的交換器。
協議版本
選擇執行個體的協議版本。本文選擇IPv4。
服務關聯角色
首次建立NLB執行個體時,需要單擊創建服務關聯角色,建立一個名稱為AliyunServiceRoleForNlb的服務關聯角色。系統會為該角色添加名稱為AliyunServiceRolePolicyForNlb的權限原則,授予NLB擁有訪問其他雲產品執行個體的許可權。更多操作,請參見網路型負載平衡NLB系統權限原則參考。
實例名稱
自訂執行個體名稱。
資源群組
選擇所屬的資源群組。
-
步驟二:建立NLB伺服器組
-
在左側導覽列,選擇。
-
在伺服器組頁面,單擊建立伺服器組。
-
在建立伺服器組對話方塊中,完成以下配置,然後單擊建立。
關鍵配置資訊可參考下表,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立伺服器組。
配置
說明
伺服器群組類型
伺服器組掛載的後端伺服器類型。本文選擇IP類型。
伺服器組名稱
輸入伺服器組名稱。
VPC
選擇與目標RDS Custom執行個體相同的VPC。
選擇後端協議
選擇一種後端協議。本文選擇TCP。
選擇調度演算法
選擇一種調度演算法。本文選擇加權輪詢。
健康检查
開啟健全狀態檢查,健全狀態檢查保持預設配置。
-
待伺服器組建立成功後,單擊其執行個體ID,然後單擊後端伺服器頁簽。
-
單擊添加IP,在新增後端伺服器面板,添加RDS Custom執行個體的私網IP地址,單擊下一步。
-
在配置連接埠和權重設定精靈,配置連接埠為80,權重預設值為100,然後單擊確定。
說明當伺服器組開啟全連接埠轉寄後,添加後端伺服器時無需指定連接埠。NLB將按照前端請求連接埠轉寄流量至後端伺服器。
步驟三:配置監聽
在左側導覽列,選擇。
-
在執行個體頁面,單擊目標執行個體右側的建立監聽。
-
在負載平衡業務設定精靈配置以下參數,然後單擊下一步。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於配置監聽的更多操作,請參見添加TCP監聽。
參數
描述
選擇監聽協議
選擇監聽的協議類型。本文選擇TCP。
監聽連接埠
用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。本文輸入80。
監聽名稱
輸入自訂監聽名稱。
高級配置
本文保持預設,可單擊修改進行設定。
-
在選擇伺服器組設定精靈,選擇IP類型及其下的目標伺服器組,查看已添加的後端伺服器資訊,然後單擊下一步。
-
在設定審核設定精靈,確認配置資訊,然後單擊提交。
-
單擊知道了返回監聽頁簽,查看目標監聽的健全狀態檢查狀態列為正常時,表示後端伺服器RDS Custom執行個體可以正常處理NLB執行個體轉寄的請求。
步驟四:驗證結果
-
在NLB執行個體詳情頁,擷取NLB執行個體的DNS 名稱。
可通過CNAME解析將自訂網域名指向NLB執行個體的DNS名稱,詳情請參見添加解析記錄。
-
通過與RDS Custom同一地區、同一VPC下的ECS執行個體,執行以下
telnet命令,驗證轉寄結果。本文將以CentOS 7的ECS為例。說明如果未安裝telnet,請執行
yum install -y telnet安裝telnet。telnet <目標地址> <監聽連接埠>-
目標地址:NLB執行個體的DNS名稱或RDS Custom的私網IP地址。本文以NLB執行個體的DNS名稱為例。
-
監聽連接埠:NLB中配置的監聽連接埠,本文以80為例。
樣本:
telnet nlb-r3rw8kyfwm5bfm****.cn-shanghai.nlb.aliyuncsslb.com 80收到如下的回複報文,則表示NLB可以將請求轉寄至後端伺服器。
Trying 47.116.XXX.XXX... Connected to nlb-r3rw8kyfwm5bfm****.cn-shanghai.nlb.aliyuncsslb.com. Escape character is '^]'. -
-
通過
curl命令,訪問RDS Custom執行個體中Nginx服務的預設網頁。curl http://nlb-r3rw8kyfwm5bfm****.cn-shanghai.nlb.aliyuncsslb.com返回結果:
Hello World ! this is RDS Custom.
(可選)通過公網利用NLB將流量轉寄至RDS Custom執行個體
-
在頂部功能表列,選擇執行個體所屬的地區。
-
在執行個體頁面,找到目標私網NLB執行個體,然後單擊執行個體ID。
-
在執行個體詳情頁簽,找到基本資料地區,在網路類型的IPv4右側單擊變更網路類型。
-
在變更網路類型對話方塊中,選擇IP類型為Elastic IP Address。
-
在列表中的分配Elastic IP Address下拉框中選擇新購Elastic IP Address或指定可用的Elastic IP Address,然後單擊確定變更。
說明列表中的所有可用性區域都需要分配Elastic IP Address。
選擇新購Elastic IP Address會在釋放NLB執行個體或者公網變更私網時一併釋放,選擇已有的EIP會在釋放NLB執行個體或者公網變更私網時被保留。
您可以通過Elastic IP Address管理主控台查看已購EIP的相關參數資訊。
-
在執行個體詳情頁簽,查看網路類型。
此變更生效大約需要一分鐘,在執行個體詳情頁簽查看IPv4的網路類型轉變為公網後,代錶轉換成功。
-
驗證結果。
通過瀏覽器訪問
http://nlb-r3rw8kyfwm5bfm****.cn-shanghai.nlb.aliyuncsslb.com,可以正常載入網頁,並顯示Hello World ! this is RDS Custom.。