Azure Connected Machine Agent をデプロイした後は、エージェントの再構成、アップグレード、削除、その他の変更が必要になる場合があります。 これらの定期的なメンテナンス作業は手動で実行できます。 自動エージェントアップグレード (プレビュー) を有効にすることもでき、他の作業の自動化を検討することで、運用上のミスやコストを削減できます。
この記事では、Connected Machine エージェントおよび Arc 対応サーバーに関連する各種操作の実行方法について説明します。
ヒント
コマンドラインの参照情報については、「azcmagentCLI ドキュメント」をご覧ください。
特定のバージョンのエージェントをインストールする
通常は、Azure Connected Machine エージェントの最新バージョンを使用することを推奨しています。 ただし、何らかの理由で古いバージョンのエージェントを実行する必要がある場合は、現在のバージョンをアンインストールしてから、ターゲット バージョンをインストールします。 マシンが既に Azure Arc に接続されている場合は、マシンを切断する必要はありません。 Connected Machine エージェントのうち、過去 1 年以内にリリースされたバージョンのみが製品グループによって正式にサポートされています。
Azure Connected Machine エージェントの特定のバージョンをインストールするには、次の手順に従います。
Windows エージェントの各リリースへのリンクは、各リリース ノートの見出しの下に記載されています。 6 か月以上前のエージェント バージョンをお探しの場合は、 リリース ノートのアーカイブを参照してください。
エージェントをアップグレードする
Azure Connected Machine エージェントは、バグ修正、安定性の強化、新機能に対処するために定期的に更新されます。 Azure Advisor は、最新バージョンのマシン エージェントを使用していないリソースを識別し、最新バージョンにアップグレードすることをお勧めします。 [概要] ページにバナーを表示して Azure Arc 対応サーバーを選択したとき、または Azure portal から Advisor にアクセスしたときに通知されます。
Windows および Linux 用の Azure Connected Machine エージェントは、要件に応じて、手動または自動で最新リリースにアップグレードできます。 Azure Connected Machine Agent をインストール、アップグレード、またはアンインストールする場合、サーバーを再起動する必要はありません。
自動エージェント アップグレード (プレビュー)
Azure Connected Machine Agent のバージョン 1.48 以降では、エージェントを最新バージョンに自動アップグレードするように構成できます。 この機能は現在パブリック プレビュー中であり、Azure パブリック クラウドでのみ利用可能です。 自動アップグレードを有効にするには、enableAutomaticUpgrade プロパティを true に設定してください。 これを行うと、リージョン間の安定性を維持するためにバッチがロールアウトされ、最新リリースの 1 つのバージョン内でエージェントがアップグレードされます。 Azure CLI (Windows または Linux) または PowerShell を使用して、エージェントの自動アップグレードを構成できます。
次の例は、Azure CLI を使用してエージェントの自動アップグレードを構成する方法を示しています。
# Set your target subscription
az account set --subscription "YOUR SUBSCRIPTION"
# Enable automatic upgrades on a single Arc-enabled server
az rest
--method PATCH
--url "https://management.azure.com/subscriptions/<SUB_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.HybridCompute/machines/<MACHINE_NAME>?api-version=2024-05-20-preview"
--headers "Content-Type=application/json"
--body '{"properties":{"agentUpgrade":{"enableAutomaticUpgrade":true}}}'
次の例は、PowerShell を使用してエージェントの自動アップグレードを構成する方法を示しています。
Set-AzContext -Subscription "YOUR SUBSCRIPTION"
$params = @{
ResourceGroupName = "YOUR RESOURCE GROUP"
ResourceProviderName = "Microsoft.HybridCompute"
ResourceType = "Machines"
ApiVersion = "2024-05-20-preview"
Name = "YOUR MACHINE NAME"
Method = "PATCH"
Payload = '{"properties":{"agentUpgrade":{ "enableAutomaticUpgrade":true}}}'
}
Invoke-AzRestMethod @params
その他のエージェントのアップグレード方法
次の表では、エージェントのアップグレードを実行するためにサポートされている追加の方法について説明します。
| オペレーティング システム | アップグレード方法 |
|---|---|
| ウィンドウズ | 手動 Microsoft Update |
| ウブントゥ | apt |
| Red Hat/Oracle Linux/Amazon Linux | yum |
| SUSE Linux Enterprise Server | zypper |
Windows ベースのマシン用の Azure Connected Machine エージェントの最新バージョンは、次の場所から取得できます。
- Microsoft Update
- Microsoft Update カタログ
- Microsoft ダウンロード センター
Microsoft Update の構成
Windows エージェントのバージョンを最新の状態に保つには、Microsoft Update を通じて最新バージョンを自動的に取得する方法が推奨されています。 これにより、Microsoft Configuration Manager や Windows Server Update Services など、既存の更新インフラを活用して、Azure Connected Machine Agent の更新を通常の OS 更新スケジュールに組み込むことができます。
Windows Server では、既定では Microsoft Update の更新プログラムがチェックされません。 Azure Connected Machine Agent の自動更新を受信するには、コンピューター上の Windows Update クライアントを構成して、他の Microsoft 製品を確認する必要があります。
ワークグループに属し、インターネットに接続して更新プログラムを確認する Windows Server の場合は、管理者として PowerShell で次のコマンドを実行することで、Microsoft Update を有効にすることができます。
$ServiceManager = (New-Object -com "Microsoft.Update.ServiceManager")
$ServiceID = "7971f918-a847-4430-9279-4a52d1efe18d"
$ServiceManager.AddService2($ServiceId,7,"")
ドメインに属し、インターネットに接続して更新プログラムを確認する Windows サーバーの場合は、グループ ポリシーを使用してこの設定を大規模に構成できます。
- 組織のグループ ポリシー オブジェクト (GPO) を管理できるアカウントを使用して、サーバー管理に使用するコンピューターにサインインします。
- グループ ポリシー管理コンソールを開きます。
- フォレスト、ドメイン、組織単位を展開して、新しい GPO の適切なスコープを選択します。 変更する GPO が既にある場合は、手順 6 に進みます。
- コンテナーを右クリックし、[ このドメインに GPO を作成する] を選択し、ここにリンクします。...
- "Microsoft Update を有効にする" などのポリシーの名前を指定します。
- ポリシーを右クリックし、[ 編集] を選択します。
- Windows Update > Windows コンポーネント>コンピューター構成>管理用テンプレートに移動します。
- [ 自動更新の構成 ] 設定を選択して編集します。
- [ 有効] ラジオ ボタンを選択して、ポリシーを有効にします。
- [オプション] セクションの下部で、下部にある [他の Microsoft 製品の更新プログラムをインストールする] チェック ボックスをオンにします。
- [OK] を選択.
選択したスコープ内のコンピューターが次回ポリシーを更新すると、Windows Update と Microsoft Update の両方で更新プログラムのチェックが開始されます。
Microsoft Configuration Manager または Windows Server Update Services を使用してサーバーに更新プログラムを配信する組織では、WSUS を構成して Azure Connected Machine Agent パッケージを同期し、サーバーへのインストールを承認する必要があります。 Windows Server Update Services または Configuration Manager のガイダンスに従って、次の製品と分類を構成に追加してください。
- 製品名: Azure Connected Machine Agent (すべてのサブオプションを選択)
- 分類: 重要な更新プログラム、更新プログラム
更新プログラムが同期されたら、必要に応じて、Azure Connected Machine Agent 製品を自動適用ルールに追加して、サーバーが最新のエージェント ソフトウェアを使用して自動的に最新の状態に維持されるようにすることができます。
セットアップ ウィザードを使用して手動でアップグレードするには
- 管理者権限を持つアカウントでコンピューターにサインインします。
- 最新のエージェント インストーラーをダウンロードする https://aka.ms/AzureConnectedMachineAgent
- AzureConnectedMachineAgent.msi を実行してセットアップ ウィザードを起動します。
セットアップ ウィザードで以前のバージョンのエージェントが検出された場合、エージェントは自動的にアップグレードされます。 アップグレードが完了すると、セットアップ ウィザードが自動的に閉じます。
コマンド ラインからアップグレードするには
Windows インストーラー パッケージのコマンド ライン オプションに慣れていない場合は、 Msiexec 標準のコマンド ライン オプション と Msiexec コマンド ライン オプションを確認してください。
管理者権限を持つアカウントでコンピューターにサインオンします。
最新のエージェント インストーラーをダウンロードする https://aka.ms/AzureConnectedMachineAgent
エージェントをサイレント モードでアップグレードし、
C:\Support\Logsフォルダーにセットアップ ログ ファイルを作成するには、次のコマンドを実行します。msiexec.exe /i AzureConnectedMachineAgent.msi /qn /l*v "C:\Support\Logs\azcmagentupgradesetup.log"
エージェントのアンインストール
Azure Arc 対応サーバーで管理しなくなったサーバーの場合は、次の手順に従って、サーバーから VM 拡張機能を削除し、エージェントを切断して、サーバーからソフトウェアをアンインストールします。 システムから関連するすべてのソフトウェア コンポーネントを完全に削除するには、これらすべての手順を完了することが重要です。
VM 拡張機能を削除する
Azure Arc 対応サーバーに Azure VM 拡張機能をデプロイしている場合は、エージェントの切断やソフトウェアのアンインストールを行う前に、すべての拡張機能をアンインストールする必要があります。 Azure Connected Machine エージェントをアンインストールしても拡張機能は自動的に削除されず、サーバーを Azure Arc に再接続してもこれらの拡張機能は認識されません。
Azure Arc 対応サーバー上の拡張機能の一覧表示および削除方法については、次のリソースをご参照ください。
Azure Arc からサーバーを切断します
サーバーからすべての拡張機能を削除した後は、次のステップとしてエージェントを切断します。 この操作により、サーバーに対応する Azure リソースが削除され、エージェントのローカル状態がクリアされます。
エージェントを切断するには、サーバーで管理者として azcmagent disconnect コマンドを実行します。 サブスクリプション内のリソースを削除するアクセス許可を持つ Azure アカウントでサインインするように求められます。 リソースが Azure で既に削除されている場合は、ローカル状態をクリーンアップする追加のフラグ ( azcmagent disconnect --force-local-only) を渡します。
管理者アカウントと Azure アカウントが異なる場合、サインイン プロンプトが自動的に管理者アカウントを選択するため、問題が発生する可能性があります。 これらの問題を解決するには、 azcmagent disconnect --use-device-code コマンドを実行します。 リソースを削除する権限を持つ Azure アカウントでのサインインが求められます。
注意事項
Azure Local で実行されている Arc 対応 VM からエージェントを切断する場合は、azcmagent disconnect --force-local-only コマンドのみを使用します。
–force-local-only フラグなしでコマンドを使用すると、Azure Local 上の Arc VM が Azure とオンプレミスの両方から削除される可能性があります。
エージェントのアンインストール
最後に、サーバーから Connected Machine エージェントを削除できます。
次のどちらの方法でもエージェントは削除されますが、コンピューター上の C:\Program Files\AzureConnectedMachineAgent フォルダーは削除されません。
コントロール パネルからアンインストールする
次の手順に従って、コンピューターから Windows エージェントをアンインストールします。
- 管理者のアクセス許可を持つアカウントを使用してコンピューターにサインインします。
- コントロール パネルで、[プログラムと機能] を選択します。
- [プログラムと機能] で、[Azure Connected Machine Agent] を選択し、[アンインストール] を選択し、[はい] を選択します。
エージェント セットアップ ウィザードから Windows エージェントを直接削除することもできます。 これを行うには、 AzureConnectedMachineAgent.msi インストーラー パッケージを実行します。
コマンドラインからアンインストールする
次の例に従って、コマンド プロンプトから、または自動メソッド (スクリプトなど) を使用して、エージェントを手動でアンインストールできます。 まず、オペレーティング システムから、アプリケーション パッケージのプリンシパル識別子である GUID である製品コードを取得する必要があります。 アンインストールは、Msiexec.exe コマンド ライン ( msiexec /x {Product Code}) を使用して実行されます。
レジストリ エディターを開きます。
レジストリ キー
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstallで、製品コード GUID を探してコピーします。次の例のように、Msiexec を使用してエージェントをアンインストールします。
コマンド ラインから、次のコマンドを入力します。
msiexec.exe /x {product code GUID} /qnPowerShell を使用して同じ手順を実行できます。
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}
プロキシ設定を更新または削除する
プロキシ サーバー経由でサービスと通信するようにエージェントを構成したり、デプロイ後にこの構成を削除したりするには、ここで説明するいずれかの方法を使用します。 エージェントは、このシナリオでは HTTP プロトコルを使用して送信を通信します。
プロキシ設定は、azcmagent config コマンドまたはシステム環境変数を使用して構成できます。 エージェント構成とシステム環境変数の両方でプロキシ サーバーが指定されている場合、エージェント構成が優先され、有効な設定になります。 エージェントの有効なプロキシ構成を表示するには、 azcmagent show を使用します。
注
Azure Arc 対応サーバーでは、接続されたマシン エージェントのプロキシとして Log Analytics ゲートウェイ を使用することはできません。
エージェント固有のプロキシ構成
プロキシ サーバーの設定には、エージェント固有の構成方法を使用することが推奨されています。 この方法は、Azure Connected Machine Agent のバージョン 1.13 以降で利用可能です。 エージェント固有のプロキシ構成を使用することで、Azure Connected Machine Agent のプロキシ設定がシステム上の他のアプリケーションに干渉するのを防ぐことができます。
注
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 対応サーバーの Azure リージョンを参照します。
ArcDataに設定されている場合のプロキシ バイパス値は、Arc エージェントではなく、SQL Server 用の Azure 拡張機能のトラフィックのみをバイパスします。
| プロキシ バイパス値 | 影響を受けるエンドポイント |
|---|---|
AAD |
login.windows.net
login.microsoftonline.com
pas.windows.net
|
ARM |
management.azure.com |
AMA |
global.handler.control.monitor.azure.com
<virtual-machine-region-name>.handler.control.monitor.azure.com
<log-analytics-workspace-id>.ods.opinsights.azure.com
management.azure.com
<virtual-machine-region-name>.monitoring.azure.com
<data-collection-endpoint>.<virtual-machine-region-name>.ingest.monitor.azure.com
|
Arc |
his.arc.azure.comguestconfiguration.azure.com |
ArcData
1 |
*.<region>.arcdataservices.com |
1 プロキシ バイパス値 ArcData は、Azure Connected Machine エージェント バージョン 1.36 および Azure Extension for SQL Server バージョン 1.1.2504.99 以降で使用できます。 以前のバージョンでは、Azure Arc エンドポイントによって有効になっている SQL Server が "Arc" プロキシ バイパス値に含まれています。
プロキシ サーバー経由で 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 システム全体のプロキシ設定が構成されている場合でも、プロキシ サーバーは使用されません。
システム環境変数の代わりに、エージェント固有のプロキシ構成を使用することをお勧めします。
プロキシ サーバー環境変数を設定するには、次のコマンドを実行します。
# 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 以降) を確認してから、himd、GC_Ext、および GCArcService デーモンに設定された HTTPS_PROXY 環境変数を確認します。 同梱のスクリプトは systemd のデフォルトのプロキシ設定を構成し、Azure Connected Machine Agent およびマシン上の他のすべてのサービスが指定されたプロキシ サーバーを使用するようにします。
プロキシ サーバー経由で通信するようにエージェントを構成するには、次のコマンドを実行します。
sudo /opt/azcmagent/bin/azcmagent_proxy add "http://ProxyServerFQDN:port"
環境変数を削除するには、次のコマンドを実行します。
sudo /opt/azcmagent/bin/azcmagent_proxy remove
環境変数からエージェント固有のプロキシ構成への移行
既に環境変数を使用して Azure Connected Machine エージェントのプロキシ サーバーを構成していて、ローカル エージェントの設定に基づいてエージェント固有のプロキシ構成に移行する場合は、次の手順を実行します。
Azure Connected Machine Agent を最新バージョンにアップグレードします。
azcmagent config set proxy.url "http://ProxyServerFQDN:port"を実行して、プロキシ サーバー情報を使用してエージェントを構成します。
Azure Arc 対応サーバー リソースの名前を変更する
Azure Arc 対応サーバーに接続されている Linux または Windows マシンの名前を変更しても、Azure のリソース名は不変であるため、新しい名前は自動的に認識されません。 他の Azure リソースと同様に、新しい名前を使用するには、Azure 上でリソースを削除し、再作成する必要があります。
Azure Arc 対応サーバーの場合、マシンの名前を変更する前に、VM 拡張機能を削除する必要があります。
Azure portal、Azure CLI、または Azure PowerShell を使用して、マシンにインストールされている VM 拡張機能の一覧とその構成内容を確認してください。
Azure portal、Azure CLI、または Azure PowerShell を使用して、マシンにインストールされているすべての VM 拡張機能を削除してください。
azcmagent ツールと Disconnect パラメーターを使用して、Azure Arc からマシンを切断し、Azure からマシン リソースを削除します。 このツールは、対話形式でログオンしている状態で手動実行することができ、Microsoft ID のアクセス トークンまたは サービス プリンシパルを使用することも可能です。
マシンを Azure Arc 対応サーバーから切断しても、Connected Machine エージェントは削除されないため、このプロセスの一環としてエージェントを削除する必要はありません。
Connected Machine エージェントを Azure Arc 対応サーバーに再登録します。
azcmagentパラメーターを指定して ツールを実行して、この手順を完了します。 エージェントは既定でコンピューターの現在のホスト名を使用しますが、--resource-nameパラメーターを connect コマンドに渡すことで、独自のリソース名を選択できます。Azure Arc 対応サーバーからマシンに最初にデプロイされた VM 拡張機能を再デプロイします。 Azure Policy 定義を使用して Azure Monitor for VMs (insights) エージェントをデプロイした場合、エージェントは次の 評価サイクルの後に再デプロイされます。
Azure Arc 対応サーバーの切断を調査する
Connected Machine エージェントは、定期的なハートビート メッセージを 5 分ごとに Azure に送信します。 Arc 対応サーバーが 15 分を超えて Azure へのハートビートの送信を停止した場合、サーバーがオフラインであるか、ネットワーク接続がブロックされているか、エージェントが実行されていないことを意味する可能性があります。
こうしたインシデントに対応・調査するための計画を策定し、インシデント発生時に通知を受け取れるようにリソースの正常性アラートを設定してください。 詳細については、「Azure portal でリソース正常性アラートを作成する」をご参照ください。
関連コンテンツ
- トラブルシューティング情報については、「Connected Machine エージェントのトラブルシューティング ガイド」をご参照ください。
- Azure Arc 対応サーバーの計画と展開方法をあらゆる規模で理解し、集中管理と監視を実装しましょう。
- Azure Policy を使用してマシンを管理する方法を確認します。VM のゲスト構成、予期された Log Analytics ワークスペースがマシンの報告先であることの確認、VM 分析情報を使用した監視の有効化などの方法です。