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. 更新服务,强制实施将部署新任务的新部署。

    aws ecs update-service --service serviceArn --force-new-deployment --cluster cluster_name --region region

如果您使用的是独立任务,则可以启动新的任务来代替它。有关更多信息,请参阅运行独立任务