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

Amazon Lambda 和 Application Auto Scaling

您可以使用目标跟踪扩缩策略和计划的扩缩来扩展 Lambda 函数。

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

如果您刚刚开始扩缩 Lambda 函数,则可以在以下文档中查看有关将 Lambda 与 Application Auto Scaling 一起使用的示例配置和详细信息:

为 Lambda 创建的服务相关角色

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

  • AWSServiceRoleForApplicationAutoScaling_LambdaConcurrency

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

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

  • lambda.application-autoscaling.amazonaws.com

使用 Application Auto Scaling 将 Lambda 函数注册为可扩展目标

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

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

  • Amazon CLI:

    为 Lambda 函数调用 register-scalable-target 命令。以下示例为名为 my-function 的函数注册别名为 BLUE 的预置并发,最小容量为 0,最大容量为 100。

    aws application-autoscaling register-scalable-target \ --service-namespace lambda \ --scalable-dimension lambda:function:ProvisionedConcurrency \ --resource-id function:my-function:BLUE \ --min-capacity 0 \ --max-capacity 100
  • Amazon 软件开发工具包:

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