亚马逊AWS官方博客

宣布推出面向 Amazon ECS 托管实例的托管进程守护程序支持功能

今天,我们宣布推出面向 Amazon Elastic Container Service(Amazon ECS)托管实例的托管进程守护程序支持功能。这项新功能扩展了我们在 2025 年 9 月推出的托管实例体验,让平台工程师无需与应用程序开发团队协调即可独立管控监控、日志记录和跟踪工具等软件代理,同时确保每台实例稳定运行必需的进程守护程序并实现全面的主机级监控,从而进一步提高可靠性。

在大规模运行容器化工作负载时,平台工程师肩负多项职责:从基础设施扩缩和修补到保证应用程序可靠运行,以及维护支持这些应用程序的各类运维代理。此前,这些工作往往高度耦合。更新一个监控代理就需要与应用程序团队协调、修改任务定义、重新部署整套应用程序,当您管理成百上千项服务时,这会带来巨大的运维负担。

进程守护程序生命周期解耦管理

Amazon ECS 现在引入了专用托管进程守护程序结构,使平台团队能够集中管理各类运维工具。这种关注点分离使平台工程师能够独立地部署和更新基础设施的监控、日志记录和跟踪代理,同时跨所有实例统一强制使用必需工具,无需应用程序团队重新部署服务。保证进程守护程序先于应用程序任务启动、最后耗尽,确保日志记录、跟踪和监控功能在应用程序需要时始终可用。

平台工程师可以在多个容量提供商之间部署托管进程守护程序,也可以仅针对特定容量提供商进行部署,使其能够灵活地在基础设施中部署代理。资源管理同样实现集中化,团队可以将定义进程守护程序的 CPU 和内存参数与应用程序配置分开定义,无需重新构建 AMI 或更新任务定义,而且由于每个实例仅运行一个进程守护程序副本并跨多个应用程序任务共享,因此可以优化资源利用率。

操作演示
我以 Amazon CloudWatch Agent 作为首个托管进程守护程序,带大家体验 ECS 托管进程守护程序。我之前已经按照文档设置了搭载托管实例容量提供商的 Amazon ECS 集群。

在 Amazon Elastic Container Service 控制台中,我注意到导航栏窗格中出现了新的进程守护程序定义选项,可在此定义托管进程守护程序。

托管进程守护程序控制台

我选择了创建新的进程守护程序任务定义以开始。在此示例中,我为 CloudWatch Agent 配置了 1 个 vCPU 和 0.5 GB 内存。在进程守护程序任务定义系列字段中,我输入了一个便于识别的名称。

对于任务执行角色,我从下拉菜单中选择了 ecsTaskExecutionRole。在容器部分下,我为容器提供了一个描述性的名称并粘贴了映像 URI:public.ecr.aws/cloudwatch-agent/cloudwatch-agent:latest,同时补充了其他详细信息。

审核所有信息后,我选择了创建

进程守护程序任务定义创建完成后,我进入集群页面,选择之前创建的集群并找到新的进程守护程序选项卡。

托管进程守护程序 2

在这里,只需单击创建进程守护程序按钮并填写表单以配置进程守护程序。

托管进程守护程序 3

在进程守护程序配置下,我选择了新创建的进程守护程序任务定义系列,然后为进程守护程序指定了一个名称。对于环境配置,我选择了之前设置的 ECS 托管实例容量提供商。确认设置后,我选择了创建

现在,ECS 会自动确保进程守护程序任务首先在我选择的容量提供商中的每个 ECS 托管实例上启动。为了查看实际情况,我部署了一个示例 nginx Web 服务作为测试工作负载。工作负载部署完成后,我可以在控制台中看到 ECS 托管进程守护程序已自动将 CloudWatch Agent 守护程序与我的应用程序一起部署,无需手动干预。

后续更新我的进程守护程序时,ECS 自动处理了滚动部署,方法是使用更新后的进程守护程序配置新实例,先启动进程守护程序,然后将应用程序任务迁移到新实例,再终止旧实例。这种“先启动后停止”的方法可确保进程守护程序的持续覆盖:您的日志记录、监控和跟踪代理在整个更新过程中保持运行,不会出现数据采集中断。我配置的耗尽百分比可控制此次替换的节奏,使我可以完全掌控附加组件的更新,而不会导致应用程序停机。

工作原理
托管进程守护程序体验引入了新的进程守护程序任务定义,该定义与任务定义分开,具有自己的参数和验证方案。新的 daemon_bridge 网络模式使进程守护程序能够与应用程序任务通信,同时与应用程序联网配置保持隔离。

托管进程守护程序支持高级主机级访问功能,这些功能对于操作工具至关重要。平台工程师可以将进程守护程序任务配置为特权容器,添加其他 Linux 功能,并从底层主机文件系统挂载路径。这些功能对于需要深入了解主机级指标、流程和系统调用的监控和安全代理特别有价值。

部署进程守护程序时,ECS 会在调度应用程序任务之前,为每个容器实例精确启动一个进程守护程序。这可以确保运维工具在您的应用程序开始接收流量前准备就绪。ECS 还支持带自动回滚功能的滚动部署,让您可以安心更新代理。

现已推出
面向 Amazon ECS 托管实例的托管进程守护程序支持功能目前已在所有AWS 区域推出。要开始使用,请访问 Amazon ECS 控制台或查看 Amazon ECS 文档。您还可以通过访问此网站来探索新的托管进程守护程序应用程序编程接口(API)。

使用托管进程守护程序不收取额外费用。您仅需为进程守护程序任务消耗的标准计算资源付费。