您当前无法使用 Aurora Serverless 修改维护窗口 - 更新 Cloudformation 堆栈时出错



我在我的云形成模板中AWS::RDS::DBCluster设置了一个参数PreferredMaintenanceWindow,一切都很好。 最近我不得不将参数EnableCloudwatchLogsExport添加到模板中,但是当我尝试部署堆栈时,它失败并显示以下消息:

您目前无法使用 Aurora Serverless 修改 MaintenanceWindow。 (服务:亚马逊RDS;状态代码:400;错误代码: 无效参数组合;请求 ID: BF40FD7E-E599-481A-AC23-B3C68E9794A1(

这是我什至没有触及该参数的时候,是否有人遇到过这样的问题或任何我可以与 CloudFormation 一起使用的解决方法

PS:我知道我可以从 CLI 设置EnableCloudwatchLogsExport,但我不想要漂移,我真的希望它通过 cloudformatio 来完成。

更新:

RDSServerlessDB:
Type: "AWS::RDS::DBCluster"
Properties:
AvailabilityZones:
Fn::GetAZs: !Ref 'AWS::Region'
BackupRetentionPeriod: 3                                                # Number of days
DatabaseName: !Join ["_", [!Join ["_", !Split [ "-", !Sub '${MasterStack}']], 'fol']]
DBClusterParameterGroupName: "default.aurora5.6"
DBSubnetGroupName: !Ref RDSDBSubnetGroup
EnableCloudwatchLogsExports:
- error
- general
- slowquery
- audit
Engine: "aurora"
EngineMode: "serverless" 
#      EngineVersion: "5.6.10a"
MasterUsername: "username"                                            
MasterUserPassword: "{{resolve:ssm-secure:/password:1}}"
#      Port: 3306
#      PreferredMaintenanceWindow: "sun:01:00-sun:03:00"
ScalingConfiguration:
AutoPause: True
MaxCapacity: 32
MinCapacity: 2
SecondsUntilAutoPause: 300
Tags:
- Key: owner
Value: !Ref StackOwner
- Key: task
Value: !Ref Task
VpcSecurityGroupIds:
- Ref: RDSSecurityGroup

这是一个错误。

作为解决方法,您可以暂时从模板中删除(或注释掉(PreferredBackupWindowPreferredMaintenanceWindow。在我的测试中,CF 更新成功,并且实例配置上的两个值都保持不变。

实际上,关于预期行为是什么存在一些争议。错误报告评论说,这些设置在无服务器模式下不受支持,但 AWS 文档和 AWS 控制台似乎不支持该断言。

显然,这是Aurora Serverless v1:https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations 的限制(以及许多其他限制((这是限制列表中的最后一个(。

我尝试使用 AWS CLI v1 和 AWS Java SDK v2 进行设置:

software.amazon.awssdk.services.rds.model.ScalingConfiguration scalingConfiguration = software.amazon.awssdk.services.rds.model.ScalingConfiguration.builder().minCapacity(1).build()
final ModifyDbClusterRequest request = ModifyDbClusterRequest.builder().dbClusterIdentifier(clusterIdentifier).preferredBackupWindow("18:00-19:00").scalingConfiguration(scalingConfiguration).build()
final ModifyDbClusterResponse response = rdsClient.modifyDBCluster(request)

无论如何,它都会返回相同的错误。

最新更新