負載平衡介面調用是向負載平衡API的服務端地址發送HTTP GET請求,並按照介面說明在請求中加入相應請求參數,調用後系統會返回處理結果。請求及返回結果都使用UTF-8字元集進行編碼。

請求結構

負載平衡的API是RPC風格,您可以通過發送HTTP GET請求調用負載平衡API。

其請求結構如下:
http://Endpoint/?Action=xx&Parameters
其中:
  • Endpoint:負載平衡API的服務接入地址為slb.aliyuncs.com。
  • Action:要執行的操作,如使用DescribeLoadBalancers查詢已建立的Server Load Balancer執行個體。
  • Version:要使用的API版本,負載平衡的API版本是2014-05-15
  • Parameters:請求參數,每個參數之間用“&”分隔。

    請求參數由公共請求參數和API自訂參數組成。公共參數中包含API版本號碼、身分識別驗證等資訊,詳情參見公共參數

下面是一個調用DescribeLoadBalancers介面查詢已建立的Server Load Balancer執行個體的樣本:
说明 為了便於使用者查看,本文檔中的樣本都做了格式化處理。
https://slb.aliyuncs.com/?Action=DescribeLoadBalancers
&Format=xml
&Version=2014-05-15
&Signature=xxxx%xxxx%3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId=key-test
&TimeStamp=2012-06-01T12:00:00Z
…

API授權

為了確保您的帳號安全,建議您使用子帳號的身份憑證調用API。如果您使用RAM帳號調用負載平衡API,您需要為該RAM帳號建立、附加相應的授權策略。

負載平衡中可授權的資源和介面列表,參見RAM鑒權

API簽名

負載平衡服務會對每個API請求進行身分識別驗證,無論使用HTTP還是HTTPS協議提交請求,都需要在請求中包含簽名(Signature)資訊。

負載平衡通過使用AccessKey ID和AccessKey Secret進行對稱式加密的方法來驗證請求的寄件者身份。AccessKey是為阿里雲帳號和RAM使用者發布的一種身份憑證(類似於使用者的登入密碼),其中AccessKey ID 用於標識訪問者的身份,AccessKey Secret是用於加密簽名字元串和伺服器端驗證簽名字元串的密鑰,必須嚴格保密。

RPC API需按如下格式在請求中增加簽名(Signature):
https://endpoint/?SignatureVersion=1.0&SignatureMethod=HMAC-SHA1&Signature=CT9X0VtwR86fNWSnsc6v8YGOjuE%3D&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
DescribeLoadBalancers為例,假設AccessKey ID是testid, AccessKey Secret是testsecret,則簽名前的請求URL如下:
http://slb.aliyuncs.com/?Action=DescribeLoadBalancers
&TimeStamp=2016-02-23T12:46:24Z
&Format=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
&Version=2014-05-26
&SignatureVersion=1.0
完成以下步驟計算簽名:
  1. 使用請求參數建立待簽名字元串:
    GET&%2F&AccessKeyId%3Dtestid&Action%3DDescribeLoadBalancers&Format%3DXML&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3D3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf&SignatureVersion%3D1.0&TimeStamp%3D2016-02-23T12%253A46%253A24Z&Version%3D2014-05-15
  2. 計算待簽名的HMAC的值。
    在AccessKey Secret後添加一個“&”作為計算HMAC值的key。本樣本中的key為testsecret&
    CT9X0VtwR86fNWSnsc6v8YGOjuE=
  3. 將簽名加到請求參數中:
    http://slb.aliyuncs.com/?Action=DescribeLoadBalancers
    &TimeStamp=2016-02-23T12:46:24Z
    &Format=XML
    &AccessKeyId=testid
    &SignatureMethod=HMAC-SHA1
    &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
    &Version=2014-05-26
    &SignatureVersion=1.0
    &Signature=CT9X0VtwR86fNWSnsc6v8YGOjuE%3D