4

Я планирую передать заявку от Heroku на AWS Elastic Beanstalk. На Heroku у меня есть два разных приложения: один для постановки, а другой для производства, и у обоих есть свои рабочие сети и рабочие.Как структурировать AWS Elastic Beanstalk для производства и промежуточной среды с веб-сайтами и рабочими уровнями?

Я хотел бы установить что-то подобное на AWS EB. Я читал разницу в уровне Web Tier и Worker Tier, но здесь возникает ряд вопросов:

Я устанавливаю два разных приложения для производства и постановки? Или же приложение и две разные среды? Если это так, мне пришлось бы создать 4 среды, два для веб-сайта или рабочего и два для размещения веб-работника? Какова правильная структура? Я буду использовать одно и то же приложение Rails для Интернета и рабочего. В таком случае мне придется развернуть их отдельно или есть команда для развертывания обеих сред вместе?

ответ

1

для дальнейшего использования, AWS Elastic Beanstalk позже создал решение для этой называемой окружающей среды Ссылки:

https://aws.amazon.com/about-aws/whats-new/2015/11/aws-elastic-beanstalk-adds-support-for-environment-links/

С этой функцией, мы теперь в состоянии связать обе среды с тем же кодом (так мы развертываем его только один раз, а не дважды). Чтобы рабочий выполнял рабочий процесс и веб-сервер для запуска веб-сервера, вы можете установить различные переменные среды и настроить сценарии инициализации EB, чтобы проверить эти вары и запустить определенный процесс.

+2

Я понимаю, что вы оригинальный плакат, но ваш ответ на самом деле не отвечает на вопрос. В нем объясняется, как заставить работника и сеть разговаривать друг с другом, но он не отвечает ни на один из ваших вопросов о том, как развернуть, как использовать разные среды и не упоминать, как «структурировать» на AWS. –

+0

Это правда Ник, я отредактирую, чтобы я мог сделать это более ясным. –

2

Я буду использовать одно и то же приложение Rails для Интернета и рабочего.

Это говорит мне, что у вас должно быть одно приложение. Приложения управляют версиями приложений, которые в основном представляют собой историю развертывания.

Вы хотите создать 4 окружения. Это позволяет вам «продвигать prod» путем замены cname или путем развертывания ранее развернутой версии.

Вам придется развернуть свой веб-сайт/работник отдельно, но вы можете очень легко создать сценарий, который будет развертываться одновременно.

+0

Я просто хочу добавить, что вы можете использовать переменные среды для выбора того, что использовать «профиль» (prod или staging). Таким образом, ваша версия и конфигурация должны быть одинаковыми, кроме переменных среды. – sap1ens

+0

Теперь я понял. Поэтому, если я хочу изменить любой env var на производство, мне нужно будет сделать это на двух разных средах EB (prod-web и prod-worker) правильно? AWS должен пересмотреть это, это не самая умная вещь ... Спасибо sap1ens! –

+0

@RicardoNacif Я думаю, что реальный вопрос в том, почему ваш рабочий/веб использует тот же код и почему вы хотите, чтобы они всегда выглядели одинаково? –