Azure CLI を使用して Azure VM 拡張機能を有効にする
この記事では、Azure CLI を使用して、Linux または Windows ハイブリッド マシンに対し、Azure Arc 対応サーバーでサポートされている VM 拡張機能のデプロイ、アップグレード、更新、アンインストールを行う方法を説明します。
Note
Azure Arc 対応サーバーでは、Azure 仮想マシンへの VM 拡張機能のデプロイと管理はサポートされていません。 Azure VM については、次の VM 拡張機能の概要 に関する記事をご覧ください。
前提条件
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
Azure CLI 拡張機能をインストールする
ConnectedMachine コマンドは、Azure CLI の一部として付属していません。 Azure CLI を使用して、Azure に接続し、Azure Arc 対応サーバーで管理されているハイブリッド サーバー上の VM 拡張機能を管理するには、事前に ConnectedMachine 拡張機能を読み込む必要があります。 これらの管理操作はワークステーションから実行できます。Azure Arc 対応サーバー上で実行する必要はありません。
次のコマンドを実行して、Azure CLI ConnectedMachine 拡張機能をインストールします:
az extension add --name connectedmachine
拡張機能を有効にする
Azure Arc 対応サーバーで VM 拡張機能を有効にするには、--machine-name
、--extension-name
、--location
、--type
、settings
、--publisher
の各パラメーターと共に az connectedmachine extension create を使用します。
次の例では、Azure Arc 対応サーバーでカスタム スクリプト拡張機能を有効にします。
az connectedmachine extension create --machine-name "myMachineName" --name "CustomScriptExtension" --location "regionName" --type "CustomScriptExtension" --publisher "Microsoft.Compute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -gt 10000 }\\\"\"}" --type-handler-version "1.10" --resource-group "myResourceGroup"
次の例では、Azure Arc 対応サーバーで Key Vault VM 拡張機能を有効にします。
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.KeyVault" --type "KeyVaultForLinux or KeyVaultForWindows" --name "KeyVaultForLinux or KeyVaultForWindows" --settings '{"secretsManagementSettings": { "pollingIntervalInS": "60", "observedCertificates": ["observedCert1"] }, "authenticationSettings": { "msiEndpoint": "http://localhost:40342/metadata/identity" }}'
次の例では、Azure Arc 対応 Windows サーバーで Microsoft Antimalware 拡張機能を有効にします。
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.Security" --type "IaaSAntimalware" --name "IaaSAntimalware" --settings '"{\"AntimalwareEnabled\": \"true\"}"'
次の例では、Azure Arc 対応 Windows サーバーで Datadog 拡張機能を有効にします。
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Datadog.Agent" --type "DatadogWindowsAgent" --settings '{"site": "us3.datadoghq.com"}' --protected-settings '{"api_key": "YourDatadogAPIKey" }'
インストールされている拡張機能を一覧表示する
Azure Arc 対応サーバー上の VM 拡張機能の一覧を取得するには、--machine-name
および --resource-group
パラメーターと共に az connectedmachine extension list を使用します。
例:
az connectedmachine extension list --machine-name "myMachineName" --resource-group "myResourceGroup"
既定では、Azure CLI コマンドの出力形式は JSON (JavaScript Object Notation) です。 既定の出力をリストまたはテーブルなどに変更するには、az config set core.output=table を使用します。 出力形式で 1 回のみ変更するために --output
を任意のコマンドに追加することもできます。
次の例に、az connectedmachine extension -list
コマンドの JSON 形式の出力の一部を示します。
[
{
"autoUpgradingMinorVersion": "false",
"forceUpdateTag": null,
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/SVR01/extensions/DependencyAgentWindows",
"location": "regionName",
"name": "DependencyAgentWindows",
"namePropertiesInstanceViewName": "DependencyAgentWindows",
拡張機能の構成を更新する
一部の VM 拡張機能では、Arc 対応サーバー (カスタム スクリプト拡張機能など) にインストールするために構成設定が必要です。 拡張機能の構成をアップグレードするには、az connectedmachine extension update を使用してください。
次に示したのは、カスタム スクリプト拡張機能を構成する方法の例です。
az connectedmachine extension update --name "CustomScriptExtension" --type "CustomScriptExtension" --publisher "Microsoft.HybridCompute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -lt 100 }\\\"\"}" --type-handler-version "1.10" --machine-name "myMachine" --resource-group "myResourceGroup"
拡張機能のアップグレード
サポートされている VM 拡張機能は、新しいバージョンがリリースされた時点でその最新リリースにアップグレードできます。 VM 拡張機能をアップグレードするには、az connectedmachine upgrade-extension と、--machine-name
、--resource-group
、--extension-targets
の各パラメーターを使用します。
--extension-targets
パラメーターには、拡張機能と提供されている最新バージョンを指定する必要があります。 拡張機能で使用できる最新バージョンを確認するには、Azure portal で選択した Arc 対応サーバーの 拡張機能 ページにアクセスするか、az vm extension image list を実行します。 1 つのアップグレード要求で複数の拡張機能を指定するには、パブリッシャーと種類 (ピリオドで区切られます) と各拡張機能のターゲット バージョンで定義された、コンマ区切りの拡張機能の一覧を指定します。
インストールされている VM 拡張機能のバージョンは、az connectedmachine extension list コマンドを実行することでいつでも確認できます。 拡張機能のバージョンは、typeHandlerVersion
プロパティの値によって表されます。
拡張機能を削除する
Azure Arc 対応サーバーにインストールされている VM 拡張機能を削除するには、--extension-name
、--machine-name
、--resource-group
の各パラメーターと共に az connectedmachine extension delete を使用します。
次のステップ
Azure portal で Azure PowerShell を使用するか、または Azure Resource Manager テンプレートを使用して、VM 拡張機能をデプロイ、管理、削除できます。
トラブルシューティングに関する情報は、VM 拡張機能のトラブルシューティング ガイドに記載されています。
コマンドの詳細については、Azure CLI VM 拡張機能の概要の記事を参照してください。