どうも、フリーランスエンジニアのMakotoです。
AzureではGUIツールであるAzureポータルを使ってリソースを管理できますが、それ以外にもコマンド操作でリソースを管理するためのツールも提供されています。
- Azure CLI
- Azure PowerShell
これらのAzureツールについてもAZ-900の試験範囲ですので、今回はそれぞれのツールの概要と、どういった違いがあるのか?どっちを使えばいいのか、選択する基準について解説します。
それではいってみましょう!
Azure CLIとは?
Azure CLIは、Azureを操作するためのコマンドラインツールです。Linux、Mac、または Windowsのローカルにインストールして利用することもできます。
インストール手順は以下の公式ドキュメントを参考にしてください。
Azure CLI をインストールする方法
Azure CLIは az <リソース種別> <動詞> の形で記述します。例えば、リソースグループを作成する場合、名前やリージョンを指定するパラメータを添えて次のように実行します。
az group create --name SampleRG --location japaneast
コマンド実行結果はJSON形式で出力されます。Azureポータルを見ると「SampleRG」という名前のリソースグループが作成できていることがわかります。
Azure PowerShellとは?
Azure PowerShellは、同じくAzureを操作するためのコマンドラインツールで、Linux、Mac、または Windowsのローカルにインストールして利用できます。
インストール手順は以下の公式ドキュメントを参考にしてください。
Azure PowerShell をインストールする
PowerShellはコマンドプロンプトの後継ツールとしてWindowsに搭載されているイメージがあるかもしれませんが、LinuxやMacでもインストールすれば使うことができます。
Windowsであっても標準でAzure PowerShellを利用できるわけではなく、アドオンとしてAzure PowerShellモジュールを追加でインストールします。(Azureを操作するためのコマンドを後から付け加える)
Azure PowerShellは <動詞>-Az<リソース種別> の形で記述します。先ほどと同じように、リソースグループを作成する場合は名前やリージョンを指定するパラメータを添えて次のように実行します。
New-AzResourceGroup -Name SampleRG -Location japaneast
Azure CLI vs Azure PowerShell
コマンドラインツールとしてAzure CLIとAzure PowerShellの2つがあることはわかりましたが、
と疑問に思うかもしれません。
一般的には、Linuxのシェルスクリプトに慣れている人はAzure CLI、WindowsのPowerShellに慣れている人はAzure PowerShellを選択する傾向にあります。
業務で利用する場合、大事なのはチームメンバーがどちらのツールに慣れているかです。
私の感覚ではAzure CLIのほうが直感的でわかりやすく学習コストが低いと思います。
一方で、PowerShellは「オブジェクト指向」の一種のプログラミング言語ですので、オブジェクトとして変数に格納して参照できたり、try-catchでの例外処理が簡単だったりします。
ざっくり言うと複雑な処理にも対応しやすいのがAzure PowerShellだと思います。
利用者のこれまでの経験、学習コスト、行いたい処理の複雑具合などに応じて検討してみてください。サーバ環境がWindowsなのか、Linuxなのかで決めるのも一つの手です。どっちでも良いのであればAzure CLIから触ってみることをオススメします。
ちなみに私はガチガチのWindowsユーザーだったので最初はAzure PowerShellから使い始めて、Linuxを勉強してからはAzure CLIを好んで使うようになりました。実際の現場でもやはりサーバOSに左右される印象です。
AZ-900試験で問われそうなポイントとしてはどちらともLinux、Mac、Windowsで動作する(クロスプラットフォームである)点です。
Azure CLI、Azure Power ShellともLinux、Mac、Windowsで動作する
なお、Azure CLI、Azure Power Shellを試したい場合は、Azue Cloud Shellが便利です。こちらの記事で使い方を解説しているので参考にしてください。
まとめ
今回はAzure CLIとAzure PowerShellの違いについて解説しました。
Azureに慣れてくるとコマンドラインでの操作が便利です。繰り返し同じ処理を行いたかったり、他の人と手順を共有するのに役立ちます。
公式ドキュメントにはコマンドを体験するためのチュートリアルも用意されています。
ぜひ実際に手を動かして試してみてください。