Azure系列 介绍关于Azure的理念概述并包涵操作与资源等 (Azure 连接机器代理概述)

Azure 连接机器代理允许您管理托管在 Azure 外部、公司网络或其他云提供商处的 Windows 和 Linux 机器。

 警告

产品组仅正式支持过去一年内发布的 Connected Machine代理版本。所有客户都应更新到此版本范围内的代理版本,或启用自动代理升级(预览版)。

代理组件

connected-machine-agent

要下载高分辨率的架构图,请访问Jumpstart Gems。

Azure 连接机器代理程序包包含多个捆绑在一起的逻辑组件:

混合实例元数据服务 (HIMDS) 管理与 Azure 的连接以及所连接计算机的 Azure 标识。

机器配置代理提供诸如评估机器是否符合所需策略以及强制执行合规性等功能。

请注意以下针对断开连接的计算机的Azure Policy计算机配置的行为:

针对已断开连接的计算机的 Azure Policy 分配不受影响。
访客分配信息会在本地保存 14 天。在这 14 天内,如果连接机器代理重新连接到服务,则会重新应用策略分配。
任务将在 14 天后删除,并且 14 天期限过后不会重新分配给机器。
扩展代理负责管理虚拟机扩展,包括安装、卸载和升级。Azure 会下载扩展并将其复制到%SystemDrive%\%ProgramFiles%\AzureConnectedMachineAgent\ExtensionService\downloadsWindows 系统上的指定文件夹,以及/opt/GC_Ext/downloadsLinux 系统上的指定文件夹。在 Windows 系统上,扩展会安装到以下路径%SystemDrive%\Packages\Plugins\;在 Linux 系统上,扩展会安装到指定路径/var/lib/waagent/。

 笔记

Azure Monitor代理(AMA)是一个独立的代理,用于收集监视数据。它不会取代已连接机器代理。AMA 仅取代 Windows 和 Linux 计算机上的 Log Analytics 代理、诊断扩展和 Telegraf 代理。

Azure Arc 代理
Azure Arc Proxy 服务负责聚合来自 Azure 连接计算机代理服务及其任何扩展的网络流量,并决定数据的路由方式。如果您使用Azure Arc 网关(有限预览版)来简化网络终结点,则 Azure Arc Proxy 服务是本地组件,它会将网络请求转发到 Azure Arc 网关,而不是默认路由。Azure Arc Proxy 在 Windows 上作为网络服务运行,在 Linux 上作为标准用户帐户 (arcproxy) 运行。在 Azure 连接计算机代理版本 1.51 之前,此服务默认处于禁用状态,除非您将代理配置为使用 Azure Arc 网关(有限预览版),否则应保持禁用状态。从版本 1.51 及更高版本开始,Arc Proxy 服务默认启动,因为它现在可以确定计算机是配置为使用 Arc 网关,还是直接与 Arc 终结点通信,并采取相应的行为。如果您未使用 Arc 网关,仍然可以使用以下命令禁用 Arc Proxy 服务azcmagent config set connection.type direct。

代理资源
本节介绍 Azure 连接计算机代理使用的目录和用户帐户。

Windows 代理安装详情
Windows 代理程序以 Windows Installer 程序包 (MSI) 的形式分发。请从Microsoft 下载中心下载 Windows 代理程序。安装 Windows 版 Connected Machine 代理程序会应用以下系统级配置更改:

安装过程中会在设置期间创建以下文件夹。

展开表格
目录 描述
%ProgramFiles%\AzureConnectedMachineAgent azcmagent CLI 和实例元数据服务可执行文件。
%ProgramFiles%\AzureConnectedMachineAgent\ExtensionService2\GC 扩展服务可执行文件。
%ProgramFiles%\AzureConnectedMachineAgent\GCArcService2\GC 机器配置(策略)服务可执行文件。
%ProgramData%\AzureConnectedMachineAgent azcmagent CLI 和实例元数据服务的配置、日志和身份令牌文件。
%ProgramData%\GuestConfig 扩展包下载、机器配置(策略)定义下载以及扩展和机器配置服务的日志。
%SYSTEMDRIVE%\packages 扩展包可执行文件
安装代理程序会在目标计算机上创建以下 Windows 服务。

展开表格
服务名称 显示名称 进程名称 描述
希姆斯 Azure 混合实例元数据服务 himds.exe 将元数据与 Azure 同步,并托管本地 REST API,供扩展程序和应用程序访问元数据并请求 Microsoft Entra 托管身份令牌。
GCArcService 机器配置 Arc 服务 gc_arc_service.exe(gc_service.exe 版本早于 1.36) 审核并强制执行计算机上的 Azure 计算机配置策略。
扩展服务 机器配置扩展服务 gc_extension_service.exe(gc_service.exe 版本早于 1.36) 安装、更新和管理计算机上的扩展程序。
代理安装会创建以下虚拟服务帐户。

展开表格
虚拟账户 描述
NT SERVICE\himds 用于运行混合实例元数据服务的非特权帐户。
 提示

此帐户需要“作为服务登录”权限。此权限会在代理安装期间自动授予。但是,如果您的组织使用组策略配置用户权限分配,则可能需要调整组策略对象,以授予“NT SERVICE\himds”或“NT SERVICE\ALL SERVICES”权限,从而使代理能够正常运行。

代理程序安装会创建以下本地安全组。

展开表格
安全组名称 描述
混合代理扩展应用程序 此安全组的成员可以为系统分配的托管身份申请 Microsoft Entra 令牌
代理程序安装会创建以下环境变量

展开表格
姓名 默认值
身份端点 http://localhost:40342/metadata/identity/oauth2/token
IMDS_ENDPOINT http://localhost:40342
下表列出了可用于故障排除的多个日志文件。

展开表格
日志 描述
%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或)提供了适用于 Linux 的 Connected Machine 代理。shell 脚本包Install_linux_azcmagent.sh用于安装和配置该代理。.deb

服务器重启后,无需安装、升级或卸载 Connected Machine 代理。

安装适用于 Linux 的 Connected Machine 代理程序会应用以下系统范围的配置更改。

安装程序会创建以下安装文件夹。

展开表格
目录 描述
/opt/azcmagen/ azcmagent CLI 和实例元数据服务可执行文件。
/opt/GC_Ext/ 扩展服务可执行文件。
/opt/GC_Service/ 机器配置(策略)服务可执行文件。
/var/opt/azcmagen/ azcmagent CLI 和实例元数据服务的配置、日志和身份令牌文件。
/var/lib/GuestConfig/ 扩展包下载、机器配置(策略)定义下载以及扩展和机器配置服务的日志。
安装代理程序后会创建以下守护进程。

展开表格
服务名称 显示名称 进程名称 描述
himdsd.服务 Azure 连接机器代理服务 希姆斯 该服务实现了混合实例元数据服务 (IMDS),以管理与 Azure 的连接以及所连接计算机的 Azure 标识。
gcad.service GC弧形服务 gc_linux_service 审核并强制执行计算机上的 Azure 计算机配置策略。
扩展服务 扩展服务 gc_linux_service 安装、更新和管理计算机上的扩展程序。
下表列出了可用于故障排除的多个日志文件。

展开表格
日志 描述
/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.

展开表格
姓名 默认值
身份端点 http://localhost:40342/metadata/identity/oauth2/token
IMDS_ENDPOINT http://localhost:40342
卸载代理后,会留下以下文件。

/var/opt/azcmagent
/var/lib/GuestConfig
代理资源治理
Azure 连接机器代理旨在管理代理和系统资源消耗。该代理在以下情况下进行资源治理:

机器配置(以前称为客户机配置)服务最多可以使用 5% 的 CPU 来评估策略。

扩展服务在 Windows 系统上安装、升级、运行和删除扩展程序时,可能会占用高达 5% 的 CPU 资源;在 Linux 系统上,则可能会占用高达 30% 的 CPU 资源。某些扩展程序安装后可能会应用更严格的 CPU 使用限制。以下情况除外:

展开表格
扩展类型 操作系统 CPU 限制
AzureMonitorLinux代理 Linux 60%
AzureMonitorWindowsAgent 视窗 100%
LinuxOsUpdateExtension Linux 60%
MDE.Linux Linux 60%
MicrosoftDNS代理 视窗 100%
MicrosoftMonitoringAgent 视窗 60%
OmsAgentForLinux Linux 60%
在正常运行期间(定义为 Azure 连接计算机代理已连接到 Azure 且未主动修改扩展或评估策略),代理会消耗以下系统资源:

展开表格
视窗 Linux
CPU 使用率(以单核为基准) 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 域)
活动目录和 DNS 完全限定域名 (FQDN)
UUID(BIOS ID)
互联机器代理心跳
连接机器代理版本
用于托管身份的公钥
策略合规状态和详细信息(如果使用机器配置策略)
SQL Server 已安装(布尔值)
PostgreSQL 已安装(布尔值)
MySQL 已安装(布尔值)
集群资源 ID(适用于 Azure 本地计算机)
硬件制造商
硬件型号
CPU系列、插槽、物理核心数和逻辑核心数
总物理内存(对于 Linux 系统,此值保存自 /proc/meminfo 中的 MemTotal 值,该值表示可用 RAM 总量,而非物理内存总量)
序列号
SMBIOS资产标签
网络接口信息
IP地址
子网
Windows 许可信息
操作系统许可状态
操作系统许可渠道
扩展安全更新资格
扩展安全更新许可状态
扩展安全更新许可渠道
云服务提供商
在 AWS 中运行时,Amazon Web Services (AWS) 元数据:
账户 ID
实例 ID
地区
在 Google Cloud Platform (GCP) 中运行时,Google Cloud Platform (GCP) 元数据:
实例 ID
图像
机器类型
项目 ID
项目编号
服务帐户

在 OCI 中运行时,Oracle 云基础设施元数据:
显示名称
代理程序会向 Azure 请求以下元数据信息:

资源位置(区域)
虚拟机 ID
标签
Microsoft Entra 管理的身份证书
机器配置策略分配
扩展请求 – 安装、更新和删除。
 笔记

启用 Azure Arc 的服务器不会收集任何个人身份信息 (PII) 或最终用户身份信息,也不会存储任何客户数据。

客户元数据不会存储在客户部署服务实例的区域之外,也不会在区域之外进行处理。

部署选项和要求
代理部署和机器连接需要满足某些前提条件。此外,还需要注意一些网络要求。

我们提供了多种代理部署选项。更多信息,请参阅“部署计划”和“部署选项”。

克隆指南
您可以安全地将 azcmagent 软件包安装到黄金映像中,但一旦使用该azcmagent connect命令连接虚拟机,该虚拟机就会接收特定的资源信息。如果您是通过从黄金映像克隆虚拟机来构建虚拟机,则必须先对每台虚拟机进行专门化配置,然后再使用该命令将其连接到 Azure azcmagent connect。在创建并专门化每台虚拟机之前,请勿将原始黄金映像虚拟机连接到 Azure。

如果您的已连接服务器收到 429 错误消息,则很可能是因为您将服务器连接到 Azure,然后使用该服务器作为黄金映像进行克隆。由于资源信息已记录在映像中,因此从该映像创建的克隆计算机将尝试向同一资源发送心跳消息。

要解决现有机器的 429 错误消息,请azcmagent disconnect –force-local-only在每台克隆机器上运行,然后azcmagent connect使用适当的凭据重新运行,以使用唯一的资源名称将机器连接到云。

灾难恢复
对于启用 Arc 的服务器,没有客户可自行启用的灾难恢复选项。如果 Azure 区域发生故障,系统将故障转移到同一Azure 地理区域内的另一个区域(如果存在)。虽然此故障转移过程是自动的,但需要一些时间。在此期间,“已连接计算机”代理将断开连接,并显示“已断开连接”状态,直到故障转移完成。故障解决后,系统将故障恢复到其原始区域。

Azure Arc 服务中断不会影响客户工作负载本身;只会影响通过 Arc 对相关服务器的管理。

下一步
要开始评估启用 Azure Arc 的服务器,请参阅快速入门:将混合计算机与启用 Azure Arc 的服务器连接。
在部署 Azure 连接机器代理并与其他 Azure 管理和监视服务集成之前,请查看规划和部署指南。
请查看代理连接问题故障排除指南中的故障排除信息。

评论