MicrosoftはAzure仮想マシンの新機能として、「マネージド実行コマンド」の一般提供を開始しました。既に提供されていた「アクション実行コマンド」とは何が違うのでしょうか。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Microsoftは2023年2月初め、「Azure仮想マシン」(Azure VM)およびスケールセットの新機能として「マネージド実行コマンド(Managed Run Command)」の一般提供を開始しました。
Azure VMでは、以前から「アクション実行コマンド(Action Run Command)」が利用できます。アクション実行コマンドは、「Azureポータル」にある「Azure VMブレード」の「操作|実行コマンド」に用意されています。事前に定義されたコマンドをVMエージェントを介してゲストOSで実行し、その結果を取得できます(画面1)。
新たに一般提供が開始されたマネージド実行コマンドは、アクション実行コマンドと同じVMエージェントのチャネルを介してカスタムスクリプトを実行できます。現在、Azure CLI(az vm run-command)、PowerShell(Set-AzVMRunCommandなど)、REST APIから利用可能です。近い将来には、Azureポータルからも実行できるようになる予定です。
簡単なスクリプトを実行してすぐに結果を得たいのであれば、汎用(はんよう)的なアクション実行コマンド「RunPowerShellScript」を利用するのが簡単です。マネージド実行コマンドは、アクション実行コマンドに対して次の機能強化が行われています。
アクション実行コマンドとは異なり、マネージド実行コマンドは、複数のスクリプトを同時に実行して、その進行状況を管理し、実行結果の出力を保持することができます。また、ARMテンプレートでスクリプトとパラメーターを用いてAzure VMやスケールセットのデプロイを自動化する際にも活用できます。オプションで、スクリプトの出力を外部ストレージ(ストレージBLOB)に保存したり、異なるユーザーアカウントの資格情報で実行したりすることも可能です(既定はWindowsのSYSTEM、Linuxのroot)。詳しい使用方法などは、公式ドキュメントで確認してください。
Azure CLI(Azure Cloud Shellから実行可能)でマネージド実行コマンドを使用して、簡単なスクリプトを実行するには、次の一連のコマンドラインを実行します。
$resourceGroupName = "リソースグループ名" $vmName = "VM名" $runCommandName ="実行コマンド名" az vm run-command create --name $runCommandName --vm-name $vmName --resource-group $resourceGroupName --script "スクリプト" az vm run-command list --vm-name $vmName --resource-group $resourceGroupName az vm run-command show --name $runCommandName --vm-name $vmName --resource-group $resourceGroupName --expand instanceView az vm run-command delete --name $runCommandName --vm-name $vmName --resource-group $resourceGroupName
実行結果は「az vm run-command show」コマンドの「instanceView.output」に出力されるため、実行結果だけ取り出したい場合は「--query instanceViw.output」パラメーターを付けるとすっきりするでしょう(画面2、画面3)。
岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.