首页 > 解决方案 > 在自定义(非默认)VPC 和安全组中创建 RDS 实例

问题描述

我正在尝试使用 REST API 调用在非默认安全组中创建 RDS 实例。就在通话之前,我创建了一个自定义 DB 子网组,其中两个子网位于与给定 VPC 链接的两个不同 AZ 中。调用成功,但创建的数据库实例放置在默认 VPC 和默认安全组中。我不明白为什么它没有放入给定的安全组中。

这就是我创建 VPC、子网、安全组、数据库子网组和实例的方式(所有调用都成功,没有特定错误):

https://ec2.ap-southeast-1.amazonaws.com?Action=CreateVpc&CidrBlock=172.31.0.0%2F16&Version=2016-11-15

https://ec2.ap-southeast-1.amazonaws.com?Action=CreateSubnet&AvailabilityZoneId=apse1-az1&CidrBlock=172.31.0.0%2F20&Version=2016-11-15&VpcId=vpc-09b39cdff293eaf1e

https://ec2.ap-southeast-1.amazonaws.com?Action=CreateSubnet&AvailabilityZoneId=apse1-az2&CidrBlock=172.31.20.0%2F20&Version=2016-11-15&VpcId=vpc-09b39cdff293eaf1e

https://rds.ap-southeast-1.amazonaws.com?Action=CreateDBSubnetGroup&DBSubnetGroupDescription=aosdb&DBSubnetGroupName=aos-db-group&SubnetIds.SubnetId

https://ec2.ap-southeast-1.amazonaws.com?Action=CreateSecurityGroup&GroupDescription=AOS_DB_TEST&GroupName=AOS_DB_TEST&Version=2016-11-15&VpcId=vpc-09b39cdff293eaf1e

https://rds.ap-southeast-1.amazonaws.com?Action=CreateDBInstance&AllocatedStorage=15&DBInstanceClass=db.t3.micro&DBInstanceIdentifier=aosDB8e5bb76e&DBSubnetGroupName=aos-db-group&Engine=postgres&EngineVersion=9.6.19&MasterUserPassword=Cloud_123&MasterUsername=postgres&VpcSecurityGroupIds.VpcSecurityGroupId.1=sg-0bd786e045265263f

知道我做错了什么吗?我尝试在 AWS CLI 中执行最后一步(CreateDBInstance),并且数据库是在我的自定义 SG 和 VPC 中创建的,没有任何问题。谢谢,彼得

标签: amazon-web-servicesamazon-rdsamazon-vpcaws-security-group

解决方案


抱歉,我没有做太多研究,但后缀是 1 还是 N?

VpcSecurityGroupIds.VpcSecurityGroupId.N

  • 要与此数据库实例关联的 Amazon EC2 VPC 安全组列表。

  • 默认值:数据库子网组的 VPC 的默认 EC2 VPC 安全组。

  • 类型:字符串数组

  • 要求:否

以防万一,其他需要考虑的额外事项:

如果指定了 DBSubnetGroupName,但未指定 PubliclyAccessible,则适用以下情况:

从文档:

  • 如果子网是没有附加 Internet 网关的 VPC 的一部分,则数据库实例是私有的。

  • 如果子网是附有 Internet 网关的 VPC 的一部分,则数据库实例是公共的。

类型:布尔值

要求:否


推荐阅读