Azure CLI を試してみた

2020/04/18

Azure CLI とは

公式より引用

Azure コマンド ライン インターフェイス (Azure CLI) を簡単にインストールすると、コマンド ライン シェルからオープン ソースのコマンドを使って Microsoft Azure 上のリソースを作成したり管理したりすることができます。いくつかの方法があります。提供されているいずれかのインストーラー パッケージを使用してオペレーティング システムに Azure CLI をインストールするか、Node.js と npm を使って CLI をインストールするか、Docker ホストのコンテナーとして Azure CLI をインストールします。その他のオプションとバックグラウンドについては、GitHub のプロジェクト リポジトリを参照してください。

セットアップ

パターンは 3 つ

  • インストーラーパッケージを利用する
  • node.js と npm を使ってインストール
  • Microsoft が用意してくれている Docker image を利用する

普段使っているコンテナが CentOS 7 なので、そちらにインストールした

前準備

node.js と npm 入れておく

Azure CLI インストール

インストールは簡単(用意されている Docker image 使ったほうが速いはずだけど)

$ sudo npm install azure-cli -g

確認してみる

$ azure -v
0.9.19

Azure CLI を使ってみる

ブラウザも使うので注意する(恐らくコマンドラインだけでは完結しない?)

Azure にログインする

$ azure login
info:    Executing command login
/info:    To sign in, use a web browser to open the page https://aka.ms/devicelogin. Enter the code XXXXXXXXX to authenticate.
/

ここでコンソールが止まるので、上記の通りに従って、https://aka.ms/deviceloginをクライアントのブラウザで開く

コンソールで「Enter the code XXXXXXXXX」と記載されているコードを入力する

Microsoft Account でログインする

完了したらブラウザを閉じる

そうすると、先ほど止まっていたコンソールが動き出し、ログインした Microsoft Account に紐付いている Subscription が表示される

$ azure login
info:    Executing command login
/info:    To sign in, use a web browser to open the page https://aka.ms/devicelogin. Enter the code G7ZZNGDD9 to authenticate.
/
info:    Added subscription aaaaaaaaaa
info:    Added subscription bbbbbbbbbb
info:    Added subscription cccccccccc
info:    Added subscription dddddddddd
info:    Setting subscription "aaaaaaaaaa" as default
+
info:    login command OK

アカウントリストの確認

$ azure account list
info:    Executing command account list
data:    Name                       Id                                    Current  State  
data:    -------------------------  ------------------------------------  -------  -------
data:    aaaaaaaaaa                 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxa  true     Enabled
data:    bbbbbbbbbb                 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxb  false    Enabled
data:    cccccccccc                 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxc  false    Enabled
data:    dddddddddd                 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxd  false    Enabled
info:    account list command OK

カレントアカウントのセット

Name でも ID でもセット可能

$ azure account set xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxb

Virtual Matchine

V1 の情報取得

$ azure config mode asm
asm
$ azure vm list

V2 の情報取得

$ azure config mode arm
asm
$ azure vm list

これ、別で取るしかないのかな…

参考