You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过CloudFormation创建Serverless V2 Aurora PostgreSQL失败,控制台可正常创建

解决CloudFormation创建Aurora Serverless V2 PostgreSQL集群时的"serverless引擎模式当前不可用"错误

问题分析

控制台可成功创建,但CloudFormation报错,核心原因在于模板的几个关键配置错误:

  1. 多余的DBInstance资源:Aurora Serverless V2是集群级的无服务器架构,不需要手动创建AWS::RDS::DBInstance资源。控制台创建时会自动跳过实例创建步骤,但CloudFormation中添加该资源会触发引擎模式冲突。
  2. YAML语法错误:DatabaseName字段的写法不符合YAML规范,导致配置解析异常。
  3. 缺失Serverless V2缩放配置:CloudFormation创建Serverless V2集群时,需要明确指定ServerlessV2ScalingConfiguration,控制台默认填充的配置在CloudFormation中不会自动生成。
  4. 不必要的可用区指定:手动指定AvailabilityZones可能与区域内Serverless V2的可用区支持范围冲突。

修正后的CloudFormation模板

# Database
auroraCluster:
  Type: AWS::RDS::DBCluster
  Properties: 
    AutoMinorVersionUpgrade: true
    DatabaseName: publisher
    DeletionProtection: !If [isProd, true, false]
    Engine: aurora-postgresql
    EngineMode: serverless
    EngineVersion: '14.6'
    # 明确Serverless V2缩放配置,根据业务需求调整容量范围
    ServerlessV2ScalingConfiguration:
      MinCapacity: 0.5
      MaxCapacity: 128
    ManageMasterUserPassword: true
    MasterUsername: postgres
    MasterUserSecret:
      SecretArn: !Ref secretRds

关键修改说明

  • 移除auroraInstance资源:Serverless V2集群会自动管理计算节点的缩放,无需单独创建实例。
  • 修正DatabaseName语法:将换行缩进的写法改为直接赋值,符合YAML规范。
  • 添加ServerlessV2ScalingConfiguration:指定最小/最大计算容量,这是创建Serverless V2集群的必要配置。
  • 移除AvailabilityZones:Serverless V2集群会自动在区域内的可用区分布资源,手动指定可能引发兼容性问题。
  • 布尔值改为原生类型:将'true'/'false'替换为true/false,符合CloudFormation的参数要求。

额外排查点

  • 验证区域兼容性:通过AWS CLI执行aws rds describe-db-engine-versions --engine aurora-postgresql --engine-version 14.6 --region eu-north-1,确认该区域支持对应版本的Serverless V2模式。
  • 检查IAM权限:确保CloudFormation执行角色拥有rds:CreateDBCluster、secretsmanager:UpdateSecret等必要权限。

内容的提问来源于stack exchange,提问作者r.r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 18:05:29