Azure Connected Machine 代理程式概觀

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

代理程式元件

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

Azure 連線 Machine 代理程式套件包含數個組合在一起的邏輯元件:

  • Hybrid Instance Metadata Service (HIMDS) 會管理 Azure 的連線,以及連線機器的 Azure 身分識別。

  • 來賓設定代理程式提供多項功能,例如評定機器是否符合必要原則,以及強制執行合規性。

    請注意下列與已中斷連線之電腦 Azure 原則 客體設定的行為:

    • 目標為已中斷連線機器的 Azure 原則指派,均不會受到影響。
    • 來賓指派會儲存在本機 14 天。 在 14 天內,如果連線的電腦代理程式重新連線至服務,則會重新套用原則指派。
    • 工作分派會在 14 天后刪除,且在 14 天期間之後不會重新指派給計算機。
  • 延伸模組代理程式會管理 VM 延伸模組,包括安裝、解除安裝和升級。 Azure 會下載延伸模組,並將其複製到 %SystemDrive%\%ProgramFiles%\AzureConnectedMachineAgent\ExtensionService\downloads Windows 上的資料夾,以及複製到 /opt/GC_Ext/downloads Linux 上的資料夾。 在 Windows 上,擴充功能會安裝到下列路徑 %SystemDrive%\Packages\Plugins\<extension>,而 Linux 上的延伸模組會安裝至 /var/lib/waagent/<extension>

注意

Azure 監視器代理程式 (AMA) 是收集監視數據的個別代理程式,而且不會取代 連線 的計算機代理程式;AMA 只會取代 Windows 和 Linux 機器的 Log Analytics 代理程式、診斷延伸模組和 Telegraf 代理程式。

代理程序資源

下列資訊說明 Azure 連線 電腦代理程式所使用的目錄和用戶帳戶。

Windows 代理程式安裝詳細數據

Windows 代理程式會以 Windows Installer 套件 (MSI) 的形式散發。 請從 Microsoft 下載中心下載 Windows 代理程式。 為 Window 安裝 連線 的電腦代理程式會套用下列全系統設定變更:

  • 安裝程式會在安裝期間建立下列資料夾。

    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 服務。

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

    虛擬帳戶 描述
    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 的 連線 機器代理程式。 殼層腳本套件組合 Install_linux_azcmagent.sh 安裝和設定代理程式。

在伺服器重新啟動之後,不需要安裝、升級和移除 連線 計算機代理程式。

安裝適用於Linux的 連線機器代理程式會套用下列全系統設定變更。

  • 安裝程式會建立下列安裝資料夾。

    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/ 延伸模組套件下載、來賓設定 (原則) 定義下載,以及延伸模組和客體設定服務的記錄。
  • 安裝代理程式會建立下列精靈。

    服務名稱 Display name 程序名稱 描述
    himdsd.service Azure 連線 機器代理程式服務 himds 此服務會實作混合式實例元數據服務 (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 連線 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 的 Azure 連線 Machine 代理程式,且不會主動修改擴充功能或評估原則,您可以預期代理程式會取用下列系統資源:

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

執行個體中繼資料

連線 計算機代理程式向已啟用 Azure Arc 的伺服器註冊之後,會收集已連線機器的元數據資訊。 具體而言:

  • 操作系統名稱、類型和版本
  • 電腦名稱
  • 計算機製造商和型號
  • 電腦完整功能變數名稱 (FQDN)
  • 功能變數名稱(如果已加入 Active Directory 網域)
  • Active Directory 和 DNS 完整功能變數名稱 (FQDN)
  • UUID (BIOS 識別符)
  • 連線 計算機代理程式活動訊號
  • 連線 計算機代理程式版本
  • 受控識別的公鑰
  • 原則合規性狀態和詳細數據(如果使用客體設定原則)
  • 安裝 SQL Server (布林值 )
  • 叢集資源識別碼 (適用於 Azure Stack HCI 節點)
  • 硬體製造商
  • 硬體模型
  • CPU 系列、套接字、實體核心和邏輯核心計數
  • 實體記憶體總計
  • 序號
  • SMBIOS 資產標記
  • 雲端提供者
  • Amazon Web Services (AWS) 元數據,在 AWS 中執行時:
    • 帳戶識別碼
    • Instance ID
    • 區域
  • Google Cloud Platform (GCP) 元數據,在 GCP 中執行時:
    • Instance ID
    • 映像
    • 機器類型
    • 專案識別碼
    • 項目編號
    • 服務帳戶
    • 區域
  • Oracle 雲端基礎結構元數據,在 OCI 中執行時:
    • Display name

代理程式會向 Azure 要求下列元數據資訊:

  • 資源位置(區域)
  • 虛擬機標識碼
  • 標籤
  • Microsoft Entra 受控識別憑證
  • 來賓設定原則指派
  • 擴充功能要求 - 安裝、更新和刪除。

注意

已啟用 Azure Arc 的伺服器不會在客戶部署服務實例的區域之外儲存/處理客戶數據。

部署選項和需求

代理程式部署和計算機連線需要特定 必要條件。 還有 網路需求 需要注意。

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

下一步