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

自定义资源和 Application Auto Scaling

您可以使用目标跟踪扩缩策略、分步扩缩策略和计划的扩缩来扩展自定义资源。

使用以下信息可帮助您将自定义资源与 Application Auto Scaling 集成。

如果您刚刚开始扩缩自定义资源,您可以查看我们的 GitHub 存储库,其中提供了有关如何将自定义资源与 Application Auto Scaling 集成的详细信息。

为自定义资源创建服务相关角色

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

  • AWSServiceRoleForApplicationAutoScaling_CustomResource

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

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

  • custom-resource.application-autoscaling.amazonaws.com

使用 Application Auto Scaling 将自定义资源注册为可扩展目标

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

要使用 Amazon CLI 或 Amazon 软件开发工具包之一配置弹性伸缩,您可以使用以下选项:

  • Amazon CLI:

    为自定义资源调用 register-scalable-target 命令。以下示例将自定义资源注册为可扩展目标,最小所需计数为一个容量单位,最大所需计数为 10 个容量单位。custom-resource-id.txt 文件包含一个标识资源 ID 的字符串,它表示通过 Amazon API Gateway 终端节点到自定义资源的路径。

    aws application-autoscaling register-scalable-target \ --service-namespace custom-resource \ --scalable-dimension custom-resource:ResourceType:Property \ --resource-id file://~/custom-resource-id.txt \ --min-capacity 1 \ --max-capacity 10

    custom-resource-id.txt 的内容:

    https://example.execute-api.us-west-2.amazonaws.com/prod/scalableTargetDimensions/1-23456789
  • Amazon 软件开发工具包:

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