サービスアドレス
リージョン | サービスアドレス |
---|---|
杭州 (中国東部 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 署名アルゴリズムの詳細については、「署名アルゴリズムリファレンス」を直接参照してください。
署名の処理プロセス
リクエストパラメーターを使用して、正規化クエリ文字列を作成します。
以下のルールに従って正規化クエリ文字列を使用し、署名計算用の文字列を作成します。
StringToSign=
HTTPMethod + “&” +
percentEncode(“/”) + ”&” +
percentEncode(CanonicalizedQueryString)
ここで HTTPMethod は、リクエスト送信に使用する HTTP メソッドです (GET など)。percentEncode(“/“) は、1.b の URL エンコーディングルールに基づいて文字 “/“ をエンコードした値、つまり “%2F” です。
percentEncode(CanonicalizedQueryString) は、1.b の URL エンコーディングルールに従ってエンコードした正規化クエリ文字列です。
RFC2104 の定義に基づいて、前述の署名文字列を使用して署名の HMAC 値を計算します。
注意: 署名計算に使用するキーは、Access Key Secret にアンパーサンド “&” (ASCII: 38) を付加したもので、ハッシュアルゴリズム SHA1 に基づいています。
Base64 コーディングルールに基づいて HMAC 値を文字列にエンコードし、署名値を取得します。
得られた署名値を Signature パラメーターとしてリクエストパラメーターに追加し、リクエストへの署名プロセスを完了します。
リクエスト文字列の作成方法
リクエストパラメーターは、パラメーター名でアルファベット順に並べます (これには “パブリックリクエストパラメーター” と、このドキュメントで取り上げる任意のリクエストインターフェイスに対するカスタムパラメーターが含まれますが、「パブリックリクエストパラメーター」に説明のある Signature パラメーターは含まれません)。
注意: GET メソッドを使用して送信するリクエストの場合、これらのパラメーターはリクエスト URI のパラメーターセクションを構成します (つまり、URI の “?” 以降に “&” で連結)。
各リクエストパラメーターの名前と値をエンコードします。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” をチルダ “~” に戻します。
エンコードしたパラメーター名と値を半角の等号 (=) で連結します。
- 次に等号で結んだパラメーター名と値のペアをアルファベット順に並べ、& 記号で連結して、正規化クエリ文字列を作成します。
QueryMetric を例として使用した場合、署名前のリクエスト URL は次のようになります。
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 は次のようになります。
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&、計算される署名値は次のようになります。
umY/Jy1KWYWvFy9KABIm7ajKURQ=
署名付きリクエスト URL は次のようになります (Signature パラメーターが追加されています)。
http://metrics.aliyuncs.com/?Action=QueryMetricList&period=60&StartTime=2016-02-02T10%3A33%3A56Z&Dimensions=%7BinstanceId%3A%27i-abcdefgh123456%27%7D
&Timestamp=2016-23-04T06%3A59%3A55Z&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 &Signature=yelYr99iwDHg9biDPVZOGrlcEss%3D