Azure Arc 代理程式
當您在 VMware VM 上啟用客體管理時,Azure Connected Machine 代理程式會安裝在 VM 上。 這是啟用 Arc 的伺服器所使用的相同代理程式。 Azure Connected Machine 代理程式可讓您在公司網路或其他雲端提供者上管理裝載於 Azure 外部的 Windows 和 Linux 機器。 本文提供 Azure Connected Machine 代理程式的架構概觀。
代理程式元件
Azure Connected Machine 代理程式套件包含數個互為配套的邏輯元件:
Hybrid Instance Metadata Service (HIMDS) 會管理 Azure 的連線,以及連線機器的 Azure 身分識別。
來賓設定代理程式提供多項功能,例如評定機器是否符合必要原則,以及強制執行合規性。
對於已中斷連線的機器,請注意 Azure 原則客體設定的下列行為:
- 目標為已中斷連線機器的 Azure 原則指派,均不會受到影響。
- 來賓指派會儲存在本機 14 天。 在 14 天內,如果連線的電腦代理程式重新連線至服務,則會重新套用原則指派。
- 指派會在 14 天後刪除,且在 14 天期間之後不會再重新指派給機器。
延伸模組代理程式會管理 VM 延伸模組,包括安裝、解除安裝和升級。 Azure 會下載延伸模組,並將其複製到 Windows 上的
%SystemDrive%\%ProgramFiles%\AzureConnectedMachineAgent\ExtensionService\downloads
資料夾,以及複製到 Linux 上的/opt/GC_Ext/downloads
。 在 Windows 上,延伸模組會安裝到路徑%SystemDrive%\Packages\Plugins\<extension>
,而在 Linux 上,延伸模組會安裝到/var/lib/waagent/<extension>
。
注意
Azure 監視器代理程式 (AMA) 是會收集監視資料的個別代理程式,並不會取代 Connected Machine 代理程式;AMA 只會取代 Log Analytics 代理程式、診斷延伸模組,以及 Windows 和 Linux 機器的 Telegraf 代理程式。
代理程式資源
下列資訊說明 Azure Connected Machine 代理程式所使用的目錄和使用者帳戶。
Windows 代理程式安裝詳細資料
Windows 代理程式會以 Windows Installer 套件 (MSI) 的形式散發。 請從 Microsoft 下載中心下載 Windows 代理程式。 安裝適用於 Windows 的 Connected Machine 代理程式,會套用下列全系統設定變更:
安裝程序會在安裝期間建立下列資料夾。
Directory 描述 %ProgramFiles%\AzureConnectedMachineAgent azcmagent CLI 和 Instance Metadata Service 可執行檔。 %ProgramFiles%\AzureConnectedMachineAgent\ExtensionService\GC 延伸模組服務可執行檔。 %ProgramFiles%\AzureConnectedMachineAgent\GCArcService\GC 來賓設定 (原則) 服務可執行檔。 %ProgramData%\AzureConnectedMachineAgent azcmagent CLI 和執行個體中繼資料服務的設定、記錄和身分識別權杖檔案。 %ProgramData%\GuestConfig 延伸模組套件下載、來賓設定 (原則) 定義下載,以及延伸模組和客體設定服務的記錄。 %SYSTEMDRIVE%\packages 延伸模組套件可執行檔。 安裝代理程式會在目標電腦上建立下列 Windows 服務。
Service name Display name 程序名稱 描述 himds Azure 混合式 Instance Metadata Service himds 使用 Azure 同步處理中繼資料,並託管本機 REST API,讓延伸模組和應用程式存取中繼資料並要求 Microsoft Entra 受控識別權杖 GCArcService 來賓設定 Arc 服務 gc_service 在機器上稽核並強制執行 Azure 來賓設定原則。 ExtensionService 來賓設定延伸模組服務 gc_service 在機器上安裝、更新及管理延伸模組。 代理程式安裝會建立下列虛擬服務帳戶。
虛擬帳戶 描述 NT SERVICE\himds 無特殊權限的帳戶,可用來執行 Hybrid Instance Metadata Service。 提示
此帳戶需要登入即服務的權限。 此權限會在代理程式安裝期間自動授與,但如果貴組織使用群組原則設定了使用者權限指派,您就可能需要調整群組原則物件,以將權限授與 NT SERVICE\himds 或 NT SERVICE\ALL SERVICES,讓代理程式能夠運作。
代理程式安裝會建立下列本機安全性群組。
安全性群組名稱 描述 混合式代理程式延伸模組應用程式 此安全性群組的成員可以針對系統指派的受控識別要求 Microsoft Entra 權杖 代理程式安裝會建立下列環境變數
名稱 Default value 說明 IDENTITY_ENDPOINT http://localhost:40342/metadata/identity/oauth2/token
IMDS_ENDPOINT http://localhost:40342
有數個記錄檔可用於疑難排解,如下表中所述。
Log 描述 %ProgramData%\AzureConnectedMachineAgent\Log\himds.log 記錄活動訊號和身分識別代理程式元件的詳細資料。 %ProgramData%\AzureConnectedMachineAgent\Log\azcmagent.log 包含 azcmagent 工具命令的輸出。 %ProgramData%\GuestConfig\arc_policy_logs\gc_agent.log 記錄來賓設定 (原則) 代理程式元件的詳細資料。 %ProgramData%\GuestConfig\ext_mgr_logs\gc_ext.log 記錄延伸模組管理員活動的詳細資料 (延伸模組安裝、解除安裝和升級事件)。 %ProgramData%\GuestConfig\extension_logs 包含個別延伸模組記錄的目錄。 過程中會建立本機安全性群組混合式代理程式延伸模組應用程式。
將代理程式解除安裝之後,下列成品會維持不變:
- %ProgramData%\AzureConnectedMachineAgent\Log
- %ProgramData%\AzureConnectedMachineAgent
- %ProgramData%\GuestConfig
- %SystemDrive%\packages
Linux 代理程式安裝詳細資料
發行版本 (裝載於 Microsoft 套件存放庫) 慣用的套件格式 (.rpm
或 .deb
) 會提供適用於 Linux 的 Connected Machine 代理程式。 殼層指令碼組合 Install_linux_azcmagent.sh 會安裝並設定代理程式。
在伺服器重新啟動之後,不需要安裝、升級及移除 Connected Machine 代理程式。
安裝適用於 Linux 的 Connected Machine 代理程式,會套用下列全系統設定變更。
安裝程式會建立下列安裝資料夾。
Directory 描述 /opt/azcmagent/ azcmagent CLI 和 Instance Metadata Service 可執行檔。 /opt/GC_Ext/ 延伸模組服務可執行檔。 /opt/GC_Service/ 來賓設定 (原則) 服務可執行檔。 /var/opt/azcmagent/ azcmagent CLI 和 Instance Metadata Service 的組態、記錄和身分識別權杖檔案。 /var/lib/GuestConfig/ 延伸模組套件下載、來賓設定 (原則) 定義下載,以及延伸模組和客體設定服務的記錄。 安裝代理程式會建立下列精靈。
Service name Display name 程序名稱 描述 himdsd.service Azure Connected Machine 代理程式服務 himds 此服務會實作 Hybrid Instance Metadata Service (IMDS),以管理與 Azure 的連線和已連線機器的 Azure 身分識別。 gcad.service GC Arc 服務 gc_linux_service 在機器上稽核並強制執行 Azure 來賓設定原則。 extd.service 延伸模組服務 gc_linux_service 在機器上安裝、更新及管理延伸模組。 有數個記錄檔可用於疑難排解,如下表中所述。
Log 描述 /var/opt/azcmagent/log/himds.log 記錄活動訊號和身分識別代理程式元件的詳細資料。 /var/opt/azcmagent/log/azcmagent.log 包含 azcmagent 工具命令的輸出。 /var/lib/GuestConfig/arc_policy_logs 記錄來賓設定 (原則) 代理程式元件的詳細資料。 /var/lib/GuestConfig/ext_mgr_logs 記錄延伸模組管理員活動的詳細資料 (延伸模組安裝、解除安裝和升級事件)。 /var/lib/GuestConfig/extension_logs 包含個別延伸模組記錄的目錄。 代理程式安裝會建立下列在
/lib/systemd/system.conf.d/azcmagent.conf
中設定的環境變數。名稱 Default value 說明 IDENTITY_ENDPOINT http://localhost:40342/metadata/identity/oauth2/token
IMDS_ENDPOINT http://localhost:40342
將代理程式解除安裝之後,下列成品會維持不變:
- /var/opt/azcmagent
- /var/lib/GuestConfig
代理程式資源治理
Azure Connected Machine 代理程式的用途是要管理代理程式和系統資源使用量。 在下列情況下,代理程式會執行資源治理:
客體設定代理程式最多可以使用 5% 的 CPU 來評估原則。
延伸模組服務代理程式最多可以使用 5% 的 CPU 來安裝、升級、執行及刪除延伸模組。 某些延伸模組可能會在安裝後套用更嚴格的 CPU 限制。 下列情況則例外:
擴充功能類型 作業系統 CPU 限制 AzureMonitorLinuxAgent Linux 60% AzureMonitorWindowsAgent Windows 100% AzureSecurityLinuxAgent Linux 30% LinuxOsUpdateExtension Linux 60% MDE.Linux Linux 60% MicrosoftDnsAgent Windows 100% MicrosoftMonitoringAgent Windows 60% OmsAgentForLinux Windows 60%
在正常作業期間 (定義為 Azure Connected Machine 代理程式連線到 Azure,且不會主動修改延伸模組或評估原則),您可以預期代理程式取用下列系統資源:
Windows | Linux | |
---|---|---|
CPU 使用量 (標準化為 1 核心) | 0.07% | 0.02% |
記憶體使用量 | 57 MB | 42 MB |
上述效能資料是在 2023 年 4 月於執行 Windows Server 2022 和 Ubuntu 20.04 的虛擬機器上收集的。 實際的代理程式效能和資源耗用量會根據您伺服器的硬體和軟體設定而有所不同。
執行個體中繼資料
Connected Machine 代理程式向已啟用 Azure Arc 的伺服器註冊之後,會收集與連線的機器相關的中繼資料資訊,特別是:
- 作業系統名稱、類型和版本
- 電腦名稱
- 電腦製造商和型號
- 電腦完整網域名稱 (FQDN)
- 網域名稱 (若已加入 Active Directory 網域)
- Active Directory 和 DNS 完整網域名稱 (FQDN)
- UUID (BIOS 識別碼)
- Connected Machine 代理程式活動訊號
- Connected Machine 代理程式版本
- 受控識別的公開金鑰
- 原則合規性狀態和詳細資料 (如果使用客體設定原則)
- 已安裝 SQL Server (布林值)
- 叢集資源識別碼 (適用於 Azure 本機節點)
- 硬體製造商
- 硬體型號
- CPU 系列、通訊端、實體核心和邏輯核心計數
- 實體記憶體總計
- 序號
- SMBIOS 資產標籤
- 雲端提供者
- Amazon Web Services (AWS) 中繼資料 (在 AWS 中執行時):
- 帳戶識別碼
- Instance ID
- 區域
- Google Cloud Platform (GCP) 中繼資料 (在 GCP 中執行時):
- Instance ID
- 映像
- 電腦類型
- 專案識別碼
- 專案編號
- 服務帳戶
- 區域
代理程式會向 Azure 要求下列中繼資料資訊:
- 資源位置 (區域)
- 虛擬機器識別碼
- 標籤
- Microsoft Entra 受控識別憑證
- 客體設定原則指派
- 延伸模組要求 - 安裝、更新和刪除。
注意
已啟用 Azure Arc 的伺服器不會在客戶部署服務執行個體所在區域以外的位置儲存/處理客戶資料。