3

Я борюсь с моим веб-приложением, которое я успешно развернул на AWS. Все работает правильно в среде веб-уровня. Однако я должен добавить среду рабочего уровня для планирования фоновых задач. Итак, теперь у меня есть 2 среды для моего приложения AWS. Это веб-уровень, а другой - рабочий уровень. Я не создал базу данных для рабочего уровня, потому что я хочу, чтобы эта среда использовала базу данных RDS уровня Web. Как я могу указать рабочий уровень для использования базы данных RDS веб-уровня?Ссылка База данных RDS об окружающей среде веб-уровня для окружающей среды рабочего уровня: эластичные бобы

ответ

1

Эластичный бобовый шток - не лучшее решение для обработки RDS далеко, насколько я знаю. Наличие экземпляра RDS, привязанного к вашей среде ElasticBeanstalk, будет хорошо работать для dev/test, однако привязка жизненного цикла экземпляра базы данных к жизненному циклу среды вашего приложения на самом деле не самый лучший вариант.

Я бы рекомендовал просто развязать RDS и не добавлять его в ElasticBeanstalk, обрабатывать его отдельно. Такой подход позволит вам подключить несколько сред к экземпляру RDS, прекратить работу среды, не затрагивая жизненный цикл базы данных, и выполнять непрерывные обновления с использованием метода синего/зеленого метода развертывания.

Вы можете передавать данные БД (хост, порт, пользователь, пароль) в качестве переменных окружения в приложениях ElasticBeanstalk (может быть проблематично из-за рисков безопасности).

Другой альтернативой является сохранение строки подключения в ведро S3, которое вы контролируете, и позволяя вашим экземплярам EC2 обращаться к этому ведру S3 через профили экземпляров EC2.

Дополнительную информацию и примеры можно найти в документах Using Elastic Beanstalk with Amazon RDS.

Если выше не работает для вас, то, вероятно, пора заглянуть в CloudFormation для более эффективного управления жизненным циклом приложения, инфраструктурой и зависимостями.

Смежные вопросы