Cloudn \ 技術ブログ tech blog

クラウド・エヌの活用方法についてご紹介していきます。
Cloudn Information

前の記事・次の記事

Cloudn ComputeのAPIをRubyから使おう

ブログ記事

はじめまして。Cloudnを利用して、WebRTCのプラットフォームであるSkyWayを開発・運用している岩瀬と申します。

SkyWayの提供基盤にはCloudnを利用しており、CloudnのAPIを利用してCloudn環境構築を完全自動化しています。自動化するためには、CloudnのAPIをプログラムから利用すると便利であり、その具体的な方法は複数あります。例えば、本ブログではSDKを使おうや、CloudnのAPIを使おう!シリーズで紹介されています。

その中でも今回は、SkyWayのCloudn環境構築に利用しているCloudn SDK for Rubyライブラリの概要・インストール方法・利用方法について紹介いたします。

Cloudn SDK for Rubyの概要

Cloudn SDK for Rubyとは、CloudnのAPIをRubyから簡易に利用できるようにしたオープンソースライブラリのことです。

Cloudn SDK for Rubyを利用すると、仮想サーバの作成・セキュリティグループの操作等が、プログラマブルな形で記述可能になります。結果として、クラウド環境をコードベースで管理(Infrastructure as Code)でき、環境構築もコマンド操作のみで実現できるため、開発プロセスを効率化できます。

インストール方法

(前提:Rubyがインストールされている必要があります。Ruby未インストールの場合は、Ruby公式サイトを参考にインストールください。)

インストールする方法は、単にgemコマンドを利用する方法と、Bundlerを利用する方法があります。ここでは、前者のgemコマンドを利用します。(本記事では、Rubyバージョン2.1.2p95で動作確認しております)

上記のように表示が出れば成功です。

利用方法

実際に、Cloudn Compute FLATタイプの東日本リージョンに、仮想サーバを作成するまでの手順を紹介いたします。Cloudn SDK for Rubyの利用には、(1)アクセスキー等のコンフィグを設定、(2)RubyからAPIを呼び出す の2つのプロセスが必要であり、それぞれを以下で説明いたします。

(1) アクセスキー等のコンフィグを設定

コンフィグの設定方法は以下の3種類があり、Cloudn利用者がいずれかを選択します。

  • [a] JSONファイルを任意の場所に作成して利用します。
  • [b] ~/.cloudnapi/config に読み込むコンフィグファイルを作成します。
  • [c] 3つの環境変数 ‘CLOUDN_API_KEY’, ‘CLOUDN_SECRET_KEY’, ‘CLOUDN_URL’ を指定します。

今回はThe twelve-factor appの3つ目でも推奨されている[c]の環境変数を利用する方法で進めます。まず、Cloudn Compute FLATタイプ APIリファレンスを参考に、アクセスキーIDと秘密鍵を取得します。

続いて以下の3つの環境変数を登録します。

  • CLOUDN_URL=https://comp-api.jp-e1.cloudn-service.com/client/api
  • CLOUDN_API_KEY=XXXXX
  • CLOUDN_SECRET_KEY=YYYYY

具体的な登録方法の一例を示します。

補足1:上記のCLOUDNURL環境変数はCloudn Compute FLATタイプの東日本リージョンを使う場合です。Cloudn Compute FLATタイプでも西日本リージョンを使う場合は、CLOUDNURLを変更します。CLOUDNURL=https://comp‒api.jp‒w1.cloudn‒service.com/client/api

リージョン毎にURLは異なりますので、操作したいリージョンに応じてCLOUDNURLを変更してください。リージョン毎のURLはCloudnインフォメーションポータルに掲載しています。

https://www.cloudn-service.com/guide/manuals/html/flat-api/rsts/APIInfo/compute_api.html

鍵を統一すると、CLOUDN_API_KEYとCLOUDN_SECRET_KEYを変更する必要が無くなりますので便利です。なお、今回ご紹介するCloudn SDK for RubyはCloudStack APIを操作するライブラリですのでCloudStack API Endpointを使用してください。AWS互換API Endpointでは動作しません。

補足2:CLOUDN_API_KEYのXXXXX、およびCLOUDN_SECRET_KEYのYYYYYはご自身の環境に置き換えて利用ください。XXXXX、YYYYYは以下の手順で確認可能です。・Cloudnにログインし、画面右上のプルダウンから「APIアクセスキー・秘密鍵管理」を選択します。
(もし、まだ鍵を統一されていない場合は「鍵を統一する」ボタンを押下すると、サービス共通の鍵のみになり、APIが利用しやすくなります)
・サービス共通、アクセスキーIDの箇所の値が、CLOUDN_API_KEYのXXXXXに該当します。
・サービス共通、秘密鍵の箇所の値が、CLOUDN_SECRET_KEYのYYYYYに該当します。

(2) RubyからAPIを呼び出す

仮想サーバの作成にdeployVirtualMachineというAPIを利用します。
このAPIを利用するためには、呼び出しに必要な必須パラメータにUUIDを指定する必要があり、UUIDの具体的な値の確認が事前に必要です。
そこで、一例としてサービスオファリング(仮想サーバーのプラン)のUUIDを以下のプログラムで取得します。プログラム名はlist_so.rbで作成しています。

コマンドを実行すると以下のように結果が返ってきます。

今回はt1.microのUUIDである、200c6378-8ae9-4718-9b25-b8c4f6c1dfc8を利用して、仮想サーバを作成してみます。 その他の仮想サーバのスペックは以下の通りとします:

  • 仮想サーバ名:sample-vm
  • 仮想サーバプラン:t1.micro
  • ゾーン:jp-e1b
  • OS:CentOS 6.5 64bit

仮想サーバの作成に利用するサンプルコードを以下に示します。 今回はsample.rbという名前で作成しています。

コマンドを実行すると以下のように結果が返ってきます。

この後、GUIから確認すれば、以下のとおり仮想サーバが作成されているのを確認できます。

Cloudnスクリーンショット

終わりに

いかがでしたでしょうか?本記事では、仮想サーバの作成までを紹介いたしましたが、Cloudnには豊富なAPIが用意されており、様々な操作が実現可能です。是非、CloudnのAPIを利用して、快適なCloudnライフをお過ごしください!

※本記事の内容は、Cloudnの活用方法の一例を示したものであり、お客様の環境・構成において動作することをお約束するものではありません。 従いまして、本記事の内容によって生じたトラブルや損害についても、弊社では責任を負いかねますのでご了承ください。
また、本記事の内容に関してのサポートは行っておりませんので、予めご了承ください。

ブログフッダ

投稿日:

カテゴリ:

前の記事・次の記事

サイドニュー

カテゴリー

最近の記事

バックナンバー