为 RDS 使用现有的子网组

Use existing subnet group for RDS

我尝试在现有子网上创建 RDS。 共有三个子网。

subnet-0b5985476dee1f20c public on 1d
subnet-085c85398f27adbfd isolated on 1c
subnet-0fdd37150bfff91f0 isolated on 1d

所以,我想使用第二个和第三个子网作为子网组/

我的代码在下面。

const VPCID='vpc-0867d6797e6XXXXXb';
const vpc = ec2.Vpc.fromLookup(this, "VPC", {
  vpcId:VPCID
});

const mySecurityGroup = new ec2.SecurityGroup(this, 'sg-allfordevelop', {
  vpc,
  description: 'Allow sql access to database',
  allowAllOutbound: true,   
  securityGroupName: `cdk-st-${targetEnv}-sg`
}); 
mySecurityGroup.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(3306),'allow mysql port');

const dbInstance = new rds.DatabaseInstance(this, 'Instance', {
  engine: rds.DatabaseInstanceEngine.mysql({
    version: rds.MysqlEngineVersion.VER_8_0_19,
  }),
  vpc,
  securityGroups:[mySecurityGroup],
  instanceIdentifier:`cdk-${targetEnv}-rds`,
  vpcSubnets: {
    subnetType: ec2.SubnetType.PRIVATE_ISOLATED,
  },
  instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO),
  removalPolicy: cdk.RemovalPolicy.DESTROY,
  databaseName:`st${targetEnv}`,
  credentials: rds.Credentials.fromPassword('django',new cdk.SecretValue("mypass"))
});

但是它在下面制作模板。

此处不存在id。

这是否意味着尝试创建新的子网?

如何指示使用已经存在的子网?

"InstanceSubnetGroupF2CBA54F": {
  "Type": "AWS::RDS::DBSubnetGroup",
  "Properties": {
    "DBSubnetGroupDescription": "Subnet group for Instance database",
    "SubnetIds": [
      "subnet-0b5985476dee1f20c",
      "subnet-0d7c1590c61b62782"
    ]
  },
  "Metadata": {
    "aws:cdk:path": "st-dev-base-stack/Instance/SubnetGroup/Default"
  }
},

已解决。

cdk.context.json 中缓存了旧信息。

我删除了这个文件,它有效。