Azure CLI を使用して対話形式で Azure リソースを作成する

完了

Azure CLI の対話モードでは、コマンドを入力してその場で実行できます。

顧客関係管理 (CRM) の例における目標は、3 つのテスト環境を、それぞれに仮想マシン (VM) を含めて作成することです。 別々の環境内に VM を確実に編成するために、リソース グループを使用します。

  • 単体テスト
  • 統合テスト
  • 承認テスト

リソース グループの作成は 1 回しか必要とされないタスクであるため、Azure CLI の対話形式で実行するのは妥当な選択です。

例:Azure CLI を使用してリソース グループを作成する方法

では、リソース グループの作成という一般的なタスクを実行しましょう。 リソース グループは、関連性があるリソース群をまとめて管理する場合に便利です。新しい Azure ソリューションの使用を開始するとき、最初に実行するタスクが新しいリソース グループの作成であることはよくあります。

必要な作業のステップは以下の 3 つです。

  1. az login を使って Azure に接続します。

  2. az account を使って Azure サブスクリプションを操作します。

  3. az group を使ってリソース グループを操作します。

Azure に接続する

Azure CLI のローカル インストールを使用する場合は、Azure CLI コマンドを実行する前に認証が必要となります。 az login コマンドを実行すると Azure 資格情報の入力が要求され、その後 Azure サブスクリプションに接続します。

対話形式で接続する場合、パラメーターを指定する必要はありません。

az login

このコマンドは、作業者に Azure 資格情報の入力を要求し、その後 Azure サブスクリプションへの接続を確立します。

Azure CLI を使って Azure に認証する際に役立つヒントを次に示します。

  • Azure Cloud Shell 内で Azure CLI を実行する場合...

    • 自動的に認証されます。
    • 既定のサブスクリプションを変更することが必要な場合があります。
  • ローカル インストールを使って Azure CLI を実行する場合...

    • Azure 資格情報の入力を求められます。
    • ログイン時にサブスクリプションを選択できます。

サブスクリプションを操作する

Azure を初めて使用する方の場合、お持ちのサブスクリプションは 1 つだけです。 一方、ある程度前から Azure を利用している方は複数のサブスクリプションをお使いの可能性があります。 Azure CLI では、どのサブスクリプションをコマンドの実行対象にするかを構成できます。

アクティブにすることができるサブスクリプションは一度に 1 つだけです。 現在どのサブスクリプションがアクティブになっているかは、az account show 参照コマンドで確認できます。 使用するサブスクリプションが異なる場合は、az account set 参照コマンドで切り替えることができます。

  1. すべてのサブスクリプションの一覧を取得し、その結果をテーブル形式で返します。

    az account list --output table
    
  2. 現在アクティブなサブスクリプションのみを取得します。

    az account show
    
  3. アクティブなサブスクリプションを切り替えるには、以下を実行します。

    az account set --subscription "00000000-0000-0000-0000-000000000000"
    

リソース グループを操作する

Azure 内にリソースを作成する際は、管理目的のために、リソース グループ内に配置します。

リソース グループを作成するには、az group create 参照コマンドを使います。 名前と場所の指定は必須であり、また、サブスクリプション内に重複がない名前を付ける必要があります。 場所は、リソース グループのメタデータを格納する場所の指定です。場所はコンプライアンス上重要な意味を持つことがあります。 使用できる場所を確認するには、az account list-locations コマンドを使います。

Note

Azure サンドボックス内で作業する場合は、自動的にリソース グループが作成されます。 独自のサブスクリプション内で作業する場合は、以下のコマンドを使用してください。

リソース グループを作成するための構文は以下のとおりです。

az group create --name MyResourceGroup --location eastus

アクティブなサブスクリプション内にあるすべてのリソース グループの一覧を取得するには、az group list コマンドを使います。

az group list

表示を簡潔にしたい場合は、テーブル形式で一覧を返すことができます。

az group list --output table

Azure CLI スクリプトの開発とテストを行う場合は、名前にランダムな ID を含めたリソース グループを作成することをお勧めします。 リソース グループ名にランダム ID を追加すると、同じ名前の以前のリソース グループが Azure から削除されるのを待つ必要なくコードを再テストできます。

#!/bin/bash
let "randomIdentifier=$RANDOM*$RANDOM"
location="eastus"
resourceGroup="msdocs-rg-$randomIdentifier"
az group create --name $resourceGroup --location $location --output json

例:Azure 仮想マシンを作成する

仮想マシン (VM) の作成は、Azure CLI を使って行うことが多いタスクです。

VM の作成には az vm create コマンドを使います。 このコマンドにはいくつかのパラメーターがあり、VM の構成を詳しく設定できます。 ほとんどのパラメーターには妥当な既定値が設けられているため、通常は、最も重要な以下の 5 項目を指定するだけで済みます。

  • resource-group:新しい VM の配置先となるリソース グループ。
  • name:Azure での VM の名前。
  • location:VM のプロビジョニング対象となる地理的リージョン。
  • image:VM で使用するオペレーティング システム イメージ (通常は Linux ディストリビューションまたは Windows Server)。
  • admin-username:VM の管理者のユーザー名。 コマンド ラインでパスワードを入力するように求められます。

Bash スクリプトの例を次に示します。

#!/bin/bash

# Create variables
rgName="myResourceGroupName"
vmName="myVMname"
vmImage="Win2022AzureEditionCore"
vmAdminUserName="myAzureUserName"

# Create the VM
az vm create \
    --resource-group $rgName \
    --name $vmName \
    --image $vmImage \
    --public-ip-sku Standard \
    --admin-username $vmAdminUserName

例:VM の情報を取得する

az vm list コマンドを使用して、サブスクリプション内の VM をリストすることができます。 このコマンドでは、--name パラメーターを指定して特定の VM を取得することもできます。

VM の ID を変数に格納する方法を次に示します。

#!/bin/bash
rgName="myResourceGroupName"
vmID=$(az vm list --resource-group $rgName \
    --query "[?name=='myVMname'].id" --output tsv)
echo $vmID

az vm update コマンドを使って、VM のサイズを変更します。

#!/bin/bash
rgName="myResourceGroupName"
vmName="msdocs-vm-01"
newVMsize="Standard_DS3_v2"

# Get the VM ID
vmID=$(az vm list --resource-group $rgName \
    --query "[?name=='$vmName'].id" --output tsv)

# Update the VM size
az vm update --ids $vmID --size $newVMsize

# Show the new properties of the VM
az vm show --resource-group $rgName --name $vmName

この演習では、対話型の Azure CLI セッションの典型的なパターンを示しました。 最初に、標準のコマンドを使用して、新しいリソース グループを作成しました。 次に、一連のコマンドを使用して、このリソース グループにリソース (この例では VM) を展開しました。 この一連のコマンドは、簡単にシェル スクリプトに結合して、同じリソースを作成する必要があるたびに実行できます。