amazon-web-services - 如何构造一串物理子网 ID 来在 cloudformation 脚本中动态创建数据库子网组?

标签 amazon-web-services amazon-rds aws-cloudformation vpc

我正在尝试构建一个 CLoudFormation 脚本,该脚本可同时将实例和数据库启动到 vpc 中。问题是数据库需要两个可用区,所以我创建了第二个子网,现在我只需要在“MyDBSubnetGroup”变量中引用两个子网物理 ID。我可以获得我创建的子网的逻辑 ID,但不知道如何引用这些物理 ID。有谁知道吗?谢谢!!

这是我的代码:

"MyDBSubnetGroup" : {
      "Type" : "AWS::RDS::DBSubnetGroup",
      "Properties" : {
        "DBSubnetGroupDescription" : "Subnets available for the RDS DB Instance",
        "SubnetIds" : { "Fn::Join" : [ " ", [{"Ref" : "PublicSubnetAZ1"}, ", ", {"Ref" : "PublicSubnetAZ2"}, " " ]]}
      }
    },

最佳答案

我遇到了同样的问题,在与 AWS 支持人员合作后,我了解到字符串列表并不意味着我们最初的想法。此外,如果您要将数据库放置在 VPC 内,则不得使用 AWS::RDS::DBSecurityGroup 对象。

这是一个完整的示例,我花了一段时间才让它工作:

"dbSubnetGroup" : {
        "Type" : "AWS::RDS::DBSubnetGroup",
        "Properties" : {
            "DBSubnetGroupDescription" : "Availability Zones for RDS DB",
            "SubnetIds" : [ { "Ref" : "subnetPrivate1" },
                            { "Ref" : "subnetPrivate2" } ]
        }
},
"dbInstance" : {
        "Type" : "AWS::RDS::DBInstance",
        "Properties" : {
            "DBInstanceIdentifier" : { "Fn::Join" : [ "",
                                                    [ { "Ref" : "AWS::StackName" },
                                                      "DB" ] ] },
            "DBName" : "dbname",
            "DBSubnetGroupName" : { "Ref" : "dbSubnetGroup" },
            "MultiAZ" : "true",
            "AllocatedStorage" : "8",
            "BackupRetentionPeriod" : "0",
            "DBInstanceClass" : "db.m1.medium",
            "Engine" : "postgres",
            "MasterUserPassword" : "masteruserpassword",
            "MasterUsername" : "masterusername",
            "VPCSecurityGroups" : [ { "Ref" : "sgVpc" }, { "Ref" : "sgDB" } ]
     }
},

关于amazon-web-services - 如何构造一串物理子网 ID 来在 cloudformation 脚本中动态创建数据库子网组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16909055/

相关文章:

ruby-on-rails - Heroku 数据库和 amazon s3 加密 key 存储以符合 HIPAA

amazon-web-services - 我们可以从正在运行的 EC2 实例中删除安全组吗?

python - AWS CDK : Error when deploying Redis ElastiCache: Subnet group belongs to a different VPC than CacheCluster

mysql - AWS Aurora - 无法连接到 aws aurora 数据库

postgresql - AWS RDS : how to grant SELECT PG_BUFFERCACHE to non-aws-superuser

amazon-web-services - AWS API GATEWAY 配置以从 lambda 返回二进制 pdf 文件

amazon-web-services - 如何在 AWS CLI 中输入 shell 参数

amazon-s3 - Cloudformation S3bucket 创建

amazon-web-services - 通过cloudformation创建VPC时的子网问题

amazon-web-services - 资源处理程序返回消息 : "Error occurred while GetObject. S3 错误代码 : NoSuchKey. S3 错误消息:指定的键不存在