Amazon Fargate 任务维护 - Amazon ECS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Fargate 任务维护

Amazon 负责修补和维护 Amazon Fargate 的底层基础设施。当 Amazon 确定 Fargate 上托管的 Amazon ECS 任务需要进行安全或基础设施更新时,需要停止这些任务并启动新任务来替换它们。

Amazon ECS 任务可以分为服务任务和独立任务。

服务任务

服务任务是作为 Amazon ECS 服务的一部分部署的任务,由服务调度器监督。

独立任务

独立任务是由 ECS API 的 RunTask 操作直接启动或通过外部调度器启动的任务,例如计划任务(由 Amazon EventBridge 启动)、Amazon Batch 或 Amazon Step Functions。

对于服务任务,当底层主机出现问题或平台版本修订版存在安全问题时,Amazon 会停止任务。当 Amazon 停止任务时,Amazon 会使用https://docs.amazonaws.cn/AmazonECS/latest/userguide/deployment-type-ecs.html启动一个新任务,以保持服务所需的任务数。默认情况下,服务的最小正常百分比为 100%,因此在停止任务之前应先启动新任务。在扩展服务、部署配置更改或部署任务定义修订版时,通常以相同的方式替换服务任务。

对于独立任务,当底层主机出现问题或任务使用的平台版本修订版出现安全问题时,Amazon 会向您的 Amazon Health Dashboard 发送任务停用通知。此通知还将发送到与账户关联的电子邮件地址。任务停用通知提供了有关问题、任务停用日期以及后续步骤的详细信息。Amazon 将在任务停用日期当天或之后停止任务。对于独立任务,Amazon ECS 不会在任务停止时启动替换任务。因此,我们建议客户监控独立任务的状态,并在需要时实施逻辑来替换已停止的任务。有关更多信息,请参阅了解任务停用通知

在上述任何方案中停止任务时,您可以描述已停止的任务以检索 stoppedReason 值。包含 ECS is performing maintenance on the underlying infrastructure hosting the task 消息的 stoppedReason 指示由于任务维护问题而停止了任务。

为了准备任务停用过程,我们建议通过模拟此场景来测试您的应用程序行为。通过停止您的服务中的单个任务来测试复原能力,可以实现此目的。

了解任务停用通知

当任务停用通知发送时,您会收到待处理停用的通知电子邮件。在事件发生之前,将发送包含任务 ID 和停用日期的电子邮件。此电子邮件将发送到与您的账户关联的地址。这也是您用于登录 Amazon Web Services Management Console 的电子邮件地址。您可以通过 Account Settings(账户设置)页面更新您的账户的联系信息。

如果您使用的是不定期检查的电子邮件账户,您可以使用 Amazon Health Dashboard 来确定是否计划停用您的任何任务。Amazon Health 通知可以通过 Amazon EventBridge 发送到存档存储(如 Amazon Simple Storage Service),并采用自动化操作(如运行 Amazon Lambda 函数)或其他通知系统(如 Amazon Simple Notification Service)。有关更多信息,请参阅使用 Amazon EventBridge 监控 Amazon Health 事件。有关向 Amazon Chime、Slack 或 Microsoft Teams 发送通知的示例配置,请参阅 GitHub 上的 Amazon Health Aware 存储库。

当任务到达其计划的停用日期时,Amazon 会将其停止或终止。如果它尚未停止,是这种情况。对于服务任务,服务调度器会启动一个新任务来替换停用的任务,然后停止将要停用的任务。服务调度器会维护服务的预期数量。对于独立任务,它们将被停止,您负责启动替换。