Azure Connected Machine 代理程式概觀

Azure Connected Machine 代理程式可讓您在公司網路或其他雲端提供者上管理裝載於 Azure 外部的 Windows 和 Linux 機器。

代理程式元件

Azure 連線 機器代理程式架構概觀。

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 和 Instance Metadata Service 的組態、記錄和身分識別權杖檔案。
    %ProgramData%\GuestConfig 延伸模組套件下載、來賓設定 (原則) 定義下載,以及延伸模組和客體設定服務的記錄。
    %SYSTEMDRIVE%\packages 延伸模組套件可執行檔
  • 安裝代理程式會在目標電腦上建立下列 Windows 服務。

    Service name Display name 程序名稱 描述
    himds Azure 混合式 Instance Metadata Service himds.exe 使用 Azure 同步處理中繼資料,並託管本機 REST API,讓延伸模組和應用程式存取中繼資料並要求 Microsoft Entra 受控識別權杖
    GCArcService 來賓設定 Arc 服務 gc_arc_service.exe (1.36 版之前的 gc_service.exe) 在機器上稽核並強制執行 Azure 來賓設定原則。
    ExtensionService 來賓設定延伸模組服務 gc_extension_service.exe (1.36 版之前的 gc_service.exe) 在機器上安裝、更新及管理延伸模組。
  • 代理程式安裝會建立下列虛擬服務帳戶。

    虛擬帳戶 描述
    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 來評估原則。

  • 擴充功能服務最多可在 Windows 計算機上使用 5% 的 CPU,以及 Linux 電腦上 30% 的 CPU,以安裝、升級、執行和刪除擴充功能。 某些延伸模組可能會在安裝後套用更嚴格的 CPU 限制。 下列情況則例外:

    擴充功能類型 作業系統 CPU 限制
    AzureMonitorLinuxAgent Linux 60%
    AzureMonitorWindowsAgent Windows 100%
    LinuxOsUpdateExtension Linux 60%
    MDE.Linux Linux 60%
    MicrosoftDnsAgent Windows 100%
    MicrosoftMonitoringAgent Windows 60%
    OmsAgentForLinux Linux 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 的虛擬機器上收集的。 實際的代理程式效能和資源耗用量會根據您伺服器的硬體和軟體設定而有所不同。

自訂資源限制

默認資源治理限制是大部分伺服器的最佳選擇。 不過,管理擴充功能或評估原則時,具有有限 CPU 資源的小型虛擬機和伺服器可能會遇到逾時,因為沒有足夠的 CPU 資源來完成工作。 從代理程式 1.39 版開始,您可以自定義套用至擴充功能和計算機設定服務的 CPU 限制,以協助代理程式更快速地完成這些工作。

若要查看延伸模組管理員和機器組態服務的目前資源限制,請執行下列命令。

azcmagent config list

在輸出中,您會看到兩個字段, guestconfiguration.agent.cpulimit 以及 extensions.agent.cpulimit 指定為百分比的目前資源限制。 在全新安裝代理程式時,兩者都會顯示 5 ,因為預設限制是CPU的5%。

若要將擴充管理員的資源限制變更為 80%,請執行下列命令:

azcmagent config set extensions.agent.cpulimit 80

執行個體中繼資料

Connected Machine 代理程式向已啟用 Azure Arc 的伺服器註冊之後,會收集與連線的機器相關的中繼資料資訊。 具體而言:

  • 操作系統名稱、版本、類型和版本
  • 電腦名稱
  • 電腦製造商和型號
  • 電腦完整網域名稱 (FQDN)
  • 網域名稱 (若已加入 Active Directory 網域)
  • Active Directory 和 DNS 完整網域名稱 (FQDN)
  • UUID (BIOS 識別碼)
  • Connected Machine 代理程式活動訊號
  • Connected Machine 代理程式版本
  • 受控識別的公開金鑰
  • 原則合規性狀態和詳細資料 (如果使用客體設定原則)
  • 已安裝 SQL Server (布林值)
  • 叢集資源識別碼 (Azure Stack HCI 節點)
  • 硬體製造商
  • 硬體型號
  • CPU 系列、通訊端、實體核心和邏輯核心計數
  • 實體記憶體總計
  • 序號
  • SMBIOS 資產標籤
  • 網路介面資訊
    • IP 位址
    • 子網路
  • Windows 授權資訊
    • OS 授權狀態
    • OS 授權通道
    • 延伸安全性 更新 資格
    • 延伸安全性 更新 授權狀態
    • 延伸安全性 更新 授權通道
  • 雲端提供者
  • Amazon Web Services (AWS) 中繼資料 (在 AWS 中執行時):
    • 帳戶識別碼
    • Instance ID
    • 區域
  • Google Cloud Platform (GCP) 中繼資料 (在 GCP 中執行時):
    • Instance ID
    • 映像
    • 電腦類型
    • 專案識別碼
    • 專案編號
    • 服務帳戶
    • 區域
  • 在 OCI 中執行時,Oracle 雲端基礎結構中繼資料:
    • Display name

代理程式會向 Azure 要求下列中繼資料資訊:

  • 資源位置 (區域)
  • 虛擬機器識別碼
  • 標籤
  • Microsoft Entra 受控識別憑證
  • 客體設定原則指派
  • 延伸模組要求 - 安裝、更新和刪除。

注意

已啟用 Azure Arc 的伺服器不會在客戶部署服務執行個體所在區域以外的位置儲存/處理客戶資料。

部署選項和需求

代理程式部署和電腦連線需要某些必要條件。 此外還需注意網路需求

我們提供了數個代理程式部署選項。 如需詳細資訊,請參閱規劃部署部署選項

下一步