Connected Machine エージェントの管理と保守

注意

この記事では、間もなくサポート終了 (EOL) 状態になる Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

Azure Connected Machine エージェントの最初のデプロイ後に、エージェントの再構成、アップグレード、またはコンピューターからの削除が必要になることがあります。 これらのルーチン メンテナンス タスクは、手動で、または (オペレーション エラーと経費の両方を減らすことができる) オートメーションを介して行うことができます。 この記事では、エージェントの運用面について説明します。 コマンド ライン リファレンス情報については、 azcmagent CLI のドキュメント を参照してください。

エージェントの特定のバージョンをインストールする

Microsoft は、最適なエクスペリエンスを実現するために、最新バージョンの Azure Connected Machine エージェントを使用することをお勧めします。 ただし、何らかの理由で古いバージョンのエージェントを実行する必要がある場合は、次の手順に従って特定のバージョンのエージェントをインストールできます。

Windows エージェントの現在および以前のリリースへのリンクは、各 リリース ノートの見出しの下にあります。 6 か月以上前のエージェント バージョンをお探しの場合は、リリース ノートのアーカイブを確認してください。

エージェントをアップグレードする

Azure Connected Machine エージェントは、バグの修正、安定性の向上、および新機能に対応するために定期的に更新されます。 Azure Advisor を使用すると、最新バージョンのマシン エージェントを使用していないリソースが特定され、最新バージョンへのアップグレードが推奨されます。 これは、Azure Arc 対応サーバーを選択したときに表示される [概要] ページのバナーによって、または、Azure portal を介して Advisor にアクセスしたときに通知されます。

Windows および Linux 用の Azure Connected Machine エージェントは、要件に応じて、手動または自動で最新リリースにアップグレードできます。 Azure Connected Machine Agent をインストール、アップグレード、アンインストールする場合、サーバーを再起動する必要はありません。

次の表では、エージェントのアップグレードを実行するためにサポートされている方法について説明します。

オペレーティング システム アップグレード方法
Windows 手動
Microsoft Update
Ubuntu apt
SUSE Linux Enterprise Server zypper

Windows エージェント

Windows ベースのマシン用の Azure Connected Machine エージェントの最新バージョンは、次から取得できます。

Microsoft Update 構成

Windows エージェントを最新の状態に維持するには、Microsoft Update を使用して最新バージョンを自動的に取得することをお勧めします。 これにより、既存の更新インフラストラクチャ (Microsoft Configuration Manager、Windows Server Update Services など) を利用し、通常の OS 更新スケジュールに Azure Connected Machine エージェントの更新プログラムを含めることができます。

Windows Server は、既定では Microsoft Update に更新プログラムがあるかどうかを確認しません。 Azure Connected Machine Agent の自動更新を受信するには、他の Microsoft 製品を確認するようにマシン上の Windows Update クライアントを構成する必要があります。

ワークグループに属していて、インターネットに接続して更新プログラムを確認する Windows Server の場合は、PowerShell で管理者として次のコマンドを実行することで、Microsoft Update を有効にできます。

$ServiceManager = (New-Object -com "Microsoft.Update.ServiceManager")
$ServiceID = "7971f918-a847-4430-9279-4a52d1efe18d"
$ServiceManager.AddService2($ServiceId,7,"")

ドメインに属していて、インターネットに接続して更新プログラムを確認する Windows Server の場合は、グループ ポリシーを使用して、大規模にこの設定を構成できます。

  1. 組織のグループ ポリシー オブジェクト (GPO) を管理できるアカウントを使用して、サーバー管理に使用するコンピューターにサインインします。

  2. [グループ ポリシー管理コンソール] を開きます。

  3. フォレスト、ドメイン、および組織単位を展開して、新しい GPO に適該当するスコープを選択します。 変更する GPO が既にある場合は、手順 6 に進みます。

  4. コンテナーを右クリックし、[このドメインに GPO を作成し、このコンテナーにリンクする] を選択します。

  5. ポリシーの名前 ("Enable Microsoft Update" など) を指定します。

  6. ポリシーを右クリックし、[編集] を選択します。

  7. [コンピューターの構成] > [管理用テンプレート] > [Windows コンポーネント] > [Windows Update] の順に移動します。

  8. [自動更新を構成する] 設定を編集するために選択します。

  9. [有効] ラジオ ボタンを選択して、ポリシーを有効にします。

  10. [オプション] セクションの下部にある [その他の Microsoft 製品の更新プログラムのインストール] チェック ボックスをオンにします。

  11. [OK] を選択します。

選択したスコープで次にコンピューターがポリシーを更新したときに、Windows Update と Microsoft Update の両方で更新プログラムの確認が開始されます。

Microsoft Configuration Manager (MECM) または Windows Server Update Services (WSUS) を使用してサーバーに更新プログラムを配信する組織では、Azure Connected Machine Agent パッケージを同期し、それらのサーバーへのインストールを承認するように WSUS を構成する必要があります。 Windows Server Update Services または MECM のガイダンスに従って、次の製品と分類を構成に追加します。

  • 製品名: Azure Connected Machine Agent (3 つのサブオプションをすべて選択)
  • 分類: 重要な更新プログラム、更新プログラム

更新プログラムが同期されたら、必要に応じて Azure Connected Machine Agent 製品を自動承認規則に追加して、最新のエージェント ソフトウェアを使用してサーバーを自動的に最新の状態に維持できます。

セットアップ ウィザードを使用して手動でアップグレードするには

  1. 管理者権限を持つアカウントでコンピューターにサインインします。

  2. https://aka.ms/AzureConnectedMachineAgent から最新のエージェント インストーラーをダウンロードします。

  3. AzureConnectedMachineAgent.msi を実行してセットアップ ウィザードを開始します。

セットアップ ウィザードで以前のバージョンのエージェントが検出されると、自動的にアップグレードされます。 アップグレードが完了すると、セットアップ ウィザードは自動的に閉じます。

コマンド ラインからアップグレードするには

Windows インストーラー パッケージのコマンドライン オプションに詳しくない場合は、Msiexec の標準コマンドライン オプションMsiexec のコマンドライン オプションに関するページを参照してください。

  1. 管理者権限を持つアカウントでコンピューターにサインオンします。

  2. https://aka.ms/AzureConnectedMachineAgent から最新のエージェント インストーラーをダウンロードします。

  3. エージェントをサイレント モードでアップグレードして、C:\Support\Logs フォルダーにセットアップ ログ ファイルを作成するには、次のコマンドを実行します。

    msiexec.exe /i AzureConnectedMachineAgent.msi /qn /l*v "C:\Support\Logs\azcmagentupgradesetup.log"
    

Linux エージェント

Linux マシンでエージェントを更新するには、2 つのコマンドが必要です。1 つは、リポジトリから利用可能な最新のパッケージの一覧でローカル パッケージ インデックスを更新するコマンドで、もう 1 つは、ローカル パッケージをアップグレードするコマンドです。

Microsoft の パッケージ リポジトリから、最新のエージェント パッケージをダウンロードできます。

Note

エージェントをアップグレードするには、root アクセス許可または Sudo を使用して権限を昇格したアカウントが必要です。

Ubuntu でエージェントをアップグレードする

  1. リポジトリに加えられた最新の変更でローカル パッケージのインデックスを更新するには、次のコマンドを実行します。

    sudo apt update
    
  2. システムをアップグレードするには、次のコマンドを実行します。

    sudo apt upgrade azcmagent
    

apt コマンドのアクション (パッケージのインストールや削除など) は、/var/log/dpkg.log ログ ファイルに記録されます。

Red Hat/CentOS/Oracle Linux/Amazon Linux でエージェントをアップグレードする

  1. リポジトリに加えられた最新の変更でローカル パッケージのインデックスを更新するには、次のコマンドを実行します。

    sudo yum check-update
    
  2. システムをアップグレードするには、次のコマンドを実行します。

    sudo yum update azcmagent
    

yum コマンドのアクション (パッケージのインストールや削除など) は、/var/log/yum.log ログ ファイルに記録されます。

SUSE Linux Enterprise でエージェントをアップグレードする

  1. リポジトリに加えられた最新の変更でローカル パッケージのインデックスを更新するには、次のコマンドを実行します。

    sudo zypper refresh
    
  2. システムをアップグレードするには、次のコマンドを実行します。

    sudo zypper update azcmagent
    

zypper コマンドのアクション (パッケージのインストールや削除など) は、/var/log/zypper.log ログ ファイルに記録されます。

エージェントの自動アップグレード

Azure Connected Machine エージェントは、新しいバージョンがリリースされても自動的にはアップグレードされません。 スケジュールに従ったパッチ サイクルに、最新バージョンのエージェントを含める必要があります。

Azure Arc 対応サーバー リソースの名前を変更する

Azure Arc 対応サーバーに接続されている Linux または Windows マシンの名前を変更しても、Azure のリソース名は変更不可であるため、新しい名前は自動的には認識されません。 他の Azure リソースと同様に、新しい名前を使用するためにはリソースを削除して再作成する必要があります。

Azure Arc 対応サーバーの場合、マシンの名前を変更する前に、VM 拡張機能を削除してから続行する必要があります。

  1. マシンにインストールされている VM 拡張機能を監査し、それらの構成をメモしておきます。そのためには、Azure CLI または Azure PowerShell を使用します。

  2. コンピューターにインストールされているすべての VM 拡張機能を削除します。 これは Azure portalAzure CLI、または Azure PowerShell を使用して実行できます。

  3. azcmagent ツールと Disconnect パラメーターを使用して、Azure Arc からマシンを切断し、Azure からマシン リソースを削除します。 これは、対話形式でログオンしているときに、Microsoft ID のアクセス トークンを使用して、またはオンボードに使用したサービス プリンシパルを使用して (あるいは作成した新しいサービス プリンシパルを使用して)、手動で実行できます。

    マシンを Azure Arc 対応サーバーから切断しても、Connected Machine エージェントは削除されないため、このプロセスの一環としてエージェントを削除する必要はありません。

  4. Azure Arc 対応サーバーに Connected Machine エージェントを再登録します。 Connect パラメーターを指定して azcmagent ツールを実行し、この手順を完了します。 既定では、エージェントはコンピューターの現在のホスト名を使用しますが、--resource-name パラメーターを接続コマンドに渡すことで、独自のリソース名を選択できます。

  5. Azure Arc 対応サーバーからマシンに最初にデプロイされた VM 拡張機能を再デプロイします。 Azure Policy 定義を使用して Azure Monitor for VMs (分析情報) エージェントまたは Log Analytics エージェントをデプロイした場合、それらのエージェントは、次の評価サイクルの後に再デプロイされます。

エージェントのアンインストール

Azure Arc 対応サーバーで管理する必要がなくなったサーバーについては、以下の手順に従って、サーバーから VM 拡張機能を削除し、エージェントを切断してから、サーバーからソフトウェアをアンインストールしてください。 関連するすべてのソフトウェア コンポーネントをシステムから完全に削除するために、これらの手順をすべて完了することが重要です。

手順 1: VM 拡張機能を削除する

Azure Arc 対応サーバーに Azure VM 拡張機能をデプロイしている場合は、エージェントの切断やソフトウェアのアンインストールを実行する前に、拡張機能をアンインストールする必要があります。 Azure Connected Machine エージェントをアンインストールしても、拡張機能は自動的には削除されません。これらの拡張機能は、サーバーを Azure Arc に再接続した場合に認識されません。

Azure Arc 対応サーバーの拡張機能を特定して削除する方法については、次のリソースを参照してください。

手順 2: Azure Arc からサーバーを切断する

エージェントを切断すると、サーバーの対応する Azure リソースが削除され、エージェントのローカルの状態がクリアされます。 エージェントを切断するには、サーバーで管理者として azcmagent disconnect コマンドを実行します。 サブスクリプション内のリソースを削除するアクセス許可を持つ Azure アカウントを使用してログインするように求められます。 リソースが Azure で既に削除されている場合は、ローカルの状態のクリーンアップを行うための追加フラグ azcmagent disconnect --force-local-only を渡す必要があります。

手順 3a: Windows エージェントをアンインストールする

以下に示すどちらの方法でもエージェントは削除されますが、C:\Program Files\AzureConnectedMachineAgent フォルダーはマシンから削除されません。

コントロール パネルからアンインストールする

コンピューターから Windows エージェントをアンインストールするには、次の手順に従います。

  1. 管理者のアクセス許可を持つアカウントを使用してコンピューターにサインインします。

  2. コントロール パネルで、[プログラムと機能] を選択します。

  3. [プログラムと機能] で、[Azure Connected Machine Agent] を選択し、[アンインストール] を選択してから、[はい] を選択します。

Windows エージェントは、エージェント セットアップ ウィザードから直接削除することもできます。 これを行うには、AzureConnectedMachineAgent.msi インストーラー パッケージを実行します。

コマンドラインからアンインストールする

以下の例に従って、コマンド プロンプトから手動で、または自動化された方法 (スクリプトなど) を使用して、エージェントをアンインストールできます。 まず、製品コード (アプリケーション パッケージの一意識別子である GUID) を、オペレーティング システムから取得する必要があります。 アンインストールを実行するには、Msiexec.exe コマンドライン (msiexec /x {Product Code}) を使用します。

  1. レジストリ エディターを開きます。

  2. レジストリ キー HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall で、製品コード GUID を探してコピーします。

  3. 次の例のように、Msiexec を使用してエージェントをアンインストールします。

    • コマンドラインから次のように入力します。

      msiexec.exe /x {product code GUID} /qn
      
    • PowerShell を使用して同じ手順を実行できます。

      Get-ChildItem -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall | `
      Get-ItemProperty | `
      Where-Object {$_.DisplayName -eq "Azure Connected Machine Agent"} | `
      ForEach-Object {MsiExec.exe /x "$($_.PsChildName)" /qn}
      

手順 3b: Linux エージェントをアンインストールする

Note

エージェントをアンインストールするには、root アクセス許可または sudo を使用して権限を昇格したアカウントが必要です。

Linux エージェントをアンインストールするために使用するコマンドは、Linux オペレーティング システムによって異なります。

  • Ubuntu の場合は、次のコマンドを実行します。

    sudo apt purge azcmagent
    
  • RHEL、CentOS、および Amazon Linux の場合は、次のコマンドを実行します。

    sudo yum remove azcmagent
    
  • SLES の場合は、次のコマンドを実行します。

    sudo zypper remove azcmagent
    

プロキシ設定の更新または削除

プロキシ サーバー経由でサービスと通信するようにエージェントを構成するには、またはデプロイ後にこの構成を削除するには、次に説明するいずれかの方法を使用します。 このシナリオでは、エージェントは HTTP プロトコルを使用してアウトバウンドの通信を行うことに注意してください。

エージェント バージョン 1.13 時点では、azcmagent config コマンドまたはシステム環境変数を使用してプロキシ設定を構成できます。 エージェント構成とシステム環境の両方の変数でプロキシ サーバーが指定されている場合は、エージェント構成が優先され、有効な設定になります。 エージェントの有効なプロキシ構成を表示するには、azcmagent show を使用します。

Note

Azure Arc 対応サーバーでは、認証、TLS (HTTPS) 接続、または Connected Machine エージェントのプロキシとしての Log Analytics ゲートウェイを必要とするプロキシ サーバーの使用はサポートされていません。

エージェント固有のプロキシ構成

エージェント固有のプロキシ構成は、Azure Connected Machine エージェントのバージョン 1.13 以降で使用でき、プロキシ サーバー設定を構成する場合に推奨される方法です。 この方法により、Azure Connected Machine エージェントのプロキシ設定がシステム上の他のアプリケーションに干渉するのを防止できます。

Note

Azure Arc によってデプロイされた拡張機能は、エージェント固有のプロキシ構成を継承しません。 各拡張機能にプロキシ設定を構成する方法のガイダンスについては、デプロイする拡張機能のドキュメントを参照してください。

プロキシ サーバー経由で通信するようにエージェントを構成するには、次のコマンドを実行します。

azcmagent config set proxy.url "http://ProxyServerFQDN:port"

ネットワークで必要とされる場合は、FQDN の代わりに IP アドレスまたは単純なホスト名を使用できます。 プロキシ サーバーがポート 80 で実行されている場合は、末尾の ":80" を省略できます。

プロキシ サーバーの URL がエージェント設定で構成されているかどうかを確認するには、次のコマンドを実行します。

azcmagent config get proxy.url

エージェントがプロキシ サーバー経由で通信できないようにするには、次のコマンドを実行します。

azcmagent config clear proxy.url

azcmagent config コマンドを使用してプロキシ設定を再構成するときに、サービスを再起動する必要はありません。

プライベート エンドポイントのプロキシ バイパス

エージェント バージョン 1.15 以降、指定したプロキシ サーバーを使用しないサービスを指定することもできます。 これは、Microsoft Entra ID と Azure Resource Manager のトラフィックがプロキシ サーバーを経由してパブリック エンドポイントに送信されるが、Azure Arc トラフィックでプロキシをスキップし、ネットワーク上のプライベート IP アドレスと通信する必要がある、分割ネットワーク設計とプライベート エンドポイントのシナリオに役立ちます。

プロキシ バイパス機能を使用する場合、バイパスする特定の URL を入力する必要はありません。 代わりに、プロキシ サーバーを使用しないサービスの名前を指定します。 [location] パラメーターは、Arc Server の Azure リージョンを参照します。

プロキシ バイパス値が ArcData に設定されている場合は、SQL Server 用 Azure 拡張機能のトラフィックのみをバイパスし、Arc エージェントのトラフィックはバイパスしません。

プロキシ バイパス値 影響を受けるエンドポイント
AAD login.windows.net
login.microsoftonline.com
pas.windows.net
ARM management.azure.com
Arc his.arc.azure.com
guestconfiguration.azure.com
ArcData1 *.<region>.arcdataservices.com

1 プロキシ バイパス値 ArcData は、Azure Connected Machine Agent バージョン 1.36 および Azure Extension for SQL Server バージョン 1.1.2504.99 以降で使用できます。 以前のバージョンでは、"Arc" プロキシ バイパス値に、Azure Arc で有効な SQL Server のエンドポイントが含まれています。

プロキシ サーバー経由で Microsoft Entra ID と Azure Resource Manager トラフィックを送信するが、Azure Arc トラフィックのプロキシをスキップするには、次のコマンドを実行します。

azcmagent config set proxy.url "http://ProxyServerFQDN:port"
azcmagent config set proxy.bypass "Arc"

サービスのリストを指定するには、サービス名をコンマで区切ります。

azcmagent config set proxy.bypass "ARM,Arc"

プロキシ バイパスをクリアするには、次のコマンドを実行します。

azcmagent config clear proxy.bypass

azcmagent show を実行すると、有効なプロキシ サーバーとプロキシ バイパスの構成を表示できます。

Windows 環境変数

Windows では、Azure Connected Machine エージェントは、まず proxy.url エージェント構成プロパティ (エージェント バージョン 1.13 以降) を確認し、次にシステム全体の HTTPS_PROXY 環境変数を使用して、使用するプロキシ サーバーを決定します。 どちらも空の場合、既定の Windows システム全体のプロキシ設定が構成されていても、プロキシ サーバーは使用されません。

Microsoft では、システム環境変数の代わりにエージェント固有のプロキシ構成を使用することをお勧めします。

プロキシ サーバーの環境変数を設定するには、次のコマンドを実行します。

# If a proxy server is needed, execute these commands with the proxy URL and port.
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://ProxyServerFQDN:port", "Machine")
$env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
# For the changes to take effect, the agent services need to be restarted after the proxy environment variable is set.
Restart-Service -Name himds, ExtensionService, GCArcService

プロキシ サーバー経由での通信を停止するようにエージェントを構成するには、次のコマンドを実行します。

[Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "Machine")
$env:HTTPS_PROXY = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
# For the changes to take effect, the agent services need to be restarted after the proxy environment variable removed.
Restart-Service -Name himds, ExtensionService, GCArcService

Linux 環境変数

Linux では、Azure Connected Machine エージェントはまず proxy.url エージェント構成プロパティ (エージェント バージョン 1.13 以降) を確認してから、himds、GC_Ext、GCArcService デーモン用に設定された HTTPS_PROXY 環境変数を確認します。 指定されたプロキシ サーバーを使用するために、マシン上の Azure Connected Machine エージェントとその他のすべてのサービスに対してシステムの既定のプロキシ設定を構成するスクリプトが含まれています。

プロキシ サーバー経由で通信するようにエージェントを構成するには、次のコマンドを実行します。

sudo /opt/azcmagent/bin/azcmagent_proxy add "http://ProxyServerFQDN:port"

環境変数を削除するには、次のコマンドを実行します。

sudo /opt/azcmagent/bin/azcmagent_proxy remove

環境変数からエージェント固有のプロキシ構成に移行する

既に環境変数を使用して Azure Connected Machine エージェントのプロキシ サーバーを構成していて、ローカル エージェントの設定に基づいてエージェント固有のプロキシ構成に移行する場合は、次の手順を実行します。

  1. Azure Connected Machine エージェントを最新バージョン (バージョン 1.13 以降) にアップグレードして、新しいプロキシ構成設定を使用します。

  2. azcmagent config set proxy.url "http://ProxyServerFQDN:port" を実行して、プロキシ サーバーの情報を使用してエージェントを構成します。

  3. Windows または Linux 用の手順に従って、使用されていない環境変数を削除します。

次のステップ