Azure VMのデプロイ自動化にも役立つ「マネージド実行コマンド」、従来の「アクション実行コマンド」との違いは?:Microsoft Azure最新機能フォローアップ(188)
MicrosoftはAzure仮想マシンの新機能として、「マネージド実行コマンド」の一般提供を開始しました。既に提供されていた「アクション実行コマンド」とは何が違うのでしょうか。
マネージド実行コマンドは、アクション実行マネージドの機能強化版
Microsoftは2023年2月初め、「Azure仮想マシン」(Azure VM)およびスケールセットの新機能として「マネージド実行コマンド(Managed Run Command)」の一般提供を開始しました。
- General Availability: Managed Run Command - Execute PowerShell or shell scripts on Virtual Machines and Scale Sets[英語](Microsoft Azure)
Azure VMでは、以前から「アクション実行コマンド(Action Run Command)」が利用できます。アクション実行コマンドは、「Azureポータル」にある「Azure VMブレード」の「操作|実行コマンド」に用意されています。事前に定義されたコマンドをVMエージェントを介してゲストOSで実行し、その結果を取得できます(画面1)。
画面1 Windows VMの汎用的なアクション実行コマンド「RunPowerShellScript」を使用すると、PowerShellの任意のコマンドラインやスクリプトを記述して、ゲストOSで実行できる
新たに一般提供が開始されたマネージド実行コマンドは、アクション実行コマンドと同じVMエージェントのチャネルを介してカスタムスクリプトを実行できます。現在、Azure CLI(az vm run-command)、PowerShell(Set-AzVMRunCommandなど)、REST APIから利用可能です。近い将来には、Azureポータルからも実行できるようになる予定です。
簡単なスクリプトを実行してすぐに結果を得たいのであれば、汎用(はんよう)的なアクション実行コマンド「RunPowerShellScript」を利用するのが簡単です。マネージド実行コマンドは、アクション実行コマンドに対して次の機能強化が行われています。
- ARM(Azure Resource Manager)デプロイテンプレートを介したマネージド実行コマンドの実行をサポート
- 複数スクリプトの並列実行
- スクリプトの順次実行
- スクリプトのタイムアウト指定
- 長い実行時間(時間単位や日単位)のスクリプトサポート
- 安全な方法でシークレットを渡す機能
アクション実行コマンドとは異なり、マネージド実行コマンドは、複数のスクリプトを同時に実行して、その進行状況を管理し、実行結果の出力を保持することができます。また、ARMテンプレートでスクリプトとパラメーターを用いてAzure VMやスケールセットのデプロイを自動化する際にも活用できます。オプションで、スクリプトの出力を外部ストレージ(ストレージBLOB)に保存したり、異なるユーザーアカウントの資格情報で実行したりすることも可能です(既定はWindowsのSYSTEM、Linuxのroot)。詳しい使用方法などは、公式ドキュメントで確認してください。
- マネージド実行コマンドを使用してWindows VMでスクリプトを実行する(Microsoft Learn)
- マネージド実行コマンドを使用してLinux VMでスクリプトを実行する(Microsoft Learn)
Azure CLIでの実行例
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.
関連記事
- Windows 11一般提供開始、企業での導入/展開時に注意すべきポイントは?
MicrosoftはWindowsデスクトップOSの最新バージョンである「Windows 11」を正式にリリースし、Windows 11対応ハードウェアを搭載したWindows 10デバイスに対して、無料アップグレードの段階的なロールアウトを開始しました。 - Windows 11登場! 11で変わること、思ったほど変わらないこと
新しいWindows OS「Windows 11」の正式出荷が2021年10月5日に開始された。Windows 10からの無償アップグレードが可能であるため、どのような新機能が実装されたのか気になる人も多いのではないだろうか。そこで、本稿ではWindows 11の新機能、削除された機能などを簡単にまとめてみた。 - 買って、試して分かったWindows 365(契約・セットアップ編)
Microsoftからクラウド上でWindows 10が動く「クラウドPC」の利用可能なサブスクリプションサービス「Windows 365」の提供が開始された。早速、サブスクリプションを契約し、クラウドPCの設定を行ってみた。契約からセットアップまでで見えてきた便利な点、不便な点などをまとめてみた。 - いよいよ完全終了へ。Internet Explorer(IE)サポート終了スケジュール
長らくWindows OSに標準装備されてきたInternet Explorer(IE)。その「寿命」は各種サポートの終了時期に左右される。Windows OSごとにIEのサポート終了時期を分かりやすく図示しつつ、見えてきた「終わり」について解説する。