ニフティクラウド API REST、SDK for Java、CLI の提供を開始しました
こんにちは。ちなつです。
今回は、ニフティクラウドの”中の人”であるライター・I角の記事をご紹介します。
(*本記事の最後にI角のプロフィールを掲載しています)
*********************************************************************
ニフティのI角です。ニフティクラウドAPI機能アップデートのお知らせです。
ニフティクラウド API のアップデートを行い、以下の機能が利用できるようになりました。
REST API
SOAP API と合わせて REST API も利用できるようになりました。
今後の機能バージョンアップは SOAP/REST ともに対応していく予定です。
SDK for Java
REST API を使用した Java 用のライブラリを提供いたします。
Eclipse 等、お使いの IDE からニフティクラウドのプログラムが可能になります!
CLI
SDK for Java をラッピングしたシェル(Linux 用)、バッチ(Windows用)を提供いたします。
コマンドラインからニフティクラウドの操作が可能となり、コーディングの知識が無くてもリソースの自動運用が実現できます!
機能追加
サーバーのコピー、イメージ化、ロードバランサーの操作に対応しました。
SOAP/REST/SDK/CLI のすべてで利用可能です。
今回は、この中から CLI の利用方法について具体的にご紹介したいとおもいます。
CLI の詳しい使い方は以下から。
CLI を使ってみる
今回リリースされた CLI を使ってサーバーの作成、停止、起動をやってみたいと思います。
簡単な操作ですが、cron やタスクスケジューラ等に組み込むことで定時にサーバーを上げ下げしたり、バッチ処理でサーバーを増やしたり、といった事が自動でできるようになります。
【CLI のダウンロード】
以下からダウンロードして、お好みの場所に展開してください。
http://cloud.nifty.com/api/sdk/NIFTY_Cloud_api-tools.zip
【AccessKey/SecretAccessKey の取得】
CLI は、サーバーとの通信にREST API を使っているので、AccessKey/SecretAccessKey の取得が必要になります。
AccessKey/SecretAccessKey はコントロールパネルから取得できます。
1.コントロールパネルから「API認証」をクリックします。
2.認証キーの「新規作成」ボタンをクリックします。
3.確認ダイアログが出ますのでOKボタンをクリックします。
4.SecretAccessKeyが表示されるので、コピーして保存しておきます。
【ご注意】
SecretAccessKey が外部に漏れると、第三者から API が実行される可能性があります。外部に漏れないよう、SecretAccessKey の取り扱いには十分ご注意ください。
5.ダイアログを閉じると、認証キー欄にAccessKeyが表示されているので、こちらもコピーして保存しておきます。
【Java 実行環境】
CLI は SDK for Java をラッピングしていますので、Java 実行環境が必要になります。
Java SE 6 Update7 以降に対応していますので、インストールされていない場合は、以下からダウンロードしてインストールしてください。
http://www.java.com/ja/download/
【環境変数の設定】
以下の環境変数をセットします。
※以下は Windows の場合の例です。
NIFTY_CLOUD_HOME | CLI の zip を展開したパス |
NIFTY_ACCESS_KEY_ID | コントロールパネルから取得した AccessKey |
NIFTY_SECRET_KEY | コントロールパネルから取得した SecretAccessKey |
PATH | %NIFTY_CLOUD_HOME%\bin |
【動作確認】
nifty-describe-images コマンドを実行してみます。
以下のような結果が返って来れば成功です。
エラーになる場合は、AccessKey/SecretAccessKey、環境変数などを見直してみてください。
サーバーの作成
サーバーの作成は nifty-run-instances コマンドを実行します。
最低限必要なオプションは以下の通りです。
--accounting-type | 料金プラン 1:月額課金 2:従量課金(指定しない場合は従量課金になります) |
--instance-type | タイプ(mini~large16までを指定します) |
--instance-id | サーバー名(指定しない場合は自動的に名前が付与されます) |
--key | SSHキー名(サーバーにログインするためのSSHキーを指定します) |
--password | root のパスワード(Windows の場合は --admin も指定します) |
OSイメージID | nifty-describe-images コマンドで表示されるイメージIDを指定します。 |
ここでは、以下のサーバーを作って見たいと思います。
・料金プラン:月額(1)
・タイプ:mini
・サーバー名:api001
・OSイメージ:CentOS 5.3 64bit Server (7)
以下、結果が返ってくれば作成要求自体は成功です。
↑ただし、ステータスが「pending」となっているので、まだ作成処理中になります。
サーバーの状態確認
上記で作成したサーバーの状態を確認するためには nifty-describe-instances コマンドを実行します。
オプションにはサーバー名を指定しますが、指定しない場合はすべてのサーバーの情報を取得できます。
今回は一台だけしか作成していないのでオプション無しで実行してみます。
先ほど作成したサーバー情報が取得できましたが、まだ「pending」の状態ですので処理中になります。
しばらく待ってから再度実行してみます。
ステータスが「running」となり IP アドレスも取得できている事が確認できます。
コントロールパネルでもサーバーが作成されている事を確認してみましょう。
サーバーの停止
サーバーの停止は nifty-stop-instances を実行します。
オプションにはサーバー名を指定します。
先ほど作成したサーバーを停止してみます。
しばらく待ってから nifty-describe-instances を実行してみます。
ステータスが「stopped」になっている事が確認できます。
サーバーの起動
サーバーの起動は nifty-start-instances を実行します。
オプションにはサーバー名を指定しますが、タイプ、料金プランを指定して起動することもできます。
今回は、タイプを small にして起動してみます。
しばらく待ってから nifty-describe-instances を実行してみます。
ステータスが「running」、タイプも「small」になっている事が確認できます。
REST API、SDK for Java について
今回、ご紹介しました CLI も含め、REST API、SDK for Java については、以下に詳しい説明がありますのでご参照ください。
http://cloud.nifty.com/api/
------------------------------------
プロフィール
ライターネーム:I角
ニフティクラウドのコントロールパネル設計・開発をメインに、
たまにインフラの運用やお手伝いもやっていたりします。
コントロールパネルや新機能の活用方法、アイデアなどを
中心に書いていく予定です。
※エンハンスに向けて鋭意開発中のため不定期掲載
------------------------------------