AWS::AutoScalingPlans::ScalingPlan ScalingInstruction - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::AutoScalingPlans::ScalingPlan ScalingInstruction

ScalingInstructionScalingPlan 的属性,用于指定扩展计划中可扩展资源的扩展指令。每个扩展说明应用于一个资源。

AWS Auto Scaling 根据扩展说明创建目标跟踪扩展策略。目标跟踪扩展策略调整可扩展资源的所需容量,以将资源使用率保持在指定的目标值。

AWS Auto Scaling 还使用一部分属性为您的 Amazon EC2 Auto Scaling 组配置预测性扩展,包括负载指标、扩展指标、扩展指标的目标值、预测性扩展模式(预测和扩展或仅预测)以及在预测容量超过资源的最大容量时的所需行为。通过预测性扩展,AWS Auto Scaling 生成带有未来两天流量预测的预测值,并计划主动添加和删除资源容量以匹配预测值的扩展操作。

重要

在创建 Auto Scaling 组来配置预测性扩展后,我们建议等待至少 24 小时。至少必须有 24 小时的历史数据才能生成预测。有关更多信息,请参阅 AWS Auto Scaling 用户指南中的 AWS Auto Scaling 的最佳实践

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

属性

CustomizedLoadMetricSpecification

要用于预测式扩展的自定义负载指标。在配置预测式扩展时,需要使用该属性或 PredefinedLoadMetricSpecification,否则,不能使用这些属性。

必需:条件

类型CustomizedLoadMetricSpecification

Update requires: No interruption

DisableDynamicScaling

控制是否禁用 AWS Auto Scaling 执行的动态扩展。如果启用动态扩展,AWS Auto Scaling 将根据指定的目标跟踪配置创建目标跟踪扩展策略。

默认情况下已启用 (false)。

必需:否

类型:布尔值

Update requires: No interruption

MaxCapacity

资源的最大容量。该上限的例外情况是,为 PredictiveScalingMaxCapacityBehavior 指定非默认设置。

必需:是

类型:整数

Update requires: No interruption

MinCapacity

资源的最小容量。

必需:是

类型:整数

Update requires: No interruption

PredefinedLoadMetricSpecification

要用于预测式扩展的预定义负载指标。在配置预测式扩展时,需要使用该属性或 CustomizedLoadMetricSpecification,否则,不能使用这些属性。

必需:条件

类型PredefinedLoadMetricSpecification

Update requires: No interruption

PredictiveScalingMaxCapacityBehavior

定义应在预测容量接近或超过为资源指定的最大容量时应用的行为。默认值为 SetForecastCapacityToMaxCapacity

以下是可能的值:

  • SetForecastCapacityToMaxCapacity - AWS Auto Scaling 无法将资源容量扩展到高于最大容量。最大容量是作为硬限制实施的。

  • SetMaxCapacityToForecastCapacity - AWS Auto Scaling 可以将资源容量扩展到高于最大容量以等于但不超过预测容量。

  • SetMaxCapacityAboveForecastCapacity - AWS Auto Scaling 可以将资源容量扩展到比最大容量高出指定的缓冲区值。目的是在出现意外流量时,为目标跟踪扩展策略提供额外的容量。

仅在配置预测性扩展时有效。

必需:否

类型:字符串

允许的值SetForecastCapacityToMaxCapacity | SetMaxCapacityAboveForecastCapacity | SetMaxCapacityToForecastCapacity

Update requires: No interruption

PredictiveScalingMaxCapacityBuffer

在预测容量接近或超过最大容量时使用的容量缓冲区大小。该值是作为相对于预测容量的百分比指定的。例如,如果缓冲区为 10,这意味着 10% 的缓冲区。使用 10% 的缓冲区,如果预测容量为 50,最大容量为 40,则有效的最大容量是 55。

仅在配置预测性扩展时有效。如果 PredictiveScalingMaxCapacityBehavior 设置为 SetMaxCapacityAboveForecastCapacity,则是必需的,否则,不能使用该属性。

范围是 1-100。

必需:条件

类型:整数

Update requires: No interruption

PredictiveScalingMode

预测式扩展模式。默认值为 ForecastAndScale。否则,AWS Auto Scaling 会预测容量,但不会根据容量预测结果应用任何计划的扩展操作。

必需:否

类型:字符串

允许的值ForecastAndScale | ForecastOnly

Update requires: No interruption

ResourceId

资源的 ID。该字符串由资源类型和唯一标识符组成。

  • Auto Scaling 组 - 资源类型为 autoScalingGroup,唯一标识符为 Auto Scaling 组的名称。示例:autoScalingGroup/my-asg

  • ECS 服务 - 资源类型为 service,并且唯一标识符为集群名称和服务名称。示例:service/default/sample-webapp

  • Spot 队列请求 - 资源类型为 spot-fleet-request,并且唯一标识符为 Spot 队列请求 ID。示例:spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE

  • DynamoDB 表 - 资源类型为 table,并且唯一标识符为资源 ID。示例:table/my-table

  • DynamoDB 全局二级索引 - 资源类型为 index,并且唯一标识符为资源 ID。示例:table/my-table/index/my-table-index

  • Aurora 数据库集群 - 资源类型为 cluster,并且唯一标识符为集群名称。示例:cluster:my-db-cluster

必需:是

类型:字符串

最低1

最高1600

模式[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*

Update requires: No interruption

ScalableDimension

与资源关联的可扩展维度。

  • autoscaling:autoScalingGroup:DesiredCapacity - Auto Scaling 组的所需容量。

  • ecs:service:DesiredCount - ECS 服务的所需任务计数。

  • ec2:spot-fleet-request:TargetCapacity - Spot 队列请求的目标容量。

  • dynamodb:table:ReadCapacityUnits - DynamoDB 表的预置的读取容量。

  • dynamodb:table:WriteCapacityUnits - DynamoDB 表的预置的写入容量。

  • dynamodb:index:ReadCapacityUnits - DynamoDB 全局二级索引的预置的读取容量。

  • dynamodb:index:WriteCapacityUnits - DynamoDB 全局二级索引的预置的写入容量。

  • rds:cluster:ReadReplicaCount - Aurora 数据库集群中的 Aurora 副本的计数。适用于与 Aurora MySQL 兼容的版本和与 Aurora PostgreSQL 兼容的版本。

必需:是

类型:字符串

允许的值autoscaling:autoScalingGroup:DesiredCapacity | dynamodb:index:ReadCapacityUnits | dynamodb:index:WriteCapacityUnits | dynamodb:table:ReadCapacityUnits | dynamodb:table:WriteCapacityUnits | ec2:spot-fleet-request:TargetCapacity | ecs:service:DesiredCount | rds:cluster:ReadReplicaCount

Update requires: No interruption

ScalingPolicyUpdateBehavior

控制是否删除位于 AWS Auto Scaling 外部的任何扩展策略,并创建新的目标跟踪扩展策略。默认值为 KeepExternalPolicies

仅在配置动态扩展时有效。

必需:否

类型:字符串

允许的值KeepExternalPolicies | ReplaceExternalPolicies

Update requires: No interruption

ScheduledActionBufferTime

在扩展时缓冲计划扩展操作的运行时间的时间长度(以秒为单位)。例如,如果预测指出在上午 10:00 添加容量,并且缓冲时间为 5 分钟,则相应计划扩展操作的运行时间为上午 9:55。这样做的目的是提供要预置的资源时间。例如,可能需要几分钟的时间以启动 EC2 实例。实际所需的时间长度取决于一些因素,例如,实例大小以及是否要完成启动脚本。

该值必须小于 3600 秒(60 分钟)的预测间隔持续时间。默认值为 300 秒。

仅在配置预测性扩展时有效。

必需:否

类型:整数

最低0

Update requires: No interruption

ServiceNamespace

AWS 服务的命名空间。

必需:是

类型:字符串

允许的值autoscaling | dynamodb | ec2 | ecs | rds

Update requires: No interruption

TargetTrackingConfigurations

目标跟踪配置(最多 10 个)。这些结构中的每个结构都必须指定唯一的扩展指标和该指标的目标值。

必需:是

类型TargetTrackingConfiguration 的列表

Update requires: No interruption

另请参阅