微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

资源处理程序返回消息:“模型验证失败#/VpcSubnetIds:预期的最小项目数:2,找到:1”

如何解决资源处理程序返回消息:“模型验证失败#/VpcSubnetIds:预期的最小项目数:2,找到:1”

我正在做以下事情:

const vpc = ec2.Vpc.fromLookup(this,"vpcDefault",{ vpcId: "someid" });
const instanceType: ec2.InstanceType = ec2.InstanceType.of(ec2.InstanceClass.T3,ec2.InstanceSize.LARGE);
const subnetGroup = rds.subnetGroup.fromsubnetGroupName(this,"subnetGroup","test subnet group")
const secretKey = kms.Key.fromKeyArn(this,"kmsKey","someresourcearn")

const secretSecret = new secrets.Secret(this,"secretSecret",{
  encryptionKey: secretKey,secretName: "onTheSpotGeneratedKeyFromKMS",});

// create new DB Instance
const dbInstance = new rds.DatabaseInstance(this,"testDbInstance",{
  vpc,subnetGroup,instanceType,allocatedStorage: 10,storageEncrypted: true,databaseName: "test_cdk_db",instanceIdentifier: "test-db",engine: rds.DatabaseInstanceEngine.postgres({ version: rds.PostgresEngineVersion.VER_13 }),});

const dbProxy = new rds.DatabaseProxy(this,"dbProxy",{
  proxyTarget: rds.ProxyTarget.fromInstance(dbInstance),secrets: [secretSecret],vpc,});

我看到以下错误

CREATE_Failed | AWS::RDS::DBProxy |数据库代理

Resource handler returned message: "Model validation Failed (#/VpcsubnetIds: expected minimum item count: 2,found: 1)" (RequestToken: XXX,HandlerErrorCode: InvalidRequest)

问题似乎在我创建 dbProxy 时发生。有什么想法吗?

编辑:这些是我的子网。

enter image description here

解决方法

该错误表示您的子网组不正确:

subnetGroup = rds.SubnetGroup.fromSubnetGroupName(this,"subnetGroup","test subnet group")

没有显示您是如何创建组的,但它似乎只有一个子网。它必须在不同的AZ中有two subnets

您的 VPC 必须至少有两个子网。这些子网必须位于您要部署数据库实例的 AWS 区域中的两个不同的可用区

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。