我需要为我的 AWS Aurora 数据库集群添加 AutoScaling,我发现了这个 nice article关于如何使用 Web 控制台执行此操作。但我找不到如何使用 AWS::RDS::DBCluster
资源的 CloudFormation 模板来定义它。
有人可以指导我如何使用 CloudFormation 为我的数据库集群定义 Auto Scaling 策略吗?
最佳答案
您需要使用Application Autoscaling服务。下面是一个 CFN 脚本示例,但请注意,我没有创建任何实例 - 仅创建了集群和扩展策略。
AWSTemplateFormatVersion: 2010-09-09
Resources:
MyDatabase:
Type: AWS::RDS::DBCluster
Properties:
Engine: aurora
EngineVersion: 5.6.10a
MasterUsername: example
MasterUserPassword: examplepassword
AutoScalerTarget:
Type: AWS::ApplicationAutoScaling::ScalableTarget
Properties:
MinCapacity: 1
MaxCapacity: 8
ResourceId: !Sub "cluster:${MyDatabase}"
ScalableDimension: rds:cluster:ReadReplicaCount
ServiceNamespace: rds
RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/rds.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_RDSCluster"
AutoScaler:
Type: AWS::ApplicationAutoScaling::ScalingPolicy
Properties:
ScalingTargetId: !Ref AutoScalerTarget
ServiceNamespace: rds
PolicyName: Example
PolicyType: TargetTrackingScaling
ScalableDimension: rds:cluster:ReadReplicaCount
TargetTrackingScalingPolicyConfiguration:
PredefinedMetricSpecification:
PredefinedMetricType: RDSReaderAverageCPUUtilization
TargetValue: 50.0
ScaleOutCooldown: 300
ScaleInCooldown: 300
DisableScaleIn: False
此外,请查看 aurora serverless .
关于amazon-web-services - 在 CloudFormation 模板中定义 Aurora 数据库集群的 AutoScaling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53323469/