我需要使用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条答案
按热度按时间alen0pnh1#
CloudFormation资源
pgDB
的类型应为AWS::RDS::DBInstance
,因此,它指示CloudFormation创建一个RDS示例。每个RDS示例可以包含不同数量的数据库或数据库架构。CloudFormation不提供在创建时预配示例的方法。要在RDS示例上创建Postgre数据库,您必须使用EC2示例,例如使用存储的SQL转储或运行普通命令(如CREATE DATABASE和
psql
)预配数据库。已经有关于RDS预配的question。您可以通过定义另一个
AWS::RDS::DBInstance
资源来创建多个RDS数据库示例。默认情况下,您可以在一个帐户上拥有40个RDS Postgre示例(请参阅FAQ中的限制)。