我需要使用 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"
]
}]
}
}
最佳答案
您的 CloudFormation 资源 pgDB
类型应为 AWS::RDS::DBInstance
,因此,它指示 CloudFormation 创建一个 RDS 实例。每个 RDS 实例可以包含可变数量的数据库或数据库架构。
CloudFormation 不提供在创建时配置实例的方法。要在 RDS 实例上创建 Postgre 数据库,您必须使用 EC2 实例来使用存储的 SQL 转储或运行普通命令(例如 CREATE DATABASE)来配置数据库。 ,使用psql
。已经有question关于 RDS 配置。
您可以通过使用自己的参数定义另一个 AWS::RDS::DBInstance
资源来创建多个 RDS 数据库实例。默认情况下,一个帐户上可以有 40 个 RDS Postgre 实例(请参阅 FAQ 中的限制)。
关于postgresql - 使用 Cloudformation 在 AWS Postgres RDS 中创建多个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42547196/