我需要使用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"
]
}]
}
}
答案 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实例(请参阅中的限制)。