Amazon ECS
AWS Fargate 用户指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

步骤 5:(可选)将服务配置为使用服务 Auto Scaling

您可以选择将 Amazon ECS 服务配置为使用 Auto Scaling 根据 CloudWatch 警报上调或下调其预期数量。

Amazon ECS 服务 Auto Scaling 支持以下类型的扩展策略:

  • 目标跟踪扩展策略 - 根据特定指标的目标值,增加或减少服务运行的任务数。这与恒温器保持家里温度的方式类似。您选择一个温度,恒温器将完成所有其他工作。

  • 步进扩展策略 - 根据一组扩展调整,增加或减少服务运行的任务数,这些调整称为步进调整,将根据警报严重程度发生变化。

有关更多信息,请参阅 服务 Auto Scaling

配置基本 服务 Auto Scaling 参数

  1. 如果您尚未这样做,请按照步骤 1:配置基本服务参数中的基本服务配置过程操作。

  2. 设置 Auto Scaling 页面上,选择配置服务 Auto Scaling 以调整您的服务的预期计数

  3. 对于 Minimum number of tasks (最小任务数),输入供服务 Auto Scaling 使用的任务数的下限。您的服务的预期数量不会自动调整到低于此数量。

  4. 对于 Desired number of tasks (预期任务数),此字段是使用您之前输入的值预先填充的。此时您可更改服务的预期数量,但此值必须介于此页面上指定的最小任务数和最大任务数之间。

  5. 对于 Maximum number of tasks (最大任务数),输入供服务 Auto Scaling 使用的任务数的上限。您的服务的预期数量不会自动调整到高于此数量。

  6. 对于 IAM role for Service Auto Scaling (与服务 Auto Scaling 配合使用的 IAM 角色),选择一个 IAM 角色来授权 Application Auto Scaling 服务代表您调整服务的预期数量。如果您之前未创建此类角色,请选择 Create new role,系统将为您创建此角色。为了方便将来参考,为您创建的角色名为 ecsAutoscaleRole。有关更多信息,请参阅 Amazon ECS 服务 Auto Scaling IAM 角色

  7. 以下过程提供了用于为您的服务创建目标跟踪或分步扩展策略的步骤。选择您需要的扩展策略类型。

以下步骤将帮助您创建目标跟踪扩展策略和可用于为您的服务触发扩展活动的 CloudWatch 警报。您可以创建扩展警报来增加服务的预期数量,并创建缩减警报来减少服务的预期数量。

为服务配置目标跟踪扩展策略

  1. 对于 Scaling policy type (扩展策略类型) 选择 Target tracking (目标跟踪)。

  2. 对于 Policy name (策略名称),请键入策略的描述性名称。

  3. 对于 ECS service metric (ECS 服务指标),请选择要跟踪的指标。

  4. 对于 Target value (目标值),请输入策略应保持的指标值。

  5. 对于 Scale-out cooldown period (扩展冷却时间),请输入在一个扩展活动完成后、另一个扩展活动开始之前的时间量 (秒)。在此期间,已启动的资源不影响 Auto Scaling 组指标。

  6. 对于 Scale-in cooldown period (缩减冷却时间),请输入在一个缩减活动完成之后、另一个缩减活动开始之前的时间量(秒)。在此期间,已启动的资源不影响 Auto Scaling 组指标。

  7. (可选)要为此策略禁用缩减操作,请选择 Disable scale-in (禁用缩减)。这样,您稍后就可以为缩减创建单独的扩展策略。

  8. 选择下一步

以下步骤将帮助您创建分步扩展策略和可用于为您的服务触发扩展活动的 CloudWatch 警报。您可以创建 Scale out 警报来增加服务的预期数量,并创建 Scale in 警报来减少服务的预期数量。

为您的服务配置分步扩展策略

  1. 对于 Scaling policy type (扩展策略类型) 选择 Step scaling (分步扩展)。

  2. 对于 Policy name (策略名称),请键入策略的描述性名称。

  3. 对于 Execute policy when (执行策略的时间),选择要用于扩展或缩减您的服务的 CloudWatch 警报。

    您可使用之前创建的现有 CloudWatch 警报,也可选择创建新警报。Create new alarm (创建新警报) 工作流程可让您创建基于要创建的服务的 CPUUtilizationMemoryUtilization 的 CloudWatch 警报。要使用其他指标,您可在 CloudWatch 控制台中创建一个警报,然后返回本向导以选择该警报。

  4. (可选)如果您选择创建新警报,请完成以下步骤。

    1. 对于 Alarm name,为您的警报输入一个描述性名称。例如,如果您的警报应在服务 CPU 使用率超过 75% 时触发,则可调用警报 service_name-cpu-gt-75

    2. 对于 Alarm threshold,输入以下信息以配置您的警报:

      • 为警报选择 CloudWatch 统计数据(默认值 Average (平均值) 适用于很多情况)。有关更多信息,请参阅 Amazon CloudWatch 用户指南 中的统计数据

      • 为您的警报选择比较运算符并输入比较运算符检查所针对的值(例如,>75)。

      • 输入触发警报前的连续时间段的数量和总长度。例如,2 个连续的 5 分钟时间段需要 10 分钟才会触发警报。由于您的 Amazon ECS 任务可快速扩展和缩减,所以应考虑使用少量的连续时间段和较短的时间段长度以尽快响应警报。

    3. 选择 Save

  5. 对于 Scaling action,输入以下信息以配置您的服务对警报的响应方式:

    • 选择为您的服务增加预期数量、减少预期数量还是设置具体预期数量。

    • 如果您选择增加或减少任务,请输入触发扩展操作后要增加或减少的任务数(或现有任务的百分比)。如果您选择设置预期数量,请输入在触发扩展操作时应为您的服务设置的预期数量。

    • (可选)如果您选择增加或减少任务,请选择将之前的值用作整数还是现有预期数量的百分比值。

    • 输入您的步进扩展调整的下限。默认情况下,对于您的第一次扩展操作,此值是触发您的警报的指标数量。例如,以下扩展操作将在 CPU 使用率高于 75% 时增加 100% 的现有预期数量。

      
                                扩展活动示例
  6. (可选) 您可重复 步骤 5 以便为单个警报配置多个扩展操作 (例如,在 CPU 使用率介于 75 和 85% 之间时增加 1 个任务,在 CPU 使用率超过 85% 时增加 2 个任务)。

  7. (可选)如果您选择增大或减小现有预期数量的百分比,请在 Add tasks in increments of N task(s) 中输入最小增量值。

  8. 对于 Cooldown period,输入两次扩展操作之间的秒数。

  9. Scale in (缩减) 策略重复步骤 1步骤 8,然后选择 Save (保存)

  10. 选择 Next step (下一步) 来继续导航到步骤 6:查看并创建您的服务