此 VPC 中没有"私有"子网组。可用类型:创建 RDS 集群时为公共



我正在用现有的vpc创建一个RDS集群。以下是给出的论点:

vpc: ec2.Vpc.fromLookup(this, "VPC", {vpcName: DEFAULT_VPC}),
engine: DatabaseClusterEngine.auroraPostgres({version: AuroraPostgresEngineVersion.VER_10_18}),
identifier: CLUSTER_IDENTIFIER,
dbSecretName: DATABASE_SECRET_NAME,
dbSecretUsername: DATABASE_SECRET_USERNAME,
databaseName: DATABASE_NAME,
enableDataApi: true,
removalPolicy: RemovalPolicy.RETAIN,
scaling: AURORA_SCALING_MAP.get(props.stage)!,
backupRetention: Duration.days(30)

但当部署时,它给出了错误:

There are no 'Private' subnet groups in this VPC. Available types: Public

我验证了有3个子网,并且都是公共类型。不能在公用子网中创建rds群集吗?如果是,我们如何具体说明?如果这是前进的道路,如何从CDK创建私有子网?

在RDS的情况下,私有区域不是必须的,您可以在vpcSubnets.subnetType参数中明确设置子网类型,如下所示:

declare const vpc: ec2.Vpc;
const cluster = new rds.DatabaseCluster(this, 'Database', {
engine: rds.DatabaseClusterEngine.auroraMysql({ version: rds.AuroraMysqlEngineVersion.VER_2_08_1 }),
vpcSubnets: {
subnetType: ec2.SubnetType.PUBLIC,
},
vpc,
},
});

最新更新