やさしいAzure CLI のインストール

Azure

概要

  • Azure 初心者の新川です。今日は、Azure CLI のインストール方法を記載します。Azure CLI は、Azureリソースを作成・管理するためのコマンドラインです。
  • 前提として、今回の目的は、VM,VMSS を管理するための “azコマンド"の準備です。当初、"azコマンド"はAzure power shell のことかな?と思いましたが、どうやら違う。正解はAzure CLI であったことが分かりました。

 

Azure CLI のインストール

Azure CLIのインストール(for Windows)

  • 下記から、Azure CLI インストーラーをダウンロードします。

 

 

  • インストーラー(azure-cli-X.XX.X.msi)を実行します。Microsoft Azure CLI Setupの画面にてインストールを進めます。

 

  • Azure CLI のインストールが完了しました。

 

  • Windows PowerShell を起動します。"管理者として実行する"を選択すると、azコマンドが認識しません。通常の起動を行います。
PS C:\Users\Administrator> az --version
az : 用語 'az' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名
前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 行:1 文字:1
+ az --version
+ ~~
    + CategoryInfo          : ObjectNotFound: (az:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

 

  • Windows PowerShellが起動後、azコマンドが使えることを確認します。
PS C:\Users\Administrator> az --version
azure-cli                         2.12.1 *

core                              2.12.1 *
telemetry                          1.0.6

Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\Administrator\.azure\cliextensions'

Python (Windows) 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 23 2018, 23:31:17) [MSC v.1916 32 bit (Intel)]

Legal docs and information: aka.ms/AzureCliLegal


You have 2 updates available. Consider updating your CLI installation with 'az upgrade'

Please let us know how we are doing: https://aka.ms/azureclihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy

 

  • az login コマンドを実行します。ブラウザが起動するので、Microsoft アカウントでログインします。
PS C:\Users\Administrator> az login
You have logged in. Now let us find all the subscriptions to which you have access...

 

 

  • Microsoft アカウントのログインが成功したら、PowerShellに戻ります。

 

 

 

  • 複数のサブスクリプションがあれば、az account setコマンドで、切り替えたいサブスクリプションIDを指定します。az account showコマンドでサブスクリプションの確認、az logoutで現在のサブスクリプションをクリアします。
PS C:\Users\Administrator> az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
PS C:\Users\Administrator> az account show
{
  "environmentName": "AzureCloud",
  "homeTenantId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
  "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "isDefault": true,
  "managedByTenants": [],
  "name": "testsub-1234",
  "state": "Enabled",
  "tenantId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
  "user": {
    "name": "niikawa@xxxxxxxxxx.jp",
    "type": "user"
  }
}
PS C:\Users\Administrator> az logout

 

Azure CLIのインストール(for Linux)

  • 手元にログがないため、下記ドキュメントを参照。

 

 

azコマンドでValidationErrorが表示された時

症状

  • Azure CLIをインストール後、azコマンドで「ValidationError: Certificate verification failed.」が表示され、azコマンドが使用できないケースがあります。
PS C:\Windows\system32> az login
ValidationError: Certificate verification failed. This typically happens when using Azure CLI behind a proxy that intercepts traffic with a self-signed certificate. Please add this certificate to the trusted CA bundle. More info: https://docs.microsoft.com/en-us/cli/azure/use-cli-effectively#work-behind-a-proxy.

 

一時的な対処

  • 環境変数に、AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=1 を設定して、AzureCLI全体の証明書チェックを無効にします。下記はPowerShell から環境変数を設定する方法ですが、環境変数は一時的であり、保持されません。恒久的に設定する場合は後述します。

 

  • PowerShellで一時的に対処します。
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> Set-Location Env:
PS Env:\> [Environment]::SetEnvironmentVariable("AZURE_CLI_DISABLE_CONNECTION_VERIFICATION","1")
PS Env:\> Get-ChildItem AZURE*

Name                           Value
----                           -----
AZURE_CLI_DISABLE_CONNECTIO... 1


PS Env:\>

 

 

恒久的な対処

  • 「システムのプロパティ」から「環境変数」を設定することで、恒久的に"AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=1″ の環境変数を設定します。

 

  • PowerShell を再度起動します。("管理者として実行する"は選びませんので、ご注意ください)
  • 下記の通り、"AZURE_CLI_DISABLE_CONNECTION_VERIFICATION=1″が設定されていることを確認します。
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.

PS C:\Users\Administrator> Set-Location Env:
PS Env:\> Get-ChildItem AZURE*

Name                           Value
----                           -----
AZURE_CLI_DISABLE_CONNECTIO... 1


PS Env:\>

 

参考資料

Azure

Posted by takaaki