Создайте несколько баз данных в AWS Postgres RDS с помощью Cloudformation

У меня есть требование создать несколько баз данных в Postgres RDS, предоставленных AWS, с использованием Cloudformation. Я могу создать единую базу данных.

Ниже фрагмент моего шаблона:

"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"
            ]
        }]
    }
}

person utkarsh-devops    schedule 02.03.2017    source источник


Ответы (1)


Ваш ресурс CloudFormation pgDB должен иметь тип AWS::RDS::DBInstance и, следовательно, указывает CloudFormation создать один экземпляр RDS. Каждый экземпляр RDS может содержать различное количество баз данных или схем баз данных.

CloudFormation не предоставляет средства для подготовки экземпляра при создании. Чтобы создать базы данных Postgre в экземпляре RDS, вы должны использовать, например, экземпляр EC2 для предоставления базы данных с использованием сохраненных дампов SQL или запуска простых команд, таких как СОЗДАТЬ БАЗУ ДАННЫХ с помощью psql. Уже есть вопрос относительно подготовки RDS.

Вы можете создать несколько экземпляров базы данных RDS, определив другой AWS::RDS::DBInstance ресурс с его собственными параметрами. По умолчанию вы можете иметь 40 экземпляров RDS Postgre в учетной записи (см. ограничения в Часто задаваемые вопросы< /а>).

person Olli    schedule 02.03.2017