LoginSignup
25
25

More than 5 years have passed since last update.

Windows azure 仮想マシンをコマンドラインツールから操作する

Last updated at Posted at 2014-03-02

準備

まずインストール。実行環境は 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
25
25
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
25