Настройка Elastic Beanstalk для создания базы данных RDS с использованием файла .ebextensions вместо Консоли управления AWS

Используя пользовательский интерфейс консоли управления AWS, я могу легко настроить Elastic Beanstalk для создания базы данных RDS при создании среды.

Я хочу автоматизировать этот процесс с помощью Boto. По-видимому, невозможно создать и подключить экземпляр RDS только с помощью Boto или CLI, поэтому вместо этого я добавил каталог .ebextensions в корень моего jar-файла. Он содержит файл с именем «01-rds.config», содержащий этот YAML (скопированный из здесь):

Resources:
    AWSEBRDSDatabase:
        Type: AWS::RDS::DBInstance
        Properties:
            AllocatedStorage: 5
            DBInstanceClass: db.t2.micro
            DBName: myawesomeapp
            Engine: postgres
            EngineVersion: 9.4.4
            MasterUsername: myAwesomeUsername
            MasterUserPassword: myCrazyPassword

Это заставляет Beanstalk создать базу данных с указанным именем пользователя и паролем. Однако, когда я пытаюсь использовать приложение, я получаю 502 Bad Gateway.

В разделе консоли «Уровень данных» я вижу запись RDS, но она отображает только следующую информацию о базе данных:

  • Двигатель
  • Класс экземпляра
  • Место хранения
  • Мультизона доступности
  • Когда среда удалена

Напротив, когда я создаю среду и настраиваю базу данных RDS с помощью консоли, этот раздел также содержит конечную точку для экземпляра RDS.

В чем дело? Среда эластичных бобовых стеблей каким-то образом не может получить доступ к базе данных?


person fblundun    schedule 09.12.2015    source источник
comment
Здравствуйте, как вам удалось закинуть папку .ebextensions в банку? И еще, куда вы положили эту папку внутри банки, в корень? Я использую сборку maven с весенней загрузкой.   -  person Bahadir Tasdemir    schedule 11.10.2016
comment
Почему бы не использовать awsebcli для создания сред. Вы можете подключить базу данных с флагом --database.   -  person zachdb86    schedule 14.09.2017