通過阿里雲傳統型負載平衡(CLB,Classic 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
步驟一:擷取RDS Custom執行個體彈性網卡資訊
通過DescribeNetworkInterfaces API介面,擷取RDS Custom執行個體的彈性網卡資訊。請求參數配置如下,其中VpcId、VSwitchId和PrimaryIpAddress為選擇性參數,通過這些參數可以快速擷取到目標RDS Custom執行個體的彈性網卡資訊。
|
參數 |
描述 |
樣本值 |
|
RegionId |
RDS Custom執行個體所屬地區ID。 |
cn-hangzhou |
|
ServiceManaged |
本文查詢RDS Custom執行個體的彈性網卡,該參數配置為true。 |
true |
|
VpcId |
彈性網卡所屬的Virtual Private Cloud ID,即RDS Custom執行個體的Virtual Private Cloud ID。 說明
您可以在RDS Custom執行個體的基本資料頁的設定資訊地區,查看RDS Custom執行個體的網路資訊。 |
vpc-bp16sm1hwzyutuohe**** |
|
VSwitchId |
彈性網卡所屬的交換器 ID,即RDS Custom執行個體的交換器 ID。 |
vsw-bp1nb3pv03878tgnj**** |
|
PrimaryIpAddress |
彈性網卡主私網IP地址,即RDS Custom執行個體的私網IP地址。 |
172.16.XX.XX |
返回參數中PrivateIpAddress為彈性網卡IP地址,NetworkInterfaceId為彈性網卡ID,例如:
{
...
"NetworkInterfaceSets": {
"NetworkInterfaceSet": [
{
...
"PrivateIpAddress": "172.16.XX.XX", //彈性網卡IP
"ServiceManaged": true,
"DeleteOnRelease": true,
"ResourceGroupId": "",
"Attachment": {},
"NetworkInterfaceId": "eni-bp1j7sqxlbjnnccf****", //彈性網卡ID
...
}
]
}
}
步驟二:建立公網CLB執行個體
-
登入傳統型負載平衡CLB控制台,頂部功能表列選擇執行個體所屬地區。
-
單擊建立傳統型負載平衡。在購買頁面,選擇CLB所在地區與可用性區域,並配置執行個體名稱。
-
完成執行個體購買與建立。傳統型負載平衡CLB控制台頁面將展示新建立的執行個體。
步驟三:建立虛擬伺服器組
-
在CLB的執行個體管理頁面,單擊CLB執行個體ID,進入執行個體詳情頁。
-
在虛擬伺服器組頁簽,單擊建立虛擬伺服器組。
-
輸入虛擬伺服器組名稱後,單擊建立。
步驟四:將RDS Custom執行個體添加到虛擬伺服器組
使用AddVServerGroupBackendServers API介面,將RDS Custom執行個體添加到虛擬伺服器組。請求參數配置如下。其中,BackendServers的ServerId和ServerIp取值,為步驟一中擷取的RDS Custom執行個體的彈性網卡ID和IP地址。
|
參數 |
描述 |
樣本值 |
|
RegionId |
CLB執行個體的地區ID。 |
cn-hangzhou |
|
VServerGroupId |
虛擬伺服器組ID。 |
rsp-bp1zgr6ci**** |
|
BackendServers |
要添加的後端伺服器列表。包含以下參數:
輸入格式為: |
|
步驟五:配置執行個體監聽
-
在CLB的執行個體管理頁面,單擊目標執行個體右側的監聽設定精靈。
-
配置監聽協議與監聽連接埠,然後單擊下一步。
-
配置後端伺服器組,選擇已有虛擬伺服器組,確認RDS Custom執行個體的彈性網卡資訊後,單擊下一步。
-
健全狀態檢查,建議使用預設配置進行健全狀態檢查。
-
完成組態稽核,並提交。
當彈出的視窗顯示設定成功時,表示執行個體監聽已配置成功。
步驟六:驗證結果
-
在CLB的執行個體管理頁面,擷取CLB的服務地址。
該服務地址為專用網路內網 IP(如
172.x.x.x),顯示在執行個體列表的 服務地址 列中。 -
通過與RDS Custom同一地區、同一VPC下的ECS執行個體,執行以下
telnet命令,驗證轉寄結果。本文將以CentOS 7的ECS為例。說明如果未安裝telnet,請執行
yum install -y telnet安裝telnet。telnet <目標地址> <監聽連接埠>-
目標地址:CLB執行個體的服務地址或RDS Custom的私網IP地址。
-
監聽連接埠:CLB中配置的監聽連接埠,本文以80為例。
本文以CLB執行個體的服務地址為例:
telnet 172.16.XX.XX 80收到如下的回複報文,則表示CLB可以將請求轉寄至後端伺服器。
Trying 172.16.XX.XX... Connected to 172.16.XX.XX. Escape character is '^]'. -
-
通過
curl命令,訪問RDS Custom執行個體中Nginx服務的預設網頁。curl http://172.16.XX.XX返回結果:
Hello World ! this is RDS Custom.
(可選)通過公網利用CLB將流量轉寄至RDS Custom執行個體
-
建立公網CLB執行個體,其中執行個體類型選擇公網。
-
驗證結果。
通過瀏覽器訪問
http://<CLB執行個體的服務地址>,可以正常載入網頁,並顯示Hello World ! this is RDS Custom.。