2013-05-03 2 views
7

У меня есть эластичное болотовое покрытие с двумя средами, постановка и производство. При создании среды приложения и промежуточной среды с помощью eb init я создал экземпляр базы данных. Я использовал консоль eb для создания производственной среды и создал новый экземпляр базы данных, который, по моему мнению, явно ошибочен.Как сделать две среды с эластичным бобовым стеком общими для одного экземпляра базы данных

Как заставить мои две среды совместно использовать один и тот же экземпляр базы данных? Если это произойдет, как насчет того, когда я обновляю миграцию базы данных в своем приложении и разворачиваю на стадию; это означает, что мои пользователи увидели бы это, потому что та же база данных используется промежуточной средой.

Как справиться с этой проблемой?

Я также заметил, что git aws.push не перезаписывает мою базу данных, но не удаляет откатные обратные миграции. Я что-то упускаю?

ответ

4

Я бы порекомендовал вам следующий вариант: Создайте экземпляр rds вне среды эластичного beanstalk. Создайте отдельные схемы для производства и постановки. Пропустите строки подключения к вашему EBS-приложению. Разделяемый Rds экземпляр между средами EBS поможет вам:

  1. Уменьшения стоимости среды, так как иметь несколько экземпляров Rds работает дорого.

  2. Помогите вам изолировать производственные и промежуточные среды.

+0

Если я хочу с вами согласиться, как я могу вручную вытащить свою базу данных из localhost в новый экземпляр RDS? Помните его рельсы, а git aws.push делает развертывание, но с вашим решением больше не работает. Так как? – Femi

+1

Вы можете добавить в свою папку приложения .ebextentions с конфигурационными файлами, которые будут содержать параметры конфигурации, такие как строка подключения к db и скрипты для запуска миграции. Я бы предложил прочитать статью: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Ruby_custom_container.html –

+1

Я попытаюсь объяснить свою идею еще раз, чтобы сделать шаги: 1. Вы можете вручную создать экземпляр rds и схемы для производства и постановки. 2. Вы можете добавить в конфигурационные файлы эластичного beanstalk приложения, где вы можете определить строку соединения для текущей базы данных, связанную с постановкой или производством, также вы можете определить здесь команды для выполнения миграции. 3. Делать git aws.push :) –

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