2012年3月2日金曜日

海外のクラウドサービスに登録してCloudStack APIを使ってみる

前回に続き、今回は「CloudStack」をキーワードに海外クラウドを申し込んでみます。
そして、以前作成したCloudStack API用ライブラリがIDCFクラウド以外のサービスでも利用できるか確認してみます。

対象のクラウドサービスはこちらを参考に選んでみました。下記3つです。
Tata Communications
KT
logicworks


それでは、登録から始めます。
  • Tata Communications
    サービス名:InstaCompute
    申込方法:上記URL先の上部に「Free Trial」があるので、こちらをクリック。名前などの情報を入力。しばらくすると(私の場合は翌日)、インドから電話がかかり、本人確認をされる。(mailなどいくつかの質問に回答)。その後、mailにてTrialCodeが送付され、登録するとサービス利用可能になる。
    操作画面:下記はlogin後のコンパネ画面。いろいろとタブが並んでいます。

  • KT
    サービス名:uCloud
    申込方法:上記URL先にいくとハングルの画面になりますので、右上の「English」で英語に切り替えます。左側の「Register」からまずは、メンバー登録を行います。メンバー登録はすんなり完了できたのですが、その後、個人情報を入力する際「SocialSecurityNumaber」を求められたので断念しました。ここまで。
  • logicworks
    サービス名:infiniCloud
    申込方法;前回同様に、クレジットカード登録でエラーになったので今回も断念。

結局、ちゃんと登録できたのはTataだけでした。。。

引き続き、TataにてCloudStack APIを試します。手順は下記の通り。
  1. コンパネのAccount Administration > My Accountより、Cloud API KeyとCloud Secretを確認
  2. 次に、Support > Developer APIより、API操作に必要な情報(Base_URLとAPI Path)を確認
    同じような情報は下記でも公開されています。
    http://instacompute.com/service-details/api/

  3. 上記情報を参考にsignatureを作成。
    (手順自体はCloudStack APIと同じ)
  4. 最後にURL全体を構成しAPIサーバにアクセス。
実際に、以前作成したライブラリを用いて、IDCFクラウド用に作成したスクリプトをそのまま利用してURLを生成しました。
(base_url,api_pathのクラウド情報、api key,secret keyのユーザ情報のみ変更。このコマンドでは、第1引数でサービス名を指定することで、対象サービスを切り替えることができるようにしています)
もちろん、他の言語でも作成可能です。

listZonesの場合、下記のようなresponseを得られました。
listVirtualMachinesなども正常にresponseを得ることができましたが、ここでは割愛します。

$ ./cs-api.pl tata listZones
{
   "listzonesresponse" : {
      "zone" : [
         {
            "name" : "India-South-01",
            "id" : "1"
         }
      ]
   }
}

以上より、CloudStack APIを利用して、IDCFクラウド以外の(CloudStackを使用している)クラウドサービスを操作できることを確認できました。
このエントリーをはてなブックマークに追加