862
微信
OpenAPI配置负载均衡__最佳实践_负载均衡-阿里云
如何通过负载均衡Open API来配置负载均衡服务。
以下示例中使用URL表示请求参数,并且没有将公共请求参数包含在内。构造完整的请求URL,请参考阿里云 ECS API 参考。为方便阅读,示例中请求URL的参数值没有进行URL编码。
前提条件 : 拥有1台或多台ECS实例。创建ECS实例并授权SSH和Web端口访问权限可以参考ECS相关介绍。
这里假设已经创建好1台ECS实例,并配置好Nginx,为了检验负载均衡能力,把/usr/share/nginx/www/index.html中的Body文字改为:“Welcome to nginx on mytesthost1! ”
1.“复制”实例
从第1台实例中“复制”出第2台实例。假设第1台实例刚刚配置完成,可以用于创建自定义镜像。
为系统盘创建快照
1) 先查询实例的系统盘ID:
请求:
https://ecs.aliyuncs.com/?Action=DescribeInstanceDisks&InstanceId=id5ab1760-3498-4d95-9687-a91545ef90b3
返回:
{
"RequestId" : "9F2188AC-AFAC-4F43-B452-C88463B9F069",
"Disks" : {
"Disk" : [
{
"DiskId" : "1008-27930",
"Size" : 20,
"Type" : "system"}]
}
}
这里,系统盘Disk ID是:”1008-27930”
2) 为系统盘创建快照:
请求:
https://ecs.aliyuncs.com/?Action=CreateSnapshot&InstanceId=id5ab1760-3498-4d95-9687-a91545ef90b3&DiskId=1008-27930&SnapshotName=mytesthost1-init
返回:
{
"RequestId" : "5CA4F9E6-81D2-42E1-A317-4C25284C6939",
"SnapshotId" : "1008-27930-1097358"
}
这里,创建的快照ID是”1008-27930-1097358”。
3)查询快照进度,等快照的Progress为100时,表示快照创建完成。
请求:
https://ecs.aliyuncs.com/?Action=DescribeSnapshotAttribute&RegionId=cn-hangzhou-dg-a01&SnapshotId=1008-27930-1097358
返回:
{
"RequestId" : "8307863A-1415-40EF-9520-8974871E651C",
"SnapshotId" : "1008-27930-1097358",
"SnapshotName" : "mytesthost1-snp-init",
"Progress" : "100",
"CreationTime" : "2013-05-19T03:19Z"
}
用创建完成的快照制作自定义镜像
请求:
https://ecs.aliyuncs.com/?Action=CreateImage&RegionId=cn-hangzhou-dg-a01&SnapshotId=1008-27930-1097358&Description=for creating test instances
返回:
{
"RequestId" : "38C930E9-5CE9-4E24-A392-8538FC20D503",
"ImageId" : "m8a1f80fe-ed9d-4156-a7a8-432f66305c36"
}
“复制”机器
有了自定义镜像,就可以“复制”一台同样配置的机器,通过ImageId=m8a1f80fe-ed9d-4156-a7a8-432f66305c36创建第2台ECS实例。
假设,下面是新创建好的ECS实例的属性:
{
"RequestId" : "850ED7ED-A4D5-40A1-A7EF-C33B74B1296B",
"InstanceId" : "i6b47cd72-843f-4558-b911-2776acae06fb",
"ImageId" : "m8a1f80fe-ed9d-4156-a7a8-432f66305c36",
"RegionId" : "cn-hangzhou-dg-a01",
"ZoneId" : "cn-hangzhou-gy002-a",
"InstanceType" : "ecs.t1.small",
"HostName" : "mytesthost2",
"Status" : "Stopped",
"SecurityGroupIds" : {
"SecurityGroupId" : [
"g1f91e6e8-3c4b-4923-98dd-78aacbd09d17"
]
},
"PublicIpAddress" : {
"IpAddress" : [
"10.10.10.173"
]
},
"InnerIpAddress" : {
"IpAddress" : [
"10.32.148.152"
]
},
"InternetMaxBandwidthIn" : 2,
"InternetMaxBandwidthOut" : 2,
"SerialNumber" : "1fec6c01-7186-2c3e-fa10-a672b8c300ec"
}
为了演示方便,在访问时与第1台进行区分以示负载均衡配置成功,把/usr/share/nginx/www/default/index.html中的Body文字改为:“Welcome to nginx on mytesthost2! ”
2.创建负载均衡的LoadBalancer
请求:
https://slb.aliyuncs.com/?Action=CreateLoadBalancer&RegionId=cn-hangzhou-dg-a01
返回: { “RequestId” : “3DE96B24-E2AB-4DFA-9910-1AADD60E13A5”, “LoadBalancerId” : “13ebb82ceaa-cn-hangzhou-dg-a01”, “Address” : “10.10.10.77” }
这里,创建好的LoadBalancer ID为: “13ebb82ceaa-cn-hangzhou-dg-a01”,为该LoadBalancer新增监听HTTP 80端口的HTTP Listener。当使用四层(TCP协议)的负载均衡时,方法类似。
请求:
https://slb.aliyuncs.com/?Action=CreateLoadBalancerHttpListener&LoadBalancerId=13ebb82ceaa-cn-hangzhou-dg-a01&ListenerPort=80&BackendServerPort=80&ListenerStatus=active
激活LoadBalancer,使其进入工作状态。
请求:
https://slb.aliyuncs.com/?Action=SetLoadBalancerStatus&LoadBalancerId=13ebb82ceaa-cn-hangzhou-dg-a01&LoadBalancerStatus=active
3.增加后端服务器
可以通过AddBackendServers接口增加负载均衡后端服务器。新增后端服务器后,负载均衡器会将请求根据配置转发到后端服务器。
请求:
https://slb.aliyuncs.com/?Action=AddBackendServers&LoadBalancerId=13ebb82ceaa-cn-hangzhou-dg-a01&BackendServers=[{"ServerId":"id5ab1760-3498-4d95-9687-a91545ef90b3"}]
返回:
{
"RequestId" : "FA2F2172-63F2-409D-927C-86BD1D536F13",
"LoadBalancerId" : "13ebb82ceaa-cn-hangzhou-dg-a01",
"BackendServers" : {
"BackendServer" : [
{
"ServerId" : "id5ab1760-3498-4d95-9687-a91545ef90b3",
"Weight" : 100
}]}
}
把第2台实例也加入进来(也可以一次增加多台):
请求:
https://slb.aliyuncs.com/?Action=AddBackendServers&LoadBalancerId=13ebb82ceaa-cn-hangzhou-dg-a01&BackendServers=[{"ServerId":"i6b47cd72-843f-4558-b911-2776acae06fb"}]
返回:
{
"RequestId" : "C61FAD0A-2E87-4D0C-80B0-95AB758FCA70",
"LoadBalancerId" : "13ebb82ceaa-cn-hangzhou-dg-a01",
"BackendServers" : {
"BackendServer" : [
{
"ServerId" : "id5ab1760-3498-4d95-9687-a91545ef90b3",
"Weight" : 100
},
{
"ServerId" : "i6b47cd72-843f-4558-b911-2776acae06fb",
"Weight" : 100
}
]
}
}
可以查询一下LoadBalancer的配置信息。
请求:
https://slb.aliyuncs.com/?Action=DescribeLoadBalancerAttribute&LoadBalancerId=13ebb82ceaa-cn-hangzhou-dg-a01
返回:
{
"RequestId" : "4747E9AE-ADFD-412D-B523-C1CBD45A2154",
"LoadBalancerId" : "13ebb82ceaa-cn-hangzhou-dg-a01",
"Address" : "10.10.10.77",
"IsPublicAddress" : "true",
"ListenerPorts" : {
"ListenerPort" : [
80
]
},
"BackendServers" : {
"BackendServer" : [
{
"ServerId" : "id5ab1760-3498-4d95-9687-a91545ef90b3",
"Weight" : 100
},
{
"ServerId" : "i6b47cd72-843f-4558-b911-2776acae06fb",
"Weight" : 100
}]
}
}
到此,两台后端服务器都已经加入到负载均衡的LoadBalancer中,之后访问https://10.10.10.77/ 并不断刷新,页面会交替显示:“Welcome to nginx on mytesthost1! ”和“Welcome to nginx on mytesthost2!”。由此证明,请求被正确转发到配置好的两台服务器上了。
最后更新:2016-11-23 16:03:58
上一篇:
配置不同会话保持规则__最佳实践_负载均衡-阿里云
下一篇:
负载均衡+ECS站点虚拟子目录的设置案例___最佳实践_负载均衡-阿里云
在64位手机中提示找不到对应的so或者so文件载入出错__Android SDK常见问题_移动推送-阿里云
经典网络和VPC常见问题FAQ__常见问题_专有网络 VPC-阿里云
步骤三:实验数据上传和加工__快速入门_推荐引擎-阿里云
云上系统专家保障(尊享版)__工作说明书_尊享服务_支持计划-阿里云
EDAS 产品系列__产品系列及发行说明_企业级分布式应用服务 EDAS-阿里云
离线算法开发手册__算法规范_开发者指南_推荐引擎-阿里云
1.2 ACE站点管理__ACE快速开始_云引擎ACE 体验_体验馆-阿里云
淘宝性能测试教程__淘宝性能测试课程_性能测试视频教程_性能测试-阿里云
数据迁移__功能特性_产品简介_数据传输-阿里云
PutObjectACL__关于Object操作_API 参考_对象存储 OSS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云