Azure CLI 2.0 あれこれ 活用編

Tomokazu Hiruma

既にお気づきの方もいらっしゃるかもしれません。Azure ポータルの右上にこんなボタンが追加されていることに。

なんと、ポータルから直接 Azure CLI 2.0 (Azure Cloud Shell) を呼び出せるようになりました!もはや、お手元の端末でのインストールの手順すら不要、Web ブラウザーさえあれば、日ごろ鍛えたデプロイの妙技を存分に発揮していただくことが可能です。

クリックすると、こんな感じでログイン済みの状態で Bash ライクなコンソールが開き、ごりごり Azure CLI 2.0 を使うことができます。(初回起動時だけ、出力内容保存先のストレージの初期化があります。)

まだ Preview ではありますが、騙されたと思って、いえ、騙してませんのでぜひぜひお試しください。

(CLI をネタにしている限り、また文字ばっかりの投稿になって、広大無辺なクラウドの一隅でひっそりと日陰の花を咲かせることになるのではと危惧してました。まだ僕にも貼れる画像があってこんなにうれしいことはない

というわけでこんにちは。Azure サポートの比留間です。さて、前回は VM の作成をサクッとやってみましたが、今回は可用性セット、スナップショット、VMSS あたりで Azure CLI 2.0 の使い方を見て行きましょう。

可用性セットの作成と VM の組み込み

前回のコマンドをご覧いただいた際に、「あれ?可用性セットは組まなくていいの?」と疑問に思われた方もいらっしゃるかもしれません。もちろん、可用性セットに VM を組み込むことも可能です。というか、組みましょう。

まず az vm availability create コマンドで、Managed Disk に対応した可用性セットを作成しておきます。AS とでも名付けましょう。

az vm availability-set create --n AS -g NewRG --platform-fault-domain-count 2 --platform-update-domain-count 2

次に、前回も使用した az vm create で、可用性セットを指定を追加して VM を作成する流れです。

az vm create -n ASVM1 -g NewRG --image Win2016Datacenter --admin-username adminuser --admin-password 'P@ssword4admin' --availability-set AS

これで出来上がりです。

スナップショットを取得して VM をデプロイする

Managed Disk の利点として、手軽にスナップショットを取得できるという点もあります。スナップショット の取得と、スナップショットからの VM の復元を試してみましょう。

ポータルからの操作では、こちらの投稿で触れられている手順です。

(べ、べつにチーム内で仲悪いわけじゃありませんよ?ただあっちは画像たくさんでうらやましいので対抗したれと思っただけです。)

まず、以下のコマンドで、ディスクのスナップショットをパチリと取ります。osdisk_001 が、VM にアタッチされている OS ディスクだとお考え下さい。

az snapshot create -n snapshot1 -g NewRG --source osdisk_001

snapshot1 という名称でスナップショットが作成されました。このスナップショットをもとにディスクを作成します。

az disk create -n osdisk_fromsnapshot -g cNewRG --source snapshot1

出来上がったディスク osdisk_fromsnapshot をアタッチして VM をデプロイします。ついでに、先ほど作った可用性セットにも参加させてみましょう。

az vm create -n ASVM2 -g NewRG --attach-os-disk osdisk_fromsnapshot --os-type windows --availability-set AS

これで出来上がりです。なお、上記の例では、既に作成済みの VM のディスクをそのままスナップショットを取得して流用しております。そのため、最後の az vm create では、ユーザー名やパスワードを再設定せず、そのままアタッチするコマンドになっています。

カスタムイメージを使用した VMSS のデプロイ

同じような方法で、VM スケールセット (VMSS) をデプロイすることも可能です。カスタムイメージを使用した VMSS のデプロイはなかなか手間なのですが、Azure CLI 2.0 では極力簡単なコマンドでデプロイができるよう考慮されています。

既にカスタムイメージを作成済みであれば、それをもとに、以下のようなコマンドで VMSS のインスタンスを作成することができます。カスタムイメージは image-01 という名称で作られているものと考えます。

az vmss create -n vmss1 -g NewRG --image image-01 --instance-count 3 --admin-username adminuser --admin-password 'P@ssword4admin' --backend-port 3389

上記のコマンドを実行すると、自動的にロードバランサーの構成も実施され、RDP 用のポート TCP/3389 への NAT ルールが作成されます。フロントエンド IP アドレスの 50001 番ポート以降が各インスタンスへのアクセスに割り当てられます。

なお、カスタムイメージにデータディスクを含む構成にしておけば、上記のコマンドで作成した VMSSのインスタンスにも、データディスクがアタッチされた状態でデプロイされます。

--instance-countにはインスタンスの数を指定できます。例えば 100 とか 200 とか指定すれば、一気に 100 とか 200 インスタンスの作成を試みますが、うっかり試すとガチで作り始めますのでご注意を。

コア数のご利用は計画的に!

※本情報の内容(添付文書、リンク先などを含む)は、更新日時点でのものであり、予告なく変更される場合があります。