ConoHa VPSのインスタンスをコマンドラインから操作したい!
こんにちは。先日、ConoHa VPS上にVDI環境を作ったよ!という日記を書きまして、結構いい感じに実用しております。
で、先日作った環境だと、起動や終了のためにウェブブラウザを使ってConoHaのポータルを開いてマウスでポチポチするひつようがありまして、それってちょっと面倒くさい。起動や終了やイメージの作成なんかを自動化したいなぁとおもうのは人のサガでありまして、なので、APIを叩いて、コマンドラインツールを作ろうかなぁ、などと思ったのですが・・・
Conoha VPSはOpenStackベースだからOpenStack向けのコマンドラインツールが使える!
よくよく考えたら、ConoHa VPSは、OpenStackというOSSのクラウドを作るためのソフトをベースに作られているので、OpenStack用に作られたコマンドラインツール群を用いてある程度コントロール可能なはずです。なので、まずはOpenStack用のコマンドラインツールのうちVMの起動、停止、削除などを行えるnovaコマンドについて試してみることにしました。
novaコマンドとは
OpenStackは、幾つかのサーバで構成されています。それぞれのサーバはAPIを公開しています。このうち、VMを起動したり停止したり削除したりといった操作を行うサーバをnovaと呼びます。novaコマンドは、novaのAPIを叩き、novaの持つVMを起動したり停止したり削除したりといった機能を呼び出します。
novaコマンドのインストール
OpenStackを構成するサーバや、これらのサーバを操作するためのコマンド群をインストールする方法には、いくつかあります。今回は、手元にある環境がCentOS 7.1だったため、RDOと呼ばれる、OpenStackをインストールするためのyumレポジトリに置かれているrpmのパッケージをインストールすることにしました。CentOSやFedoraならこの手順で大丈夫なはずです。
sudo yum install -y https://www.rdoproject.org/repos/rdo-release.rpm sudo yum install python-novaclient
これでnovaコマンドがインストールできました。
ちなみに、UbuntuにはUbuntu OpenStack Installer が用意されていますし、pipのパッケージとしても公開されているので、好みに応じてインストール方法は選べそうです。
novaコマンドの設定
環境変数に設定されている値を使うので設定します。必要な情報はConoHaのダッシュボード右下のAPIボタンのところを叩けば参照したり設定したりできます。
export OS_USERNAME=APIユーザのユーザ名 export OS_PASSWORD=APIユーザのパスワード export OS_TENANT_NAME=テナント情報のテナント名 export OS_TENANT_ID=テナント情報のテナントID export OS_AUTH_URL=https://identity.tyo1.conoha.io/v2.0
以上をファイルに書き込んでおいて、必要に応じて読みだすようにすると楽だと思います。
novaコマンドを使ってみる
novaコマンドを実行すると、どういうオプションがあるのか色々表示できます。
起動したり、削除したり、リブートしたり、イメージを作ったりなど先日のVDI作成エントリで必要な操作は全部コマンドラインから実行できることが確認できました。これまでブラウザからしなければならなかった作業がコマンドラインからできるようになりました!これでちょっと楽になりました。
インタフェースを守ってくれているConoHaの中の人に感謝!
おそらく、ConoHaではOpenStackのコードをそこそこ変更していると思うのですが、それでもAPIを変更せずに守ってくれているおかげで既存のツールを使えてとてもありがたいです。
中の人たちに感謝しつつ、OpenStackを前提としたエコシステムのありがたみを享受して楽しく生きていきましょう。
以上です。