Подтвердить что ты не робот

Как предотвратить простои во время внедрения AWS Elastic Beanstalk новой версии приложения?

Мое понимание Elastic Beanstalk заключается в том, что при развертывании новой версии вашего приложения он развертывает его в Amazon EC2 по одному за раз (если у вас более одного). Однако даже при минимальном количестве двух экземпляров мое приложение берет на себя небольшое количество времени простоя, когда я загружаю новый .war при его развертывании, как если бы он обновлял их одновременно. Есть ли способ, которым я могу обеспечить отсутствие времени простоя и что один экземпляр полностью обновляется и принимает запросы до следующего запуска: вот как выглядят события. Обратите внимание, что это приложение имеет нулевую нагрузку, поэтому с производственным трафиком оно будет только ухудшаться.

INFO
Environment update completed successfully.

INFO
New application version was deployed to running EC2 instances.

ERROR
The application did not respond at the health check URL.

INFO
Waiting for 8 seconds while EC2 instances download the updated application version.

INFO
Deploying version SomethingMore to 2 instance(s).
4b9b3361

Ответ 1

Чтобы достичь этой цели в Elastic Beanstalk, вам необходимо расширить процедуру развертывания, чтобы облегчить несколько сред (см. AWS Elastic Beanstalk Components):

Среда - это версия, которая развертывается в ресурсах AWS. каждый среда работает только с одной версией, однако вы можете запускать те же версии или разных версий во многих средах одновременно. [...] Для больше информации об окружающей среде и ресурсах, которые создан, см. Архитектурный обзор. [акцент мой]

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

Так как AWS Elastic Beanstalk выполняет обновление на месте, когда вы обновите свои версии приложений, вы испытаете некоторое время простоя. Однако можно избежать этого простоев, заменив CNAME для вашей среды. В этом разделе рассказывается, как выполнить Обмен CNAME с помощью консоли управления AWS, командной строки интерфейс или API. [акцент мой]

Ответ 2

Я знаю, что это старый вопрос, но для людей, ищущих работу в Google (например, я), Elastic Beanstalk выпустила развертывание развертывания приложений на сегодня (11/2/2014).

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.rolling-version-deploy.html?sc_ichannel=em&sc_icountry=global&sc_icampaigntype=launch&sc_icampaign=em_125873140&sc_idetail=em_14124901705&ref_=pe_411040_125873140_8

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