GMOアプリクラウドのAPIを使ってみよう(認証編)



こんにちは、営業 兼 イベント担当のカズです。

本日はGMOアプリクラウド(Ver3.0以降)が提供するAPIについてご紹介いたします。
まずはGMOアプリクラウドのAPIで何ができるのかを見ていきましょう。

API 機能一覧

機能 コマンド
サーバー 操作 サーバー 一覧
サーバー 詳細
サーバー 起動
サーバー 停止
サーバー 再起動
サーバー 削除 仮想サーバー 削除
サーバー 追加 仮想サーバー タイプ一覧
イメージ 一覧
仮想サーバー 作成
ネットワーク 設定 ネットワーク 一覧
サブネット 一覧
ポート 一覧
VIP 一覧
POOL 一覧
MEMBER 一覧
MEMBER 登録
MEMBER 削除
ブロックストレージ ボリュームタイプ 一覧
ボリューム 一覧
ボリューム 詳細
ボリューム 作成
ボリューム 複製
ボリューム アタッチ
ボリューム デタッチ
ログイン トークン発行
イメージ管理 ローカルディスクのイメージ保存
ブロックストレージのイメージ保存

基本、コントロールパネルから実行できる操作はほぼ網羅しています。
(グローバルIPの追加など、一部機能は除く)

【参考情報】
GMOアプリクラウド APIリファレンス

まずは上記を参考にしつつ、認証からVM作成に必要な情報の確認までをやってみましょう。早速、cURLコマンドでAPIを叩いてみます。

■トークンIDの発行
GMOアプリクラウドAPIはここで取得した24時間有効なトークンIDを使って認証します。「認証エンドポイントのURL」「テナントID」はコントロールパネルから確認いただけます。

# curl -i '認証エンドポイントのURL/v2.0/tokens' -X POST 
-H 'Accept: application/json' 
-H 'Content-Type: application/json' 
-d '{"auth":{"passwordCredentials":{"username":"コントロールパネルのログインID","password":"コントロールパネルのログインPW"},"tenantId":"テナントID"}}'

HTTP/1.1 200 OK
Server: nginx/1.6.1
Date: Fri, 16 Oct 2015 09:45:43 GMT
Content-Type: application/json
Content-Length: 2110
Connection: keep-alive

{"access":{"token":{"issued_at":"2015-10-16T09:45:43.326245","expires":"2015-10-17T09:45:43Z","id":"c19d****************************",
(後略)

上記の例では、最後の「c19d****************************」この部分がトークンIDです。APIを呼び出す際は、このトークンIDを ”X-Auth-Token” ヘッダに挿入して使います。

それでは、トークンが発行されたところでVM作成に必要な情報を確認していきます。

■イメージを確認
API経由でVMを作る場合はインストールしたいOSに対応した「イメージID」を指定する必要があります。
下記のcURLコマンドの返り値 “id”:”3292533a-***************************” この部分がイメージIDになります。

# curl -i -X GET 
-H "Accept: application/json" 
-H "X-Auth-Token: Userトークン" イメージエンドポイントURL/images?limit=100

{"images":[

●testimage-centos6
{"status":"active","name":"testimage-centos6","tags":[],"container_format":"ovf","created_at":"2015-09-18T12:08:48Z","disk_format":"qcow2","updated_at":"2015-09-18T12:10:50Z","visibility":"private","self":"/v2/images/3292533a-e6fa-4796-80a5-bced67175b3d","protected":false,"id":"3292533a-***************************","file":"/v2/images/3292533a-e6fa-4796-80a5-bced67175b3d/file","checksum":"9c2810517a2d8995b7c140b165701305","min_disk":0,"size":1874657280,"min_ram":0,"schema":"/v2/schemas/image"},
(後略)

■VMのタイプ一覧を確認
OpenStackでは、CPU、メモリ、ディスクの使用量の組合せの定義を flavors(フレーバー)と呼びます。
GMOアプリクラウドで言う「N-0102」とか「L-0102」などのプラン名が相当します。
下記の例では、L-0102_Hとなっていますが、Hは時間単位を意味しています。(日単位はDと表示されます)
cURLコマンドの返り値 “id”:”101***” この部分がフレーバーIDになります。

# curl -X GET 
-H "Accept: application/json" 
-H "X-Auth-Token: Userトークン" サーバー操作エンドポイントURL/flavors/detail?limit=5

{"flavors":[

{"name":"L-0102_H","links":[{"href":"サーバー操作エンドポイントURL/flavors/101021","rel":"self"},{"href":"サーバー操作エンドポイントURL/flavors/101021","rel":"bookmark"}],"ram":2048,"OS-FLV-DISABLED:disabled":false,"vcpus":1,"swap":"","os-flavor-access:is_public":true,"rxtx_factor":1,"OS-FLV-EXT-DATA:ephemeral":50,"disk":28,"id":"101***"},

ここまでが認証からVM作成に必要な情報確認となります。
次回はこれを元にAPIでVMの新規作成を行っていきたいと思います。

カテゴリー: GMOアプリクラウド サービス・機能   タグ: ,   この投稿のパーマリンク

コメントは受け付けていません。