

# Amazon ECS 托管进程守护程序
<a name="managed-daemons"></a>

Amazon ECS 托管进程守护程序使您能够将安全、可观测性和网络代理等软件代理部署到 Amazon ECS 托管实例上的容器基础设施中并对其进行管理。托管进程守护程序将进程守护程序的生命周期管理与应用程序操作分离开来。您可以独立地部署、更新和监控代理，无需重新部署工作负载，也无需协调不同服务之间的更改。

## 托管进程守护程序的工作原理
<a name="managed-daemons-how-it-works"></a>

要使用托管进程守护程序，请先注册进程守护程序任务定义。进程守护程序任务定义是一种模板，用于描述构成进程守护程序的容器。注册进程守护程序任务定义后，创建一个进程守护程序并将其与集群和一个或多个 Amazon ECS 托管实例容量提供程序相关联。然后，Amazon ECS 确保在通过这些容量提供程序所预置的每个 Amazon EC2 实例上，仅运行一个进程守护程序任务。

进程守护程序不会独立启动实例。当您在 Amazon ECS 托管实例容量提供程序上运行应用程序任务时，Amazon ECS 会预置一个 Amazon EC2 实例，首先启动进程守护程序任务，然后将应用程序任务转换至 `RUNNING`。这种排序确保在您的应用程序开始处理请求之前，日志记录、跟踪以及指标收集等交叉功能就已经能够正常运行了。

进程守护程序对于实例运行状况等至关重要。如果一个进程守护程序任务停止运行，Amazon ECS 会自动耗尽并替换该容器实例。这种自动修复的行为能够确保在所有实例中实现可靠的进程守护程序覆盖，无需人工干预。

当您将进程守护程序更新为新的任务定义修订版时，Amazon ECS 会针对关联的容量提供程序中的所有实例执行滚动部署操作。在部署过程中，Amazon ECS 会同时耗尽一定比例的实例（释放比例可配置），并为替换实例预置更新后的进程守护程序，同时还会自动替换您的 Amazon ECS 服务任务。Amazon ECS 提供内置的断路器保护。您可以配置烘焙时间以及 CloudWatch 警报，以便 Amazon ECS 在更新所有实例后对部署进行监控，并在出现问题时自动进行回滚操作。

## 主要优势
<a name="managed-daemons-benefits"></a>
+ **分离的生命周期管理**：使进程守护程序能够独立于应用程序部署进行更新。
+ **保障性覆盖**：Amazon ECS 确保在每个实例上，进程守护程序任务会先于应用程序任务启动，因此交叉功能始终可用。
+ **可靠的版本更新**：当您更新进程守护程序版本时，Amazon ECS 会在关联容量提供程序的所有实例中推出该版本，并具有内置断路器保护和自动回滚功能，以确保每个实例都运行目标修订版。
+ **资源利用率提高**：每个实例仅运行一个进程守护程序任务，从而摒弃了每个任务都需要一个附属进程的模式，降低了整个集群的资源消耗。
+ **自动修复实例**：如果进程守护程序任务停止运行或运行状况不佳，Amazon ECS 会自动耗尽并替换该容器实例。这能在无需人工干预的情况下维持可靠的进程守护程序覆盖。

**注意**  
Amazon ECS 为 Amazon ECS 启动类型的 Amazon ECS 服务提供了进程守护程序调度策略。托管进程守护程序是专为 Amazon ECS 托管实例构建的一项新功能，旨在简化进程守护程序部署并提供更强的进程守护程序覆盖保障。

## 开始使用
<a name="managed-daemons-getting-started"></a>

要开始使用，请先注册一个进程守护程序任务定义，指定您的容器映像，然后在您的集群中创建一个具有关联容量提供程序的进程守护程序。您可以使用 AWS 管理控制台、AWS CLI、CloudFormation 或 AWS SDK。如需分步指导，请参阅 [创建和管理进程守护程序](managed-daemons-create-manage.md)。