edit-icon download-icon

呼び出し方法

最終更新日: Apr 17, 2018

サービスアドレス

リージョン サービスアドレス
杭州 (中国東部 1) metrics.cn-hangzhou.aliyuncs.com
上海 (中国東部 2) metrics.cn-shanghai.aliyuncs.com
青島 (中国北部 1) metrics.cn-qingdao.aliyuncs.com
北京 (中国北部 2) metrics.cn-beijing.aliyuncs.com
深セン (中国南部 1) metrics.cn-shenzhen.aliyuncs.com
張家口 (中国北部 3) metrics.cn-zhangjiakou.aliyuncs.com
香港 metrics.cn-hongkong.aliyuncs.com
シンガポール metrics.ap-southeast-1.aliyuncs.com
シリコンバレー (米国西部 1) metrics.us-west-1.aliyuncs.com
バージニア (米国東部 1) metrics.us-east-1.aliyuncs.com
シドニー (オーストラリア) metrics.ap-southeast-2.aliyuncs.com
ドバイ (UAE) metrics.me-east-1.aliyuncs.com
東京 (日本) metrics.cn-hangzhou.aliyuncs.com
クアラルンプール (マレーシア) metrics.ap-southeast-3.aliyuncs.com
フフホト (中国北部 5) metrics.cn-huhehaote.aliyuncs.com
Asia Pacific SE 5 (ジャカルタ) metrics.ap-southeast-5.aliyuncs.com

注意:Asia Pacific NE 1(日本)のメトリックデータを照会するときは、China East 1(杭州)のサービスアドレスを使用してください。

通信プロトコル

システムは、HTTP チャネルを介したリクエスト通信に対応しています。

リクエスト方法

HTTP、 GET または POST リクエストを送信できます。HTTP、 GET リクエスト URL にはリクエストパラメーターを含める必要があります。

リクエストパラメーター

各リクエストには、公開方式の認証と署名に関するリクエストパラメーターと操作に関連する特定のパラメーターを含める必要があります。

文字エンコーディング

リクエストと返される結果は、UTF-8 文字セットでエンコードされます。

パブリックパラメーター

名前 必須かどうか 説明
Format String いいえ 戻り値のタイプ。オプションの値:JSONとXML。 デフォルト値:XML
Version String はい API のバージョン番号、日付形式 YYYY-MM-DD を使用。現在のバージョンは 2017-03-01 です。
AccessKeyId String はい サービスへのアクセスに使用するアクセスキー ID、Alibaba Cloud がユーザーに発行します。
Signature String はい 署名結果文字列。署名の計算方法については、「 署名メカニズム」を参照してください。
SignatureMethod String はい 署名方法、現在 HMAC-SHA1 に対応。
Timestamp String はい リクエストのタイムスタンプ。日付形式は ISO8601 標準、UTC 時刻を使用。形式: YYYY-MM-DDThh:mm:ssZ。例: 2014-01-10T12:00:00Z (北京現地時間で 2014 年 1 月 10 日 20:00:00)。
SignatureVersion String はい 署名アルゴリズムのバージョン。現在のバージョンは 1.0 です。
SignatureNonce String はい 一意の乱数で、反射攻撃の防止に使用。リクエストごとに異なる乱数を使用する必要があります。

署名メカニズム

CloudMonitor は、アクセスリクエストを受け取るたびに送信者認証を実行します。そのため、HTTP リクエストに署名情報を含める必要があります。CloudMonitor は Access Key ID と Access Key Secret を使用して、対称暗号化方式によるリクエスト送信者の認証を実行します。

Access Key ID と Access Key Secret は、Alibaba Cloud から訪問者に対して公式に発行されます (訪問者は Alibaba Cloud の公式 Web サイトでこれらの情報を申請し、管理することができます)。Access Key ID は訪問者の ID を示します。Access Key Secret は署名文字列を暗号化してサーバー側で認証するために使用されるキーです。機密として取り扱い、Alibaba Cloud と当該ユーザー以外に知られてはならない情報です。

Java 署名アルゴリズムの詳細については、「署名アルゴリズムリファレンス」を直接参照してください。

署名の処理プロセス

  1. リクエストパラメーターを使用して、正規化クエリ文字列を作成します。

  2. 以下のルールに従って正規化クエリ文字列を使用し、署名計算用の文字列を作成します。

    1. StringToSign=
    2. HTTPMethod + “&” +
    3. percentEncode(“/”) + ”&” +
    4. percentEncode(CanonicalizedQueryString)

    ここで HTTPMethod は、リクエスト送信に使用する HTTP メソッドです (GET など)。percentEncode(“/“) は、1.b の URL エンコーディングルールに基づいて文字 “/“ をエンコードした値、つまり “%2F” です。

    percentEncode(CanonicalizedQueryString) は、1.b の URL エンコーディングルールに従ってエンコードした正規化クエリ文字列です。

  3. RFC2104 の定義に基づいて、前述の署名文字列を使用して署名の HMAC 値を計算します。

    注意: 署名計算に使用するキーは、Access Key Secret にアンパーサンド “&” (ASCII: 38) を付加したもので、ハッシュアルゴリズム SHA1 に基づいています。

  4. Base64 コーディングルールに基づいて HMAC 値を文字列にエンコードし、署名値を取得します。

  5. 得られた署名値を Signature パラメーターとしてリクエストパラメーターに追加し、リクエストへの署名プロセスを完了します。

リクエスト文字列の作成方法

  1. リクエストパラメーターは、パラメーター名でアルファベット順に並べます (これには “パブリックリクエストパラメーター” と、このドキュメントで取り上げる任意のリクエストインターフェイスに対するカスタムパラメーターが含まれますが、「パブリックリクエストパラメーター」に説明のある Signature パラメーターは含まれません)。

    注意: GET メソッドを使用して送信するリクエストの場合、これらのパラメーターはリクエスト URI のパラメーターセクションを構成します (つまり、URI の “?” 以降に “&” で連結)。

  2. 各リクエストパラメーターの名前と値をエンコードします。UTF-8 文字セットを使用した URL エンコードが必要です。

    a. 大文字 (A ~ Z)、小文字 (a ~ z)、整数 (0 ~ 9)、および一部の記号 (en ダッシュ “-“、下線 “_”、ピリオド “.”、チルダ “~” など) はエンコードされません。

    b. 他の文字は “%XY” 形式でエンコードされます。この XY は、16 進表記の文字の ASCII コードです。たとえば、二重引用符 (“) は %22 です。

    c. UTF-8 拡張文字は “%XY%ZA…” の形式でエンコードされます。

    d. 半角スペース ( ) はプラス記号 (+) ではなく、%20 にエンコードされることに注意してください。

    注意: 一般的に、URL エンコーディングに対応しているライブラリ (Java の java.net.URLEncoder など) は、すべて “application/x-www-form-urlencoded” MIME タイプのルールに従ってエンコードされます。このエンコーディング方法を使用するには、前述のエンコーディングルールに合わせて、エンコードされた文字列内のプラス記号 “+” を “%20” に、アスタリスク “*” を “%2A” に直接置き換え、”%7E” をチルダ “~” に戻します。

  3. エンコードしたパラメーター名と値を半角の等号 (=) で連結します。

  4. 次に等号で結んだパラメーター名と値のペアをアルファベット順に並べ、& 記号で連結して、正規化クエリ文字列を作成します。

QueryMetric を例として使用した場合、署名前のリクエスト URL は次のようになります。

  1. http://metrics.aliyuncs.com/?Action=QueryMetricList&period=60&StartTime=2016-03-22T11:30:27Z&Dimensions={instanceId:'i-abcdefgh123456'}&Timestamp=2017-03-23T06:59:55Z&Project=acs_ecs_dashboard&SignatureVersion=1.0&Format=JSON&SignatureNonce=aeb03861-611f-43c6-9c07-b752fad3dc06&Version=2015-10-20&AccessKeyId=TestId&Metric=cpu_idle&SignatureMethod=HMAC-SHA1

対応する StringToSign は次のようになります。

  1. GET&%2F&AccessKeyId%3DTestId&Action%3DQueryMetricList&Dimensions%3D%257BinstanceId%253A%2527i-abcdefgh123456%2527%257D&Format%3DJSON&Metric%3Dcpu_idle&Project%3Dacs_ecs_dashboard&SignatureMethod%3DHMAC-SHA1&SignatureNonce%3Daeb03861-611f-43c6-9c07-b752fad3dc06&SignatureVersion%3D1.0&StartTime%3D2016-03-22T11%253A30%253A27Z&Timestamp%3D2016-03-23T06%253A59%253A55Z&Version%3D2015-10-20&period%3D60

Access Key ID パラメーター値を TestId、Access Key Secret パラメーター値を TestSecret とすると、HMAC の計算に使用するキーは TestSecret&、計算される署名値は次のようになります。

  1. umY/Jy1KWYWvFy9KABIm7ajKURQ=

署名付きリクエスト URL は次のようになります (Signature パラメーターが追加されています)。

  1. http://metrics.aliyuncs.com/?Action=QueryMetricList&period=60&StartTime=2016-02-02T10%3A33%3A56Z&Dimensions=%7BinstanceId%3A%27i-abcdefgh123456%27%7D
  2. &Timestamp=2016-23-04T06%3A59%3A55Z&Project=acs_ecs_dashboard&SignatureVersion=1.0&Format=JSON&SignatureNonce=aeb03861-611f-43c6-9c07-b752fad3dc06
  3. &Version=2015-10-20&AccessKeyId=TestId&Metric=cpu_idle&SignatureMethod=HMAC-SHA1 &Signature=yelYr99iwDHg9biDPVZOGrlcEss%3D