amazon-web-services - AWS 应用程序扩展 - 分步扩展策略
问题描述
我正在阅读此 AWS DOC https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html围绕 Application Auto Scaling Step 策略作为目标自动扩展策略获胜不适用于我的用例。
我不清楚的是,如果我定义一个 Step 是否会增加 1 个容量,例如 ECS 服务的任务数,它会跟踪警报阈值 X(以百分比衡量),并且即使在扩展操作之后 X百分比保持相对静止,如果这将继续增加任务数量(在冷却期之后)。
例如。:
T0
- 任务数 = 10
- 公制 X = 60%
- 使用当 X >= 70% 时横向扩展的步进扩展策略
T1
- 指标 X 上升到 80%
- 触发横向扩展操作
T2
- 任务数现在是 11
- 新任务减轻了负担,度量 X 减少到 75%
那么问题来了;该逐步扩展策略是否会触发另一个扩展(假设指标 X 仍然 > 70%)?
解决方案
是的,cloudwatch 警报处于警报状态的每一分钟都会触发 AutoScaling 操作。因此,只要警报在冷却结束后触发策略,它就会再次扩展(请记住,冷却直到第一个扩展操作 /finishes/ 才开始)。
您还可以定义多个步骤,如果在第一个步骤仍在进行时触发了更大的步骤,则差异将发生允许另一个横向扩展。例如:
T0 步骤策略触发 +1
T1(在 +1 进行时 1 分钟后):在 +3 步触发步策略。现在将添加另外 2 个任务。
作为旁注,为什么目标跟踪对您不起作用,您使用什么指标?如果在 CLI 之外创建策略以使用非预定义指标,您可以定义自定义指标规范
推荐阅读
- r - 一次性捕获警告并赋值?
- amazon-web-services - 在 AWS 代码构建步骤中获取源存储库提交哈希
- python - 哪种类型提示表示属性不能为 None?
- python - 如何删除此参数处理代码的重复数据?
- oracle - 满足条件时使用 CASE 语句创建包含数据的列
- python - Flask-SQLAlchemy 多对多关系:如何插入数据
- javascript - 如何让访问者在 2019 年在客户端“记住这些表单字段”?
- flutter - Flutter Streambuilder 暂停
- continuous-integration - 在 Github 操作管道上设置默认超时
- java-8 - Java 无效的密钥库格式