準備
まずインストール。実行環境は Ubuntu 13.10。
azure-cli は node.js 上で動くので、それからインストール。
# apt-get install nodejs npm
# npm install azure-cli -g
これで azure コマンドが使えるようになる。
次にアカウントの設定をするため、必要なファイルを準備する。
これは、次のコマンドを実行すると、ダウンロードするための URL (今回は http://go.microsoft.com/fwlink/?LinkId=254432 だった) が表示されるので、ブラウザでそれを開く:
azure account download
azure コマンドは #!/usr/bin/env node を実行しようとする。
しかし apt-get でインストールすると node ではなく nodejs になるので、vim `which azure` して shebang を編集するか、nodejs `which azure` なりして実行する必要がある。
さて、サブスクリプションが有効なアカウントでログインすると、ダウンロードが始まる。
ここで取得したファイルを、次のように反映する:
azure account import Visual\ Studio\ Professional\ with\ MSDN-3-1-2014-credentials.publishsettings
これで実行できるようになっているはずなので、確認してみる:
$ azure vm location list
info: Executing command vm location list
+ Getting locations
data: Name
data: --------------
data: East Asia
data: East US
data: Japan East <<<
data: Japan West <<<
data: North Europe
data: Southeast Asia
data: West Europe
data: West US
info: vm location list command OK
SSH 用の鍵の生成
Windows azure では openssh 形式の公開鍵を受け付けてくれないので、以下のように openssl コマンドで作成しておく:
$ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout azure.key -out azure-cert.pem
# パラメータは適当でいいようだ
$ mv -i azure* ~/.ssh
$ chmod 600 ~/.ssh/azure.key
$ cat >> ~/.ssh/config <<EOB
Host *.cloudapp.net
User azureuser
IdentityFile $HOME/.ssh/azure.key
EOB
VM を起動してみる
VM イメージ一覧:
$ azure vm image list
作成 & 起動:
$ azure vm create \
--location 'Japan East' \
--vm-size ExtraSmall \
--ssh \
--ssh-cert ~/.ssh/azure-cert.pem \
--no-ssh-password \
azuretest-vm1 \
b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu_DAILY_BUILD-saucy-13_10-amd64-server-20140223-en-us-30GB \
azureuser
--ssh を付けておかないと、--no-ssh-password が、--ssh-cert が無いと言って、エラーになるし、そもそも sshd が起動しないので注意。
ココ には 22/tcp を開けるようにとあるけど、勝手にやってくれるので不要。
起動するまでしばし待つ。心なしか WebUI から作るよりも早い気がする。
$ ssh azuretest-vm1.cloudapp.net
後片付け
VM を停止 & 削除する。--blob-delete を付けると、ディスクも一緒に削除してくれる... ハズなんだけど、削除されない。謎。
azure vm shutdown azuretest-vm1
azure vm delete [--blob-delete] azuretest-vm1