演習 - Azure CLI スクリプトを使用してリソースを作成する
このユニットでは、引き続き、Linux 管理ツールを開発している会社の例を扱います。 目標は、Linux Virtual Machines (VM) を使用して、潜在的な顧客がソフトウェアをテストできるようにすることです。 リソース グループが既に設定されているので、次に VM を作成します。
会社では Linux の大規模なトレード ショーでブースを確保しました。 デモンストレーション領域を設定し、そこにはそれぞれ別々の Linux VM に接続された 3 台の端末を設置する計画です。 1 日の終わりに VM を削除して再作成する必要があります。そうすることで、VM は毎朝新しい状態で開始されます。 長い 1 日の後に手動で VM を作成すると、エラーが発生しやすくなります。そのため、VM の作成プロセスを自動化する Azure CLI スクリプトを記述する必要があります。
仮想マシンを作成するスクリプトを記述する
仮想マシンの作成を自動化するスクリプトを Azure Cloud Shell に記述するには、次の手順に従います。
Note
通常は、az login
で資格情報を使用して Azure に対して認証しますが、Cloud Shell では既に認証されているため、この手順は不要です。
Azure portal から、または多くの Azure CLI コード ブロックの右上隅にある [Cloud Shell を開く] ボタンを使って、Azure Cloud Shell を開きます。
Azure サブスクリプションの設定
az account set --subscription "my subscription name or ID"
任意のテキスト エディターを使って、次のスクリプトをご自身のローカル ドライブに保存します。 この例では、
msdocs-script-expanded.sh
というファイル名を付けます。#!/bin/bash # Assign parameters to variables vmCount=$1 resourceGroupPrefix=$2 location=$3 vmNamePrefix=$4 adminUserPrefix=$5 shift 5 images=("$@") # Loop for i in $(seq 1 $vmCount) do let "randomIdentifier=$RANDOM*$RANDOM" resourceGroupName=$resourceGroupPrefix-$randomIdentifier location=westus adminUserName=$adminUserPrefix-$randomIdentifier vmName=$vmNamePrefix-$randomIdentifier vmImage=${images[$((i-1)) % ${#images[@]}]} echo "Creating VM $vmName on $vmImage with admin $adminUserName in resource group $resourceGroupName" # create the resource group az group create --name $resourceGroupName --location $location # create the VM az vm create \ --resource-group $resourceGroupName \ --location $location \ --name $vmName \ --generate-ssh-keys \ --admin-username $adminUserName \ --image $vmImage done
そのファイルを Cloud Shell ドライブにアップロードします。 [ファイルの管理] メニュー オプションを使うのが最も簡単な方法です。
スクリプトを実行する
次のコマンドを使用してこのスクリプトを実行します。
#!/bin/bash # make your file executable chmod +x msdocs-script-expanded.sh # remove Windows line continuation characters sed -i -e 's/\r$//' msdocs-script-expanded.sh # Run the script ./msdocs-script-expanded.sh 3 msdocs-rg eastus2 msdocsvm msdocsadmin Debian11 Debian11 Ubuntu2204
完了するまで待ちます。 このスクリプトの完了には数分かかります。
VM を確認します。 スクリプトが完了したら、リソース グループ内の VM を一覧表示して、スクリプトが正常に完了したことを確認します。
az vm list -o table
3 つの VM が表示され、それぞれ一意の名前を持ち、個別のリソース グループに配置されているはずです。
3 つの VM の作成を自動化するスクリプトが正常に作成されました。各 VM は特定のリソース グループに含まれており、トレード ショーでの毎日のデモに対応できます。 スクリプトは短くて簡単ですが、Azure portal を使用して手動で実行すると、時間がかかり、エラーが発生しやすいプロセスが大幅に高速化されます。