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-阿裏雲