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

使用CDK创建ServerlessCluster报错:请求的Serverless引擎模式不可用

解决CDK创建Aurora Serverless PostgreSQL 15.2时的“engine mode serverless unavailable”错误

下面是针对你遇到的问题的具体排查和解决步骤:

1. 替换不兼容的参数组

Aurora Serverless集群需要使用适配Serverless模式的参数组,你当前引用的通用默认参数组(default.aurora-postgresql${RDS_MAJOR_VERSION})不支持Serverless引擎模式。

修改参数组代码,创建CDK管理的Serverless兼容参数组:

const AURORA_POSTGRES_ENGINE_VERSION = rds.AuroraPostgresEngineVersion.VER_15_2;

// 替换原参数组代码,创建适配Serverless的参数组
const parameterGroup = new rds.ParameterGroup(this, 'ServerlessPgParamGroup', {
  engine: rds.DatabaseClusterEngine.auroraPostgres({ version: AURORA_POSTGRES_ENGINE_VERSION }),
  // 按需添加自定义参数,无需求可留空
});

2. 升级CDK版本到兼容版本

若你的CDK版本过低,可能尚未支持PostgreSQL 15.2的Serverless模式。执行以下命令升级:

# 全局升级CDK CLI
npm install -g aws-cdk
# 升级项目内的CDK依赖
npm update aws-cdk-lib @aws-cdk/aws-rds

3. 移除冲突的子网配置

你同时指定了vpcSubnets和subnetGroup,这会导致配置冲突,影响Serverless集群的创建逻辑。移除subnetGroup参数,让CDK通过vpcSubnets自动生成符合要求的子网组:

dbCluster = new rds.ServerlessCluster(this, 'Database', {
  parameterGroup,
  engine: engine,
  credentials: rdsCredentials,
  scaling:{
    minCapacity: rds.AuroraCapacityUnit.ACU_2, 
    maxCapacity: rds.AuroraCapacityUnit.ACU_8, 
  },
  removalPolicy: cdk.RemovalPolicy.DESTROY,
  clusterIdentifier: `ol${targetEnv}`, 
  defaultDatabaseName :metaInfo['dbDatabase'], 
  vpc:vpc,
  vpcSubnets:vpc.selectSubnets({ subnetType: ec2.SubnetType.PUBLIC }),
  // 移除subnetGroup配置
});

4. 验证区域与资源规格兼容性

虽然控制台能创建,但部分区域对Serverless v2的ACU范围或其他参数有特定要求。若上述步骤无效,可尝试将ACU范围调整为通用支持的1-16测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:12:31