Server Load Balancer (SLB) API を呼び出すと、HTTP GETリクエストが SLB の API サービスアドレスに送信され、システムはそのリクエストに設定されているパラメーターに従って応答します。 リクエストとレスポンスはどちらも UTF-8 に符号化されます。

リクエスト構文

SLB API は RPC スタイルを使用します。 HTTP リクエストを送信して SLB API を呼び出すことができます。

SLB API リクエストの構造は次のとおりです。
http://Endpoint/?Action=xx&Parameters
説明:
  • Endpoint:SLB API のエンドポイントは slb.aliyuncs.com となります。
  • Action:操作の名前です。 たとえば、作成した SLB インスタンスをクエリする必要がある場合、操作は DescribeLoadBalancers です。
  • Version:API のバージョンです。 SLB API のバージョンは 2014-05-15 です。
  • Parameters :リクエストパラメータです。 アンパーサンド (&) を使用して複数のパラメーターを区切ります。

    リクエストパラメーターは、共通パラメーターと API 固有パラメーターで構成されます。 共通パラメーターには、他のパラメーターの中でも、API バージョンと ID 認証情報が含まれています。 詳細は、「共通パラメータ」をご参照ください。

以下は、DescribeLoadBalancers API を使用して作成済みの SLB インスタンスを照会する例です。
以下のコードは読みやすくするために編集されています。
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 
…

RAM ユーザーの認証

アカウントのセキュリティを維持するために、RAM ユーザーの Access Key (AK) を使用した API の呼び出しを推奨します。 RAM ユーザーの AK を使用して API を呼び出す前に、対応するポリシーをそれらにアタッチすることによって RAM ユーザーに権限を付与する必要があります。

詳細は、「RAM権限付与」をご参照ください。

リクエスト署名

API を呼び出すたびに、 SLB サービスは署名情報をリクエストに含めて認証を要求します。

SLB では、リクエスト送信者の ID は AccessKeyID と AccessKeySecret のペア (つまりAK) と対称暗号方式を使用して認証されます。 AK は、Alibaba Cloud から Alibaba Cloud アカウントおよび RAM ユーザーに対して発行される認証のための証明書です。 ログインパスワードに似ています。 AccessKeyID は、訪問者の身元を識別するために使用されます。 AccessKeySecret は、署名文字列を暗号化するために使用される鍵です。 サーバーは AccessKeySecret を使用して署名文字列を復号化します。 AccessKeySecret は機密に保たれなければなりません。

API 呼び出しのリクエストは、次の形式で署名されています。
https://endpoint/?SignatureVersion=1.0&SignatureMethod=HMAC-SHA1&Signature=CT9X0VtwR86fNWSnsc6v8YGOjuE%3D&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf
DescribeLoadBalancers の API 呼び出しを例にとってみます。 AccessKeyID が testid 、AccessKeySecret が 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%3DDescribeRegions&Format%3DXML&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3D3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf&SignatureVersion%3D1.0&TimeStamp%3D2016-02-23T12%253A46%253A24Z&Version%3D2014-05-26
  2. 署名する文字列の HMAC 値を計算します。
    AccessKeySecret の後にアンパサンド (&) を追加して、HMAC 値のキーを追加します。 この例では、キーを testsecret& とします。
    CT9X0VtwR86fNWSnsc6v8YGOjuE=
  3. リクエスト 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 
    &Signature=CT9X0VtwR86fNWSnsc6v8YGOjuE%3D