Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

準備

まずインストール。実行環境は 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
zakkied
https://twitter.com/zakkied
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした