通过阿里云传统型负载均衡(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 | 弹性网卡所属的专有网络VPC ID,即RDS Custom实例的专有网络VPC 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的服务地址。
通过与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.
。