

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

# 什么是 Application Auto Scaling？
<a name="what-is-application-auto-scaling"></a>

Application Auto Scaling 是一项网络服务，适用于需要一种解决方案来自动扩展其可扩展资源，用于超出 [Amazon A EC2 uto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html) 的各项 AWS 服务。使用 Application Auto Scaling，您可以为以下资源配置自动缩放：
+ WorkSpaces 应用程序舰队
+ Aurora 副本
+ Amazon Comprehend 文档分类和实体识别程序终端节点
+ DynamoDB 表和全局二级索引
+ Amazon ECS 服务
+ ElastiCache 复制组（Redis OSS 和 Valkey）和 Memcached 集群 
+ Amazon EMR 集群
+ Amazon Keyspaces (for Apache Cassandra) 表
+ Lambda 函数预置并发
+ Amazon Managed Streaming for Apache Kafka (MSK) 代理存储
+ Amazon Neptune 集群
+ SageMaker AI 端点变体
+ SageMaker AI 推理组件
+ SageMaker AI 无服务器预配置并发
+ Spot 队列请求
+ 亚马逊资源池 WorkSpaces
+ 由您自己的应用程序或服务提供的自定义资源。有关更多信息，请参阅[GitHub存储库](https://github.com/aws/aws-auto-scaling-custom-resource)。

要查看上面列出的任何 AWS 服务的区域可用性，请参阅[区域表](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) 。

有关使用 Auto Scaling 组扩展您的亚马逊 EC2 实例队列的信息，请参阅 [Amazon A EC2 uto Scaling 用户指南](https://docs.aws.amazon.com/autoscaling/ec2/userguide/)。

## Application Auto Scaling 的功能
<a name="features"></a>

Application Auto Scaling 可以让您根据您定义的条件弹性伸缩可扩展资源。
+ **目标跟踪扩展**-根据特定 CloudWatch 指标的目标值扩展资源。
+ **步进扩缩** - 根据一组扩缩调整来扩缩资源，这些调整因警报违例大小而异。
+ **计划的扩缩**— 仅扩展一次或按经常性计划扩缩资源。
+ **预测性扩展** — 根据历史数据主动扩展资源以匹配预期负载。

## 使用 Application Auto Scaling
<a name="access"></a>

您可以使用以下界面配置扩缩，具体取决于要扩缩的资源：
+ **AWS 管理控制台** – 提供可用于配置扩缩的 Web 界面。注册一个 AWS 帐户并登录 AWS 管理控制台. 然后，打开服务控制台以查看简介中列出的资源之一。例如，要扩展 Lambda 函数，请打开。 AWS Lambda console确保以与要使用的资源 AWS 区域 相同的方式打开控制台。
**注意**  
并非所有资源都可以访问控制台。有关更多信息，请参阅 [AWS 服务 可以与 Application Auto Scaling 一起使用](integrated-services-list.md)。
+ **AWS Command Line Interface (AWS CLI)** — 为大量用户提供命令，并在 Windows AWS 服务、macOS 和 Linux 上受支持。要开始使用，请参阅[AWS Command Line Interface](https://docs.aws.amazon.com/cli/)。有关更多信息，请参阅《AWS CLI 命令参考》**中的 [application-autoscaling](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/)。
+ **AWS Tools for Windows PowerShell**— 为那些在 PowerShell 环境中编写脚本的用户提供一系列 AWS 产品的命令。要开始使用，请参阅[《AWS Tools for PowerShell 用户指南》](https://docs.aws.amazon.com/powershell/latest/userguide/)。有关更多信息，请参阅 [AWS Tools for PowerShell Cmdlet 参考](https://docs.aws.amazon.com/powershell/latest/reference/Index.html)。
+ **AWS SDKs**— 提供特定于语言的 API 操作并处理许多连接细节，例如计算签名、处理请求重试和处理错误。有关更多信息，请参阅[构建工具 AWS](https://aws.amazon.com/developer/tools/)。
+ **HTTPS API** – 提供了您使用 HTTPS 请求调用的低级别 API 操作。有关更多信息，请参阅 [Application Auto Scaling API 参考](https://docs.aws.amazon.com/autoscaling/application/APIReference/)。
+ **CloudFormation**— 支持使用 CloudFormation 模板配置缩放。有关更多信息，请参阅 [使用配置应用程序 Auto Scaling 资源 AWS CloudFormation](creating-resources-with-cloudformation.md)。

要以编程方式连接到 AWS 服务，请使用终端节点。有关调用 。

# Application Auto Scaling 概念
<a name="getting-started"></a>

本主题介绍关键概念，帮助您了解 Application Auto Scaling 并开始使用它。

**可扩展目标**  <a name="scalabletarget"></a>
您创建的实体，用于指定要扩展的资源。每个可扩展目标都由服务命名空间、资源 ID 和可扩展维度（表示基础服务的一些容量维度）唯一标识。例如，Amazon ECS 服务支持弹性伸缩其任务计数，DynamoDB 表支持弹性伸缩该表及其全局二级索引的读写容量，Aurora 集群支持扩缩其副本计数。  
每个可扩展目标还具有最小容量和最大容量。扩缩策略永远不会高于或低于最小最大范围。您可以直接对超出此范围的底层资源进行 out-of-band更改，而 Application Auto Scaling 对此一无所知。但是，无论何时调用扩缩策略或调用 `RegisterScalableTarget` API，Application Auto Scaling 都会检索当前容量并将其与最小容量和最大容量进行比较。如果该容量超出最小-最大范围，则会更新容量以符合设置的最小值和最大值。

**横向缩减**  <a name="scalein"></a>
当 Application Auto Scaling 自动减少可扩展目标的容量时，可扩展目标将*横向缩减*。设置扩缩策略后，将无法将可扩展目标横向缩减至最小容量以下。

**扩展**  <a name="scaleout"></a>
当 Application Auto Scaling 自动增加可扩展目标的容量时，可扩展目标将*横向扩展*。设置扩缩策略后，将无法将可扩展目标横向扩展至最大容量以上。

**扩缩策略**  <a name="scalingpolicy"></a>
扩展策略指示 Application Auto Scaling 跟踪特定 CloudWatch 指标。然后，它确定当指标高于或低于某个阈值时要采取的扩缩操作。例如，如果集群中的 CPU 使用率开始上升，您可能希望横向扩展，而当其再次下降时横向缩减。  
用于 auto Scaling 的指标由目标服务发布，但您也可以将自己的指标发布到扩展策略， CloudWatch 然后将其与扩展策略一起使用。  
扩缩活动之间的冷却时间可让资源在另一个扩缩活动开始之前稳定下来。Application Auto Scaling 在冷却时间内继续评估指标。冷却时间结束后，扩缩策略将根据需要启动另一个扩缩活动。在冷却时间生效时，如果需要根据当前指标值进行更大的横向扩展，则扩缩策略会立即横向扩展。

**计划的操作**  <a name="scheduledaction"></a>
计划的操作在特定日期和时间弹性伸缩资源。它们通过修改可扩展目标的最小容量和最大容量来工作，因此可以通过设置更高的最小容量或更低的最大容量用于按计划横向缩减和横向扩展。例如，您可以使用计划的操作来扩缩周末不消耗资源的应用程序，方法是在星期五减少容量，并在下一个星期一增加容量。  
您还可以使用计划的操作优化随时间推移的最小值和最大值，以适应预期流量高于正常流量的情况，例如营销活动或季节性波动。这样做可以帮助您在需要横向扩展更高以满足不断增加的使用量时提高性能，并在使用较少的资源时降低成本。

## 了解更多
<a name="getting-started-learn-more"></a>

[AWS 服务 可以与 Application Auto Scaling 一起使用](integrated-services-list.md) - 本节向您介绍可以扩展的服务，并通过注册可扩展目标来帮助您设置弹性伸缩。本节还介绍 Application Auto Scaling 为访问目标服务中的资源而创建的每个 IAM 服务相关角色。

[Application Auto Scaling 的目标跟踪扩缩策略](application-auto-scaling-target-tracking.md) - Application Auto Scaling 的主要功能之一是目标跟踪扩缩策略。了解目标跟踪策略如何根据配置的指标和目标值自动调整所需容量，使利用率保持在恒定水平。例如，您可以配置目标跟踪，使 Spot 实例集的平均 CPU 利用率保持在 50％。然后，Application Auto Scaling 会根据需要启动或终止 EC2 实例，将所有服务器的聚合 CPU 利用率保持在 50%。