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 対応サーバー上で実行する必要はありません。

次のコマンドを実行して取得します。

az extension add --name connectedmachine

拡張機能を有効にする

Azure Arc 対応サーバーで VM 拡張機能を有効にするには、--machine-name--extension-name--location--typesettings--publisher の各パラメーターと共に az connectedmachine extension create を使用します。

次の例では、Azure Arc 対応サーバーで Log Analytics VM 拡張機能を有効にします。

az connectedmachine extension create --machine-name "myMachineName" --name "OmsAgentForLinux or MicrosoftMonitoringAgent" --location "regionName" --settings '{\"workspaceId\":\"myWorkspaceId\"}' --protected-settings '{\"workspaceKey\":\"myWorkspaceKey\"}' --resource-group "myResourceGroup" --type-handler-version "1.13" --type "OmsAgentForLinux or MicrosoftMonitoringAgent" --publisher "Microsoft.EnterpriseCloud.Monitoring" 

次の例では、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 対応サーバーにインストールするために構成設定が必要になるものがあります。たとえば、カスタム スクリプト拡張機能や Log Analytics エージェント VM 拡張機能が該当します。 拡張機能の構成をアップグレードするには、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 パラメーターには、拡張機能と提供されている最新バージョンを指定する必要があります。 提供されている最新バージョンを調べるには、選択した Arc 対応サーバーの [拡張機能] ページを Azure portal で確認するか、az vm extension image list を実行してこの情報を入手します。 1 つのアップグレード要求で複数の拡張機能を指定するには、次の例に示すように、パブリッシャーと種類 (ピリオドで区切られます) と各拡張機能のターゲット バージョンで定義された、コンマ区切りの拡張機能の一覧を指定します。

Windows 用の Log Analytics エージェント拡張機能を新しいバージョンにアップグレードするには、次のコマンドを実行します。

az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'

インストールされている VM 拡張機能のバージョンは、az connectedmachine extension list コマンドを実行することでいつでも確認できます。 拡張機能のバージョンは、typeHandlerVersion プロパティの値によって表されます。

拡張機能を削除する

Azure Arc 対応サーバーにインストールされている VM 拡張機能を削除するには、--extension-name--machine-name--resource-group の各パラメーターと共に az connectedmachine extension delete を使用します。

たとえば、Linux 用の Log Analytics VM 拡張機能を削除するには、次のコマンドを実行します。

az connectedmachine extension delete --machine-name "myMachineName" --name "OmsAgentForLinux" --resource-group "myResourceGroup"

次のステップ