Измените конфигурацию Elastic Beanstalk на Docker

В настоящее время я использую конфигурацию Node JS для приложения Elastic Beanstalk. Я хочу изменить среду на Docker, не удаляя среду. Кто-нибудь знает, как я могу это сделать?

Существует действие по восстановлению среды, но я не уверен, что это позволит мне изменить конфигурацию.

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

Любые идеи?

РЕДАКТИРОВАТЬ:

Моя проблема в том, что у меня есть DNS на другом сервере, указывающий на мой домен эластичного бобового стебля (domain.elasticbeanstalk.com). Если я удалю приложение, могу ли я вернуть это имя?


person Max Baldwin    schedule 10.04.2015    source источник
comment
Насколько я знаю, это невозможно, вам нужно создать другую среду: - / Список всех вариантов обновления среды docs.aws.amazon.com/elasticbeanstalk/latest/dg/.   -  person sap1ens    schedule 10.04.2015
comment
@ sap1ens Моя проблема в том, что у меня есть DNS на другом сервере, указывающий на мой домен эластичного бобового стебля (domain.elasticbeanstalk.com). Если я удалю приложение, могу ли я вернуть это имя?   -  person Max Baldwin    schedule 10.04.2015
comment
Ах, это легко решить! Вы просто создаете другую среду с URL-адресом domain2.elasticbeanstalk.com, а затем используете функцию Swap URL-адреса - она ​​работает почти мгновенно.   -  person sap1ens    schedule 10.04.2015
comment
@ sap1ens, спасибо, сэр. Это сработало! Если вы хотите написать ответ ниже, я отмечу его как правильный. Спасибо еще раз.   -  person Max Baldwin    schedule 10.04.2015
comment
Конечно, я рада, что это сработало для вас! :)   -  person sap1ens    schedule 10.04.2015


Ответы (3)


Фактически вы не можете изменить тип среды между Docker, Node.js и т. Д. (На основе этого http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html), но вы можете создать новую среду с другим доменом и использовать функцию Swap CNAME. . В этом случае ваша новая среда получит тот же URL (а старый можно безопасно удалить).

person sap1ens    schedule 10.04.2015

Вы можете сделать это с помощью EB CLI. (3.2+) Просто введите eb config и измените имя стека решений на нужную строку стека решений.

person Nick Humrich    schedule 11.04.2015

Я нашел способ сделать это без подмены URL-адресов или удаления и повторного создания среды с помощью aws cli. Это может быть своего рода взлом, но это не так уж плохо и работает.

Сначала обновите среду, чтобы использовать новый стек решений. Я обнаружил, что мне пришлось удалить параметр, который не поддерживался в новом стеке решений, и мне пришлось одновременно перейти на новую версию приложения, которая будет работать с новым стеком решений:

aws elasticbeanstalk update-environment --solution-stack-name \
"64bit Amazon Linux 2016.03 v2.1.0 running Docker 1.9.1" \
--environment-name my-env-name \
--options-to-remove Namespace=aws:elasticbeanstalk:container:python,OptionName=WSGIPath \
--version-label new-version-label

Эта команда работает, но приводит к беспорядочной среде, потому что beanstalk обновляет все настройки, но у вас все еще есть базовый EC2 со старым стеком решений на нем. Итак, восстановите среду:

aws elasticbeanstalk rebuild-environment --environment-name my-env-name

Окружающая среда возвращается в норму!

person Nate    schedule 06.05.2016