予測不可能な決定系

決定論的なのに予測が不可能……つまり, そういうことだよ

Azure CLI で Azure の仮想マシンを操作する

手元のマシンにWindowsの開発環境が欲しくてAzureでVMを作ることにした。
とりあえずサブスクリプションの準備をしてポータルでVisual Studio Community 2013の使えるVMを作成してリモートデスクトップで接続できるところまでは確認。


普段使わないときはVMを落としてるから、使うときはポータルからVMを起動→リモートデスクトップで接続という流れになるけど、
どうせならいちいちポータルから起動しないでコマンドで起動して接続したほうが楽そう…
ということでAzure CLIを使ってみることにした。

その際の手順やハマった点のメモ。


基本的にはMicrosoft Azure 自習書シリーズの公開の「17: コマンドラインによる Microsoft Azure 管理 Mac,Linux 編」からダウンロードできるPDFに沿って作業した。
こうしたドキュメントが日本語で読めるなんて素敵な限りだ。

インストール

なにはともあれコマンドのインストール。
Azure CLI ツールを動かすにはNode.jsが必要なのでまずはそのインストールから。

ドキュメントではCentOSへのインストール例が載っているけど、自分のマシンはUbuntuなのでyumではなくaptitudeでインストール

$sudo aptitude install nodejs npm
$node -v

でNode.jsのインストールを確認しようとしたら失敗。。
どうやら標準パッケージから普通にインストールすると"node"ではなく"nodejs"というコマンドになってしまうらしい。
一応そのまま進めてみたけど、やっぱり途中で「node コマンドがないよ!」って怒られるので大人しくインストールしなおすことにした。

Ubuntu 14.04 に Node.jsをインストールする
上記記事を参考にPPAリポジトリを追加して再度インストール。
今度は無事に"node"コマンドがインストールされ、

$sudo npm install -g azure-cli
$azure 

で無事azureコマンドがインストールされるところまで確認できた。
(ここまで読んで初めてドキュメントにUbuntuへのNode.jsのインストールの記載があることを知る。。)

サブスクリプションへの接続

「発行設定ファイルによる認証」で接続情報をマシンにインポートする。
基本的には記載されているコマンドを順番に実行していくだけ。
途中で「無料評価版…」という名前のファイル(当然Azureのアカウント内容によってファイル名は異なると思う)がダウンロードされるが、どうにもこの名前だと補完がされずらいので名前を変えてからインポート。
最後にダウンロードした発行設定ファイルを削除して完了。


ここまででコマンドを使ってAzureを操作する準備が整ったのであとは実際にやりたいことに対してどういうコマンドを使えばいいかを調べるだけ。
以下は残りのドキュメントを読んでて気になったポイント。


いくつかコマンドを実行してみた感じだとazureコマンド以降の機能名や操作に補完が効かなくてちょっと打つのが面倒
(これは個人の設定の問題か??)

今回はあまり使用するつもりはないけど、一通り文書を見てるとBLOBの操作のファイルのアップロードの説明が間違えてる気がする…たぶん第一引数に転送したいファイル名、第二引数にコンテナ名、なんじゃなかろか。


想定としてはMacLinuxからAzure CLIを利用するっていうシナリオかと思っていたけど、
SSH接続の話でPutTTYやTeraTermを使ってSSH接続する話になっていたので、そうではないのかもしれない。


個人的にはコマンドでVMが起動できて状態を確認できれば満足なので

azure vm list
azure vm start name

あたりにお世話になるかな:)