Azure Connected Machine 代理使你能够管理那些在公司内网或其他云提供商上托管的 Azure 外部Windows 和 Linux 计算机。
一、代理组件
Azure Connected Machine 代理按照包含多个捆绑在一起的逻辑组件:
- 混合实例元数据服务 (HIMDS) 管理与 Azure 的连接以及连接机器的 Azure 身份。
- 来宾配置代理提供诸如评估机器是否符合所需策略和强制合规性等功能。
请注意断开连接的计算机的 Azure Policy来宾配置的以下行为:
- 以断开连接的计算机为目标的 Azure Policy 分配不受影响。
- 来宾分配在本地存储 14 天。在 14 天期限内,如果 Connected Machine 代理重新连接到该服务,则会重新应用策略分配。
- 分配将在 14 天后删除,并且不会在 14 天后重新分配给计算机。
- 扩展代理管理 VM 扩展,包括安装、卸载和升级。Azure 下载扩展并将它们复制到%SystemDrive%\%ProgramFiles%\AzureConnectedMachineAgent\ExtensionService\downloadsWindows 上的文件夹和/opt/GC_Ext/downloadsLinux 上的文件夹。在 Windows 上,扩展安装到以下路径%SystemDrive%\Packages\Plugins\<extension>,在 Linux 上,扩展安装到/var/lib/waagent/<extension>.
二、代理资源
Azure Connected Machine 代理使用的目录和用户帐户详细信息如下。
(一)Windows 代理安装详细信息
Windows 代理作为 Windows 安装程序包 (MSI) 分发。从Microsoft 下载中心下载 Windows 代理。安装适用于 Window 的 Connected Machine 代理会应用以下系统范围的配置更改:
- 安装过程会在安装过程中创建以下文件夹。
目录 | 描述 |
%ProgramFiles%\AzureConnectedMachineAgent | azcmagent CLI 和实例元数据服务可执行文件。 |
%ProgramFiles%\AzureConnectedMachineAgent\ExtensionService\GC | 扩展服务可执行文件。 |
%ProgramFiles%\AzureConnectedMachineAgent\GCArcService\GC | 来宾配置(策略)服务可执行文件。 |
%ProgramData%\AzureConnectedMachineAgent | azcmagent CLI 和实例元数据服务的配置、日志和身份令牌文件。 |
%ProgramData%\GuestConfig | 扩展包下载、来宾配置(策略)定义下载以及扩展和来宾配置服务的日志。 |
%SYSTEMDRIVE%\packages | 扩展包可执行文件 |
- 安装代理会在目标机器上创建以下 Windows 服务。
服务名称 | 显示名称 | 进程名称 | 描述 |
himds | Azure 混合实例元数据服务 | himds | 将元数据与 Azure 同步并托管本地 REST API,以便扩展和应用程序访问元数据并请求 Azure Active Directory 托管身份令牌 |
GCArcService | 来宾配置Arc服务 | gc_service | 在计算机上审核并强制执行 Azure 来宾配置策略。 |
ExtensionService | 来宾配置扩展服务 | gc_service | 在计算机上安装、更新和管理扩展。 |
- 代理安装会创建以下虚拟服务帐户。
虚拟账户 | 描述 |
NT 服务\himds | 用于运行混合实例元数据服务的非特权帐户。 |
注意:此帐户需要“作为服务登录”权限。此权限在代理安装期间自动授予,但如果您的组织使用组策略配置用户权限分配,您可能需要调整您的组策略对象以将权限授予“NT SERVICE\himds”或“NT SERVICE\ALL SERVICES”以让代理发挥作用。
- 代理安装会创建以下本地安全组。
安全组名称 | 描述 |
混合代理扩展应用程序 | 此安全组的成员可以为系统分配的托管标识请求 Azure Active Directory 令牌 |
- 代理安装创建以下环境变量
姓名 | 默认值 | 描述 |
IDENTITY_ENDPOINT | ||
IMDS_ENDPOINT |
- 有几个日志文件可用于故障排除,如下表所述
日志 | 描述 |
%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 代理。shell 脚本包Install_linux_azcmagent.sh安装和配置代理。
服务器重启后不需要安装、升级和删除 Connected Machine 代理。
安装适用于 Linux 的 Connected Machine 代理会应用以下系统范围的配置更改。
- 安装程序创建以下安装文件夹。
目录 | 描述 |
/opt/azcmagent/ | azcmagent CLI 和实例元数据服务可执行文件。 |
/opt/GC_Ext/ | 扩展服务可执行文件。 |
/opt/GC_Service/ | 来宾配置(策略)服务可执行文件。 |
/var/opt/azcmagent/ | azcmagent CLI 和实例元数据服务的配置、日志和身份令牌文件。 |
/var/lib/GuestConfig/ | 扩展包下载、来宾配置(策略)定义下载以及扩展和来宾配置服务的日志。 |
- 安装代理会创建以下守护进程。
服务名称 | 显示名称 | 进程名称 | 描述 |
himdsd.service | Azure Connected Machine代理服务 | himds | 此服务实施混合实例元数据服务 (IMDS) 来管理与 Azure 的连接和连接机器的 Azure 身份。 |
gcad.service | GC Arc服务 | gc_linux_service | 在计算机上审核并强制执行 Azure 来宾配置策略。 |
extd.service | 扩展服务 | 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.
姓名 | 默认值 | 描述 |
IDENTITY_ENDPOINT | ||
IMDS_ENDPOINT |
- 卸载代理后,以下项目仍然存在。
- /var/opt/azcmagent
- /var/lib/GuestConfig
三、代理资源治理
Azure Connected Machine 代理旨在管理代理和系统资源消耗。代理在以下条件下处理资源治理:
- Guest Configuration 代理最多可以使用 5% 的 CPU 来评估策略。
- 扩展服务代理最多可以使用 5% 的 CPU 来安装、升级、运行和删除扩展。以下例外情况适用:
- 如果扩展安装了独立于 Azure Arc 运行的后台服务,例如 Microsoft Monitoring Agent,则这些服务不受上面列出的资源治理约束的约束。
- Log Analytics 代理和 Azure Monitor 代理在 Red Hat Linux、CentOS 和其他企业 Linux 变体上的安装/升级/卸载操作期间最多可以使用 60% 的 CPU。这种扩展和操作系统的组合的限制更高,以适应SELinux对这些系统的性能影响。
- Azure Monitor 代理在正常操作期间最多可使用 30% 的 CPU。
- Linux 操作系统更新扩展(由 Azure 更新管理中心使用)最多可使用 30% 的 CPU 来修补服务器。
- Microsoft Defender for Endpoint 扩展在安装、升级和删除操作期间最多可使用 30% 的 CPU。
- Microsoft Sentinel DNS 扩展最多可以使用 30% 的 CPU 从 DNS 服务器收集日志
四、实例元数据
在 Connected Machine 代理向支持 Azure Arc 的服务器注册后,收集有关已连接计算机的元数据信息。具体来说:
- 操作系统名称、类型和版本
- 计算机名称
- 计算机制造商和型号
- 计算机完全限定域名 (FQDN)
- 域名(如果加入 Active Directory 域)
- Active Directory 和 DNS 完全限定域名 (FQDN)
- UUID(BIOS ID)
- Connected Machine代理心跳
- Connected Machine代理版本
- 托管身份的公钥
- 策略合规状态和详细信息(如果使用来宾配置策略)
- 已安装 SQL Server(布尔值)
- 集群资源 ID(用于 Azure Stack HCI 节点)
- 硬件制造商
- 硬件型号
- CPU 逻辑核心数
- 云供应商
- Amazon Web Services (AWS) 元数据,在 AWS 中运行时:
- 帐户ID
- 实例编号
- 地区
- 在 GCP 中运行时,谷歌云平台 (GCP) 元数据:
- 实例编号
- 镜像
- 机器的种类
- 项目编号
- 项目编号
- 服务帐号
- 区
代理从 Azure 请求以下元数据信息:
- 资源位置(区域)
- 虚拟机 ID
- 标签
- Azure Active Directory 托管身份证书
- 来宾配置策略分配
- 扩展请求 - 安装、更新和删除。
注意:启用 Azure Arc 的服务器不会在客户部署服务实例的区域之外存储/处理客户数据。