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

Amazon Fargate 任务维护

当 Amazon 确定托管在 Amazon Fargate 上的 Amazon ECS 任务需要安全或基础设施更新时,需要停止这些任务并启动新任务来替换它们。

对于属于 Amazon ECS 服务一部分的任务,如果底层主机存在问题,则 Amazon 将停止任务。此外,服务调度器还将启动一个新任务,尝试维持服务的所需计数。发生这种情况时,不会发送任务停用通知。但是,如果任务使用的底层主机或平台版本存在安全问题,则任务停用通知会发送到您的 Amazon Health Dashboard。此通知还将发送到与您的账户关联的电子邮件地址。任务报废通知提供有关问题、任务报废日期以及后续步骤的详细信息。有关更多信息,请参阅了解任务停用通知

对于独立任务,当底层主机出现问题或任务正在使用的平台版本出现安全问题时,Amazon 将任务停用通知发送给您的 Amazon Health Dashboard。此通知还将发送到与账户关联的电子邮件地址。任务报废通知提供有关问题、任务报废日期以及后续步骤的详细信息。有关更多信息,请参阅了解任务停用通知

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

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

下表描述了这些场景。

任务类型 问题 操作

独立任务

主机问题

使用 Amazon Health Dashboard 和电子邮件发送任务停用通知。如果在任务报废日期之前未采取任何操作,Amazon 停止该任务。

安全漏洞

使用 Amazon Health Dashboard 和电子邮件发送任务停用通知。如果在任务报废日期之前未采取任何操作,Amazon 停止该任务。

服务任务

主机问题

任务由 Amazon 停止,服务调度器将启动一个新任务,尝试维持服务的所需计数。未发送任何通知。

安全漏洞

使用 Amazon Health Dashboard 和电子邮件发送任务停用通知。如果在任务停用日期之前未采取任何操作,Amazon 停止该任务,服务调度器将启动一个新任务,以尝试维持服务的所需计数。

了解任务停用通知

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

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

使用计划停用的任务

注意

此过程仅适用于服务任务。对于独立任务,只需停止并运行新的独立任务即可。

要在停用日期前更新服务任务,可以按照以下步骤操作。

更新运行服务(Amazon Web Services Management Console)

  1. 打开位于 https://console.aws.amazon.com/ecs/ 的 Amazon ECS 控制台。

  2. 在导航栏上,选择集群所在的区域。

  3. 在导航窗格中,选择 Clusters

  4. Clusters(集群)页面上,选择您的服务驻留的集群的名称。

  5. Cluster: name 页面上,选择 Services

  6. 选中要更新的服务左侧的框并选择 Update

  7. 配置服务页面上,您的服务信息已预先填充。选择 Force new deployment (强制实施新部署),然后选择 Next step (下一步)

    注意

    强制执行新部署时,调度器会使用修补后的平台版本启动新任务。您的任务不需要您选择其他平台版本进行更新。有关更多信息,请参阅Amazon Fargate 平台版本

  8. Configure network (配置网络)Set Auto Scaling (optional) (设置 Auto Scaling (可选)) 页面上,选择 Next step (下一步)

  9. 选择 Update Service 以完成并更新服务。

更新运行服务(Amazon CLI)

  1. 获取服务的 Amazon Resource Name (ARN)。

    aws ecs list-services --cluster cluster_name --region region

    输出如下所示。

    {
        "serviceArns": [
            "arn:aws:ecs:region:aws_account_id:service/MyService"
        ]
    }
  2. 更新将部署新任务的服务。

    您可能需要设置 force-new-deployment option,具体取决于您的部署类型和更改的服务选项。有关何时设置 force-new-deployment option 的信息,请参阅 Amazon CLI 命令参考中的 update-service

    aws ecs update-service --service serviceArn --cluster cluster_name --region region

如果您使用的是独立任务,则可以启动新的任务来代替它。有关更多信息,请参阅在经典 Amazon ECS 控制台中运行独立任务