共用方式為


Azure Connected Machine 代理程式概觀

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

Warning

產品群組僅正式支援過去一年內的 Connected Machine 代理程式版本。 所有客戶都應在此時段內更新至代理程式版本,或啟用自動代理程式升級 (預覽)

代理程式元件

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

若要以高解析度下載架構圖表,請流覽 Jumpstart Gems

Azure Connected Machine 代理程式套件包含數個互為配套的邏輯元件:

  • Hybrid Instance Metadata Service (HIMDS) 會管理與 Azure 的連線和 Connected Machine 的 Azure 身分識別。

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

    對於已中斷連線的機器,請注意 Azure 原則機器設定的下列行為:

    • 以已中斷連線之機器為目標的 Azure 原則指派不會受到影響。
    • 來賓指派會儲存在本機 14 天的時間。 在 14 天期限內,如果 Connected Machine 代理程式重新連線至服務,則會重新套用原則指派。
    • 指派會在 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>

Note

Azure 監視器代理程式 (AMA) 是收集監視數據的個別代理程式。 它不會取代連線的電腦代理程式。 AMA 只會取代 Windows 和 Linux 機器的 Log Analytics 代理程式、診斷擴充功能和 Telegraf 代理程式。

Azure Arc Proxy

Azure Arc Proxy 服務負責彙總來自 Azure Connected Machine 代理程式服務和任何延伸模組的網路流量,並決定將該資料路由傳送到何處。 如果您使用 Azure Arc 閘道(有限預覽版) 來簡化您的網路端點,Azure Arc Proxy 服務是透過 Azure Arc 閘道轉送網路要求的本機組件,而不是預設路由。 Azure Arc Proxy 在 Windows 上會以網路服務的形式執行,而在 Linux 上會以標準使用者帳戶 (arcproxy) 執行。 在 Azure Connected Machine 代理程式 1.51 版之前,預設會停用此服務,除非您將代理程式設定為使用 Azure Arc 閘道(有限預覽版),否則應該保持停用狀態。 使用 1.51 版和更新版本時,Arc Proxy 服務預設會啟動,因為它現在可以判斷計算機是設定為使用 Arc 閘道,還是直接與 Arc 端點通訊並適當運作。 如果您未使用 Arc 閘道,您仍然可以選擇使用下列命令 azcmagent config set connection.type direct來停用 Arc Proxy 服務。

代理程式資源

本節說明 Azure 連線機器代理程式所使用的目錄和用戶帳戶。

Windows 代理程式安裝詳細資料

Windows 代理程式會以 Windows Installer 套件 (MSI) 的形式散發。 從 Microsoft下載中心下載 Windows 代理程式。 安裝適用於 Windows 的 Connected Machine 代理程式,會套用下列全系統設定變更:

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

    Directory Description
    %ProgramFiles%\AzureConnectedMachineAgent azcmagent CLI 和執行個體中繼資料服務可執行檔。
    %ProgramFiles%\AzureConnectedMachineAgent\ExtensionService2\GC 延伸模組服務可執行檔。
    %ProgramFiles%\AzureConnectedMachineAgent\GCArcService2\GC 機器設定 (原則) 服務可執行檔。
    %ProgramData%\AzureConnectedMachineAgent azcmagent CLI 和執行個體中繼資料服務的設定、記錄和身分識別權杖檔案。
    %ProgramData%\GuestConfig 延伸模組套件下載、機器設定 (原則) 定義下載,以及延伸模組和機器設定服務的記錄。
    %SYSTEMDRIVE%\packages 延伸模組套件可執行檔
  • 安裝代理程式會在目標電腦上建立下列 Windows 服務。

    服務名稱 顯示名稱 程序名稱 Description
    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 版) 在機器上安裝、更新及管理延伸模組。
  • 代理程式安裝會建立下列虛擬服務帳戶。

    虛擬帳戶 Description
    NT SERVICE\himds 用來執行 Hybrid Instance Metadata Service 的無特殊權限帳戶。

    Tip

    此帳戶需要「登入為服務」的權限。 此許可權會在代理程式安裝期間自動授與。 不過,如果您的組織使用組策略設定用戶權力指派,您可能需要調整組策略物件,以授與 “NT SERVICE\himds” 或 “NT SERVICE\ALL SERVICES” 的許可權,以允許代理程序運作。

  • 代理程式安裝會建立下列本機安全性群組。

    安全性群組名稱 Description
    混合式代理程式延伸模組應用程式 此安全群組的成員可以針對系統指派的受控識別要求 Microsoft Entra 權杖
  • 代理程式安裝會建立下列環境變數

    Name 預設值
    IDENTITY_ENDPOINT http://localhost:40342/metadata/identity/oauth2/token
    IMDS_ENDPOINT http://localhost:40342
  • 有數個記錄檔可用於疑難排解,如下表中所述。

    Log Description
    %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

Note

安裝之前,請暫時從防病毒軟體/反惡意代碼掃描排除安裝檔案的位置。 這可防止安裝期間的潛在干擾和檔案損毀。

Linux 代理程式安裝詳細資料

發行版本 (裝載於 Microsoft 套件存放庫) 慣用的套件格式 (.rpm.deb) 會提供適用於 Linux 的 Connected Machine 代理程式。 殼層指令碼組合 Install_linux_azcmagent.sh 會安裝並設定代理程式。

在伺服器重新啟動之後,不需要安裝、升級及移除 Connected Machine 代理程式。

安裝適用於 Linux 的 Connected Machine 代理程式,會套用下列全系統設定變更。

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

    Directory Description
    /opt/azcmagent/ azcmagent CLI 和執行個體中繼資料服務可執行檔。
    /opt/GC_Ext/ 延伸模組服務可執行檔。
    /opt/GC_Service/ 機器設定 (原則) 服務可執行檔。
    /var/opt/azcmagent/ azcmagent CLI 和執行個體中繼資料服務的設定、記錄和身分識別權杖檔案。
    /var/lib/GuestConfig/ 延伸模組套件下載、機器設定 (原則) 定義下載,以及延伸模組和機器設定服務的記錄。
  • 安裝代理程式會建立下列精靈。

    服務名稱 顯示名稱 程序名稱 Description
    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 Description
    /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 中設定的環境變數。

    Name 預設值
    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.cpulimitextensions.agent.cpulimit),並將目前資源限制指定為百分比。 在全新安裝代理程式時,兩者都會顯示 5,因為預設限制是 CPU 的 5%。

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

azcmagent config set extensions.agent.cpulimit 80

執行個體中繼資料

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

  • 作業系統名稱、版本、類型和版本
  • 電腦名稱
  • 電腦製造商和型號
  • 電腦完整網域名稱 (FQDN)
  • 網域名稱 (若已加入 Active Directory 網域)
  • Active Directory 和 DNS 完整網域名稱 (FQDN)
  • UUID (BIOS 識別碼)
  • Connected Machine 代理程式活動訊號
  • Connected Machine 代理程式版本
  • 受控識別的公開金鑰
  • 原則合規性狀態和詳細資料 (如果使用機器設定原則)
  • 已安裝 SQL Server (布林值)
  • 已安裝 PostgreSQL (布林值)
  • 已安裝 MySQL (布林值)
  • 叢集資源識別碼 (適用於 Azure 本機電腦)
  • 硬體製造商
  • 硬體型號
  • CPU 系列、通訊端、實體核心和邏輯核心計數
  • 實體記憶體總計 (對於 Linux 系統,這會保留 /proc/meminfo 中的 MemTotal 值,這是可用 RAM 總計,而不是實體記憶體總計)
  • 序號
  • SMBIOS 資產標籤
  • 網路介面資訊
    • IP 位址
    • Subnet
  • Windows 授權資訊
    • OS 授權狀態
    • OS 授權通道
    • 延伸安全性更新資格
    • 延伸安全性更新授權狀態
    • 延伸安全性更新授權通道
  • 雲端提供者
  • Amazon Web Services (AWS) 中繼資料 (在 AWS 中執行時):
    • 帳戶識別碼
    • 執行個體識別碼
    • Region
  • Google Cloud Platform (GCP) 中繼資料 (在 GCP 中執行時):
    • 執行個體識別碼
    • 影像
    • 電腦類型
    • 專案識別碼
    • 專案編號
    • 服務帳戶
    • Zone
  • 在 OCI 中執行時,Oracle 雲端基礎結構中繼資料:
    • 顯示名稱

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

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

Note

已啟用 Azure Arc 的伺服器不會收集任何個人標識資訊 (PII) 或使用者可識別資訊,或儲存任何客戶數據。

客戶元數據不會儲存或處理到客戶部署服務實例的區域外部。

部署選項和需求

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

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

複製指導方針

您可以安全地將 azcmagent 套件安裝到黃金映像中,但是一旦使用 azcmagent connect 命令連線機器,該機器就會收到特定的資源資訊。 如果您透過從黃金映像複製機器來建置機器,則在使用 azcmagent connect 命令將每部機器連接至 Azure 之前,必須先對每部機器進行專屬化設定。 在建立並專屬化每部機器之前,請勿將原始黃金映像機器連接到 Azure。

如果您的已連線伺服器收到 429 錯誤訊息,很可能是您先將該伺服器連接至 Azure,然後又使用它作為黃金映像進行複製所致。 由於資源資訊已記錄到映像中,因此從該映像建立的複製機器會嘗試將活動訊號訊息傳送至相同的資源。

若要解決現有機器的 429 錯誤訊息,請在每部複製的機器上執行 azcmagent disconnect --force-local-only,然後使用適當的認證重新執行 azcmagent connect,以使用唯一的資源名稱將機器連線到雲端。

災害復原

對於已啟用 Arc 的伺服器,沒有客戶啟用的災害復原選項。 如果某個 Azure 區域發生中斷情況,系統會容錯移轉到同一個 Azure 地理位置 (如果存在) 的另一個區域。 雖然此容錯移轉程序是自動的,但需要一些時間。 Connected Machine 代理程式會在此期間中斷連線,並顯示「已中斷連線」的狀態,直到容錯移轉完成為止。 一旦中斷問題被解決,系統就會容錯回復到其原始區域。

Azure Arc 中斷不會影響客戶工作負載本身;只有透過 Arc 管理適用的伺服器將會受損。

後續步驟