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

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

Amazon ECS 和 Application Auto Scaling

您可以使用目标跟踪扩缩策略、分步扩缩策略和计划的扩缩来扩展 ECS 服务。

使用以下信息可帮助您将 Amazon ECS 与 Application Auto Scaling 集成。

为 Amazon ECS 创建的服务相关角色

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

  • AWSServiceRoleForApplicationAutoScaling_ECSService

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

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

  • ecs.application-autoscaling.amazonaws.com

使用 Application Auto Scaling 将 ECS 服务注册为可扩展目标

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

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

如果要使用 Amazon CLI 或其中一个 Amazon SDK 配置自动扩展,则可以使用以下选项:

  • Amazon CLI:

    为 Amazon ECS 服务调用 register-scalable-target 命令。以下示例为名为 sample-app-service 的服务(在 default 集群上运行)注册可扩展目标,最小任务计数为一个任务,最大任务计数为 10 个任务。

    aws application-autoscaling register-scalable-target \ --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id service/default/sample-app-service \ --min-capacity 1 \ --max-capacity 10

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

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

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

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

  • Amazon 弹性容器服务开发者指南中的服务自动扩展

  • 在《Amazon 弹性容器服务最佳实践指南》中配置服务自动扩展

注意

有关在 Amazon ECS 部署过程中暂停扩展流程的说明,请参阅以下文档:

Amazon 弹性容器服务开发者指南中的服务自动扩展和部署