さくらのクラウドAPIを使ってみよう(1)——コマンドラインツール「sacloud」から使う

fig1

 「さくらのクラウド」では、HTTPベースで外部からクラウドの操作を行えるAPIが提供されている。APIを利用することで、スクリプトなどで仮想サーバの作成を自動化したり、監視・管理といった用途を行うカスタムツールを作成できる。今回はこのさくらのクラウドAPIの概要と、さくらインターネットが提供しているコマンドラインクライアント「sacloud CLI」を使ってさくらのクラウドAPIを利用する例を紹介する。

さくらのクラウドAPIとは?

 さくらのクラウドでは、仮想サーバや仮想ネットワークなどを作成するためのツールとして、Webベースで操作できるコントロールパネルが提供されている(図1)。コントロールパネルではGUIで容易に操作を実行できるが、たとえば多数の仮想サーバを作成する場合など、多くの処理を実行する場合は同じ操作を繰り返さなければならない。このような場合に便利なのがさくらのクラウドAPIだ。

 さくらのクラウドAPIでは、HTTPで特定のURLに対しアクセスすることで、クラウドに対しさまざまな処理を実行できる。現在のAPIバージョンは1.1で、提供されているAPIについてはさくらのクラウドAPI v1.1 ドキュメントにまとめられているが、サーバ関連の処理を行うAPIやディスク関連の処理を行うもの、スイッチ関連のものなど、多数のAPIが提供されている。

 APIではさくらのクラウドに関するほぼすべての処理が実行でき、たとえばサーバ関連のAPIでは、作成された仮想サーバの一覧取得やサーバの作成、指定したサーバの情報取得、サーバの起動/停止/リセット、サーバのプランの変更といった処理が可能だ。

 さくらのクラウドAPIを利用するもう1つのケースとしては、処理を自動化したいという場合だ。クラウドAPIを利用したスクリプトを作成することで、たとえば特定の時間帯や曜日にだけサーバを追加したり、リソースの使用状況を監視して不足が予測される場合にサーバを追加する、といった処理を実装できる。

さくらのクラウドAPIの概要

 さくらのクラウドAPIを使った処理の流れは、次のようになる(図1)。

図1 さくらのクラウドAPIを使った処理の流れ
図1 さくらのクラウドAPIを使った処理の流れ

 さくらのクラウドAPIでは、特定のURL(エンドポイント)に対しHTTPSのGETもしくはPOST、PUT、DELETEといったリクエストを送信することで処理をリクエストする。このとき、Basic認証もしくはDigest認証を用いてユーザーの認証が行われる。認証ではユーザーごとの「APIキー」および「トークンシークレット」が使用される。これらはさくらのクラウドのコントロールパネルから取得できる(後述)。

 さくらのクラウド側はリクエストを受け取るとそれに応じた処理を実行し、HTTPステータスコードとともにJSON形式で処理結果を返す。クライアントはこれらを見ることで、処理が成功したのかそれとも失敗したのかを判断できるとともに、リクエストに応じた情報を取得できる。

 なお、このような実装は「REST API」などと言われており、さまざまな言語でREST APIを扱うためのライブラリやツールが提供されている。curlなどのHTTPクライアントを使ってさくらのクラウドAPIを利用することも可能だが、その場合リクエストを組み立てたり、受け取ったレスポンスを扱うのがやや面倒である。そのため、実際にさくらのクラウドAPIを使って処理を行う場合はREST APIを扱うためのライブラリやツールを利用することをおすすめする。

 そのようなツールの1つとして、さくらインターネットが公式にリリースしているのがさくらのクラウドAPIをコマンドラインから操作できる「sacloud CLI」というツールだ。コンソールから処理を行ったり、シェルスクリプトなどを使ってバッチ処理を行う場合はこちらが便利だ。今回はこの「sacloud CLI」を使って、さくらのクラウドを操作する例を紹介しよう。

>>次ページ:コマンドラインツール「sacloud CLI」を使う

おしらせ

banner_cloud