使用Cloudformation在AWS Postgres RDS中创建多个数据库

时间:2017-03-02 04:59:00

标签: postgresql amazon-web-services amazon-rds rds amazon-cloudformation

我需要使用Cloudformation在AWS提供的Postgres RDS中创建多个数据库。我能够创建单个数据库。

以下是我的模板片段:

"pgDB": {
    "Properties": {
        "AllocatedStorage": {
            "Ref": "Storage"
        },
        "DBInstanceClass": {
            "Ref": "DBInstanceClass"
        },
        "DBInstanceIdentifier": {
            "Ref": "DBInstanceName"
        },
        "DBName": {
            "Ref": "DBName"
        },
        "DBParameterGroupName": {
            "Ref": "myDBParamGroup"
        },
        "DBSubnetGroupName": {
            "Ref": "myDBSubnetGroup"
        },
        "Engine": "postgres",
        "MasterUserPassword": {
            "Ref": "DBPassword"
        },
        "MasterUsername": {
            "Ref": "DBUser"
        },
        "VPCSecurityGroups": [{
            "Fn::GetAtt": [
                "myDBEC2SecurityGroup",
                "GroupId"
            ]
        }]
    }
}

1 个答案:

答案 0 :(得分:1)

您的CloudFormation资源pgDB应该是AWS::RDS::DBInstance类型,因此,它指示CloudFormation创建一个RDS实例。每个RDS实例都可以包含可变数量的数据库或数据库模式。

CloudFormation不提供在创建时配置实例的方法。要在RDS实例上创建Postgre 数据库,您必须使用(例如)EC2实例来使用存储的SQL转储来配置数据库,或者使用CREATE DATABASE运行普通命令,question 1}}。关于RDS配置已经有FAQ

您可以通过使用自己的参数定义另一个psql资源来创建多个RDS数据库实例。默认情况下,您可以在一个帐户上拥有40个RDS Postgre实例(请参阅mail files中的限制)。