Azure CLIのローカル環境を構築する

投稿者: | 2021-05-20

今回はWindows、Mac OS等でAzureの各種リソースをコマンドで操作できるAzure CLIの環境構築方法について解説します。

実施環境

今回の実施環境は以下の通りです。

Windows Windows 10 Pro(Version:21H1)
Mac OS Big Sur 11.3.1

Azure CLIとは

Azure CLIとは、Microsoftのパブリッククラウド・Azureをコマンドラインで操作するためのツールです。Azure CLIはWindowsやMac OS、Linuxといった様々なOSで使用することができます。

Azure Portalからリソースの作成、管理等を行うこともできますが、大量のリソースを作成や定形作業、手順の長い作業を行う際、作業者によって作業時間に差ができたり作業ミスを起こす恐れが出てしまいます。そこで、CLIでAzureを操作したりバッチやスクリプトにまとめることにより、大量のリソース作成を自動化したり、定形作業や手順の長い作業の際に、担当者による作業時間の差を無くしたり作業ミスを減少することができます。

AzureをCLI操作するには以下の方法があります。

  • Azure CLI
  • PowerShell
  • Azure Cloud Shell

■Azure CLI

Azure CLIはPythonベースのCLIツールであり、インストーラ等で端末にインストールすることで、端末からAzureをコマンド操作することができます。Azure CLIでは「az」コマンドを使用してAzureのリソース作成や管理等を行います。端末があれば後述するAzure Cloud Shellのようにストレージアカウントの作成が不要であり、PCの環境を使用しながらCLI操作を行うことができます。今回の環境構築はAzure CLIのインストーラ等を使用した環境構築となります。

■PowerShell

PowerShellはWindowsに標準搭載されているコマンドラインツールです。PowerShell用の専用モジュールをインストールすることでPowerShellからAzureを操作することができます。コマンドはAzure CLIの「az」コマンドとは異なりAzure用のコマンドレットを使用します。PowerShellスクリプトと組合せてAzureを操作することができるため、PowerShellに慣れている方は、PowerShell用のAzureコマンドを覚えるだけですぐ使用できるメリットがあります。

■Azure Cloud Shell

Azure Portalから操作できるAzureのCLIツールです。CloudShell用のストレージアカウントを作成するだけでCLI環境を作成できます。Bash(Linux)とPowerShellの環境を選択でき、.NETやJava、Python等のユーティリティを使用しAzure操作を行えます。ストレージアカウント分の料金がかかりますが、ブラウザ上で操作できるためPC上の環境構築をせず素早くCLI環境を作成できるメリットがあります。

前提条件

Azure CLIを使用するためにはAzureのアカウントが必要です。まだAzureアカウントを作成していない方は、以下のリンクから登録しておいてください。

・Azure の無料アカウントを今すぐ作成しましょう

https://azure.microsoft.com/ja-jp/free/

Windows 10にAzure CLIをインストール

Windows 10にAzure CLIの環境を構築する場合、端末上で専用のインストーラーを実行します。初めに以下リンク先の「Current release of the Azure CLI」をクリックし、Azure CLIのインストーラーをダウンロードします。

ダウンロード後、インストーラーを実行します。「I accept the terms in the License Agreement」にチェックを入れ「Install」をクリックします。

インストール後「Finish」をクリックし終了します。

Azure CLIのインストール後、コマンドプロンプトを開き以下のコマンドを実行しAzure CLIがインストールされたことを確認します。

C:\Users\hogehoge> az version
{
  "azure-cli": "2.23.0",
  "azure-cli-core": "2.23.0",
  "azure-cli-telemetry": "1.0.6",
  "extensions": {
    "portal": "0.1.1"
  }
}

Mac OSにAzure CLIをインストール

Mac OSではHomebrewを使用してAzure CLIの環境を簡単に構築することができます。

・The Missing Package Manager for macOS (or Linux)

https://brew.sh/

Homebrewをまだインストールしていない場合は、ターミナルを開き以下のコマンドを実行しHomebrewをインストールします。

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrewのインストール後、以下のコマンドでHomebrewのアップデート、Azure CLIのインストールをします。

$ brew update && brew install azure-cli

インストール後、以下のコマンドを実行しAzure CLIがインストールされたことを確認します。

$ az version
{
  "azure-cli": "2.23.0",
  "azure-cli-core": "2.23.0",
  "azure-cli-telemetry": "1.0.6",
  "extensions": {
    "portal": "0.1.1"
  }
}

Azure CLIからログインする

こちらの手順からWindows 10、Mac OS共通の手順となります。

Azure CLIを使用するにはCLIからAzureへのログインが必要です。Azure CLIからAzureにログインを行うには「az login」コマンドを使用します。

$ az login

既定のブラウザが開きAzureアカウントでサインインを求められるため、Azureアカウントでサインインします。

サインイン後、以下の画面が表示され、CLI上でアカウント情報が表示されることを確認します。

■CLI画面

[
  {
    "cloudName": "AzureCloud",
    "homeTenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "isDefault": true,
    "managedByTenants": [],
    "name": "Azure subscription 1",
    "state": "Enabled",
    "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "user": {
      "name": "hogehoge@example.com",
      "type": "user"
    }
  }
]

Visual Studio CodeでAzure CLIを使う

Azure CLIのコマンドを複数記述する場合は、Visual Studio Codeの拡張機能・Azure CLI Toolsをインストールし、エディタを使用し作成すると便利です。

Visual Studio CodeでAzure CLI Toolsをインストールするには、拡張機能の検索窓で「Azure CLI」と検索しAzure CLI Toolsをインストールします。

Azure CLI Toolsのインストール後、拡張子が「.azcli」のファイルを作成しコマンドを記述します。画像のようにコマンドの最初を入力すると、複数の候補が表示されるためコマンドの作成に便利です。

特定の行のコマンドを実行するには、右クリックで「Run Line in Editor」をクリックします。クリック後、コマンドの実行結果が右側に表示されます。画像は仮想ネットワークの一覧を表示するコマンド「az network vnet list」を実行した結果です。

Azure CLIのアップグレード

現在インストールされているAzure CLIをアップグレードするには、「az upgrade」を使用します。

$ az upgrade

まとめ・所感

各環境へのAzure CLIのインストールや他のCLIとの比較や拡張機能を調べていると、CLI操作で様々なことができそうだと感じました。特にVisual Studio Codeの拡張機能を使用したコマンドの作成は、実際にコマンドを作成する時に便利だなと思いました。

次回はAzure CLIでサブスクリプション周りの操作を見ていく予定です。