使用目标指标值扩展您的 Amazon ECS 服务
在使用目标跟踪扩展策略时,您可以选择一个指标并设置一个目标值。Amazon ECS Service Auto Scaling 创建和管理控扩缩策略的 CloudWatch 警报,并根据指标和目标值计算扩缩调整。扩展策略根据需要增加或删除服务任务,将指标保持在指定的目标值或接近指定的目标值。除了将指标保持在目标值附近以外,目标跟踪扩展策略还会根据由于负载模式波动而造成的指标波动进行调节,并最大限度减少服务中运行的任务数发生快速波动的情况。
注意事项
使用目标跟踪策略时,请注意以下事项:
-
目标跟踪扩展策略假设它应该在指定指标高于目标值时执行向外扩展。因此,不能使用目标跟踪扩展策略在指定指标低于目标值时向外扩展。
-
当指定指标数据不足时,目标跟踪扩展策略不会执行扩展。它不会执行向内扩展,因为它不会将数据不足解读为使用率低。
-
您可能会看到目标值与实际指标数据点之间存在差距。这是因为 Service Auto Scaling 在确定要添加或删除多少容量时将始终通过向上或向下舍入保守地进行操作,以免添加的容量不足或删除的容量过多。
-
为了确保应用程序可用性,服务会针对指标尽快按比例扩展,但缩减过程相对缓慢。
-
Application Auto Scaling 可在 Amazon ECS 部署正在进行时关闭横向缩减流程。但是,在部署过程中,除非暂停,否则将继续发生扩展进程。有关更多信息,请参阅 服务自动扩展和部署。
-
您可以为 Amazon ECS 服务创建多个目标跟踪扩展策略,但前提是它们分别使用不同的指标。Service Auto Scaling 的目的是始终优先考虑可用性,因此其行为会有所不同,具体取决于目标跟踪策略是否已准备好扩展或缩减。如果任何目标跟踪策略已准备好进行横向扩展,它将横向扩展服务;但仅在所有目标跟踪策略(启用了横向缩减部分)准备好横向缩减时才执行横向缩减。
-
请勿编辑或删除 Service Auto Scaling 为目标跟踪缩放策略管理的 CloudWatch 报警。当您删除扩展策略时,Service Auto Scaling 将自动删除相应的警报。
-
蓝绿部署类型不支持目标跟踪扩展策略的
ALBRequestCountPerTarget
指标。
有关目标跟踪扩展策略的更多信息,请参阅《Application Auto Scaling 用户指南》中的目标跟踪扩展策略。
要使用 Amazon ECS 控制台为 Amazon ECS 服务配置目标扩缩策略
-
除了用于创建和更新服务的标准 IAM 权限之外,您还需要额外权限。有关更多信息,请参阅 Amazon ECS 服务自动扩缩所需的 IAM 权限。
-
您可以在创建或更新服务时配置扩缩策略。有关更多信息,请参阅以下章节之一:
-
使用定义的参数创建服务— 创建新服务
-
使用控制台更新 Amazon ECS 服务— 更新现有服务
-
要使用 Amazon CLI 为 Amazon ECS 服务配置目标扩缩策略
-
除了用于创建和更新服务的标准 IAM 权限之外,您还需要额外权限。有关更多信息,请参阅 Amazon ECS 服务自动扩缩所需的 IAM 权限。
-
使用 register-scalable-target 命令将 Amazon ECS 服务注册为可扩展目标。
-
使用 put-scaling-policy 命令创建扩展策略。