本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon ECS 服务扩展执行块
作为多区域恢复过程的一部分,您可以利用 ECS 服务扩展执行块在目标区域扩展您的 ECS 服务。您可以定义相对于区域切换从中失效转移的或停用的区域的容量百分比。
配置
要配置 ECS 服务扩展执行块,输入以下值。
重要
在配置执行区块之前,请确保计划的执行角色具有正确的 IAM 策略。有关更多信息,请参阅 Amazon ECS 服务扩展执行块示例策略。
步骤名称:输入名称。
步骤描述(可选):输入步骤的描述。
区域资源:对于每个区域,输入 ECS 集群 ARN 和 ECS 服务 ARN。
与来源区域任务量相匹配的百分比:输入来源区域中所需的运行任务数量百分比,以匹配激活区域。
容量监控方法:选择以下方法之一来监控 Amazon ECS 的容量:
24 小时内采样的最大运行容量:选择此选项可使用您的 Amazon ECS 服务中的正在运行的任务数量值。此选项不会产生额外成本,但可能不如使用其他选项( CloudWatch 指标)准确。
在区域切换 API 中,此选项对应于指定
sampledMaxInLast24Hours。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的自动扩展 Amazon ECS 服务。
通过 Container Insights 在 24 小时内采样的最大运行容量:选择此选项可使用 Amazon ECS Container Insights 指标。使用该选项可能更准确,但使用 Container Insights 指标会产生额外费用。
在区域切换 API 中,此选项对应于指定
autoscalingMaxInLast24Hours。要使用此选项,您必须先启用 Container Insights。有关更多信息,请参阅《亚马逊 CloudWatch 用户指南》中的 “设置容器见解”。
超时:输入超时值。
然后,选择保存步骤。
工作原理
在计划中配置执行块后,区域切换回确认只有一个来源 ECS 服务和一个目标服务。如果有多个服务,则区域切换会返回执行块的警告。区域切换将这些数据存储在您为其配置计划的所有区域中。目标容量定义为在 ECS 服务上设置的所需容量。
对于一种 active/passive 方法,区域交换机计算目标(激活)区域中 ECS 服务所需的新容量。将新的所需容量与目标 ECS 服务的所需容量进行比较。区域切换用来计算所需容量的公式如下:ceil(percentToMatch * Source Auto Scaling group capacity),其中 ceil() 是一个将任何分数结果四舍五入的函数。如果目标 ECS 服务的当前所需数量高于计算出的 ECS 服务新的所需容量,则计划将继续执行。请注意,区域切换不会缩减 ECS 的服务容量。
如果 ECS 服务启用了应用程序自动缩放,则区域切换会更新应用程序自动缩放中的最低容量,还会更新 ECS 服务中的所需数量。
当区域切换执行 ECS 服务块时,会尝试纵向扩展目标区域 ECS 容量以匹配所需容量。然后,区域切换将等待目标区域的 ECS 服务满足 ECS 服务容量要求后,再继续执行计划的下一步。您也可以为区域切换等待容量完成的时长设置超时限制,从而将步骤完成时间配置为早于满足容量要求的完成时间。
如果你使用一种 active/active 方法,区域切换会使用另一个配置的区域作为来源。也就是说,如果某个区域处于停用状态,则区域切换将使用另一个活跃区域作为来源来匹配要扩展的百分比。