Amazon EC2 Spot 实例集和 Application Auto Scaling - Application Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EC2 Spot 实例集和 Application Auto Scaling

您可以使用目标跟踪扩缩策略、分步扩缩策略和计划的扩缩来扩展 Spot 实例集。

使用以下信息可帮助您将 Spot 实例集与 Application Auto Scaling 集成。

为 Spot 实例集创建的服务相关角色

在 Application Auto Scaling 中将 Spot 队列资源注册为可扩展目标 Amazon Web Services 账户 时,将在您的中自动创建以下服务相关角色。此角色允许 Application Auto Scaling 在您的账户中执行受支持的操作。有关更多信息,请参阅Application Auto Scaling 的服务相关角色

  • AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest

服务相关角色使用的服务委托人

上一节中的服务相关角色只能由为角色定义的信任关系授权的服务委托人担任。Application Auto Scaling 使用的服务相关角色为以下服务委托人授予访问权限:

  • ec2.application-autoscaling.amazonaws.com

使用 Application Auto Scaling 将 Spot 实例集注册为可扩展目标

Application Auto Scaling 需要一个可扩展目标,然后才能为 Spot 实例集创建扩缩策略或计划的操作。可扩展目标是 Application Auto Scaling 可以横向扩展或横向缩减的资源。可扩展目标由资源 ID、可扩展维度和命名空间的组合唯一标识。

如果您使用 Spot 实例集控制台配置弹性伸缩,Spot 实例集会自动为您注册一个可扩展的目标。

如果要使用 Amazon CLI 或其中一个 SD Amazon K 来配置 auto Scaling,则可以使用以下选项:

  • Amazon CLI:

    为 Spot 实例集调用 register-scalable-target 命令。以下示例使用其请求 ID 注册 Spot 实例集的目标容量,最小容量为两个实例,最大容量为 10 个实例。

    aws application-autoscaling register-scalable-target \ --service-namespace ec2 \ --scalable-dimension ec2:spot-fleet-request:TargetCapacity \ --resource-id spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --min-capacity 2 \ --max-capacity 10

    如果成功,该命令会返回可扩展目标的 ARN。

    { "ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }
  • Amazon 软件开发工具包:

    调用 RegisterScalableTarget 操作并提供 ResourceIdScalableDimensionServiceNamespaceMinCapacityMaxCapacity 作为参数。

如果您刚刚开始使用 Application Auto Scaling,可以在以下文档中找到有关扩展 Spot 队列的其他有用信息:

Amazon EC2 用户指南中的 Spot 实例集的自动扩展