#typescript #amazon-web-services #amazon-rds #aws-cdk
#машинописный текст #amazon-веб-сервисы #amazon-rds #aws-cdk
Вопрос:
В AWS CDK я создал частную подсеть (без добавления mapPublicIpOnLaunch
), и я получаю эту ошибку при создании своего экземпляра RDS.
Вот мой код шагов, которые я предпринимаю, чтобы все подготовить:
- Я забираю свой VPC из своей учетной записи
- Создайте новую частную подсеть
- Наконец, используйте эту частную подсеть для моей частной базы данных RDS.
// Import VPC to be used. let mainVPC = ec2.Vpc.fromVpcAttributes(this, "test", { vpcId: props.vpcId, availabilityZones: ["us-east-1a", "us-east-1b", "us-east-1c"], }); // Private subnet 1a const privateSubnet1A = new ec2.CfnSubnet(this, 'privateSub1A', { availabilityZone: props.availabilityZones[0], cidrBlock: props.cidr '.2.0/24', vpcId: props.vpcId, tags: [{ key: 'Name', value: props.availabilityZones[0] '.' "sandbox" "." "foo" "." 'bar' }] }); // Creates postgreSQL RDS instance: const foobarDBInstance = new rds.DatabaseInstance(this, "foo_bar", { vpc: mainVPC, vpcSubnets: { availabilityZones: props.availabilityZones, subnetType: ec2.SubnetType.PRIVATE_ISOLATED, }, engine: rds.DatabaseInstanceEngine.postgres({ version: rds.PostgresEngineVersion.VER_13_4, }), instanceType: ec2.InstanceType.of( ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL, ), credentials: rds.Credentials.fromGeneratedSecret('foo'), securityGroups: [dbSG], multiAz: false, allocatedStorage: 100, maxAllocatedStorage: 1000, allowMajorVersionUpgrade: false, autoMinorVersionUpgrade: true, backupRetention: cdk.Duration.days(0), deleteAutomatedBackups: true, removalPolicy: cdk.RemovalPolicy.DESTROY, deletionProtection: false, databaseName: "foo bar", publiclyAccessible: false, });
Ошибка, которую я получаю, содержится в названии моего вопроса: Error: There are no 'Isolated' subnet groups in this VPC.
Поэтому мой вопрос в том, почему это происходит? Есть ли правильный способ исправить эту ошибку? Я был бы признателен за любую обратную связь.
Комментарии:
1. Есть ли у вас группа подсетей, связанная с теми подсетями, в которых запускается база данных? Если это так, вы можете указать параметр «Подгруппа» в конструкторе rds.DatabaseInstance
2. Я не. Я считаю, что для меня было бы лучше сделать это. Прежде чем я создам подсети вручную, а затем они будут зарегистрированы
subnetType: ec2.SubnetType.PRIVATE_ISOLATED
.3. Ошибка в названии упоминает Изолированные подсети, в то время как в тексте упоминаются общедоступные подсети. Что это такое?
4. @gshpychka извиняюсь, вы правы. Обновленный вопрос.
5. Итак, просто обновление: я попытался создать класс
rds.SubnetGroup
на стороне, и мне так трудно добавлять свои подсети, ссылаясь на частную подсеть. Пытаюсь понять, как я могу это сделать.