

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

# 计划扩展
<a name="AutoScaling-with-Scheduled-Scaling-Replicas"></a>

按计划扩展使您可以按照可预测的需求变化来扩展应用程序。要使用计划扩缩，您需要创建计划操作，用于告知 ElastiCache for Valkey and Redis OSS 在特定时间执行扩缩活动。创建计划操作时，您需要指定现有的 ElastiCache 集群、执行扩缩活动的时间、最小容量和最大容量。您可以创建仅扩展一次或按重复计划扩展的计划操作。

 您只能为已存在的 ElastiCache 集群创建计划操作。您不能在创建集群的同时创建计划操作。

有关计划操作创建、管理和删除的相关术语的详细信息，请参阅[计划操作创建、管理和删除的常用命令](https://docs.amazonaws.cn/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#scheduled-scaling-commonly-used-commands) 

**创建一次性计划操作：**

类似于分区维度。请参阅[计划扩展](AutoScaling-with-Scheduled-Scaling-Shards.md)。

**删除计划操作**

类似于分区维度。请参阅[计划扩展](AutoScaling-with-Scheduled-Scaling-Shards.md)。

**使用 Amazon CLI 管理计划扩展**

使用以下 application-autoscaling API：
+ [put-scheduled-action](https://docs.amazonaws.cn/cli/latest/reference/application-autoscaling/put-scheduled-action.html) 
+ [describe-scheduled-actions](https://docs.amazonaws.cn/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html) 
+ [delete-scheduled-action](https://docs.amazonaws.cn/cli/latest/reference/application-autoscaling/delete-scheduled-action.html) 

## 使用 Amazon CloudFormation 创建弹性伸缩策略
<a name="AutoScaling-with-Cloudformation-Update-Action"></a>

此代码段演示如何使用 [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) 资源创建计划操作并将其应用于 [AWS::ElastiCache::ReplicationGroup](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) 资源。此示例利用 [Fn::Join](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) 和 [Ref](https://docs.amazonaws.cn/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) 内置函数，使用在同一模板中指定的 `AWS::ElastiCache::ReplicationGroup` 资源的逻辑名称来构建 `ResourceId` 属性。

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 0
     MinCapacity: 0
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:Replicas'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"
     ScheduledActions:
       - EndTime: '2020-12-31T12:00:00.000Z'
         ScalableTargetAction:
           MaxCapacity: '5'
           MinCapacity: '2'
         ScheduledActionName: First
         Schedule: 'cron(0 18 * * ? *)'
```