Как завершить и восстановить среду Elastic Beanstalk в запланированное время? - PullRequest
1 голос
/ 03 апреля 2019

Я хочу завершить одну из своих сред Elastic Beanstalk в полночь и восстанавливать ее утром каждый день.

Поэтому я следовал этому руководству для настройки лямбда-функций и событий CloudWatch.

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

При запуске rebuild_environment я получилNo Environment found for EnvironmentName = 'my-eb-environment-name' ошибка.Это потому, что my-eb-environment-name уже было прекращено в полночь.

Как правильно восстановить прерванную среду EB, используя boto3?

1 Ответ

1 голос
/ 03 апреля 2019

Завершите работу среды Elastic Beanstalk и вызовите функцию перестроения boto3 с помощью EnvironmentId вместо EnvironmentName

Это должно работать.Я думаю, что EnvironmentName используется для перестроения только в не прекращенной среде Elastic Beanstalk

Вы также можете восстановить завершенные среды в течение шести недель (42 дней) после их завершения.При перестройке Elastic Beanstalk пытается создать новую среду с тем же именем, идентификатором и конфигурацией.

Просто остерегайтесь редкого случая

Если вы не используете свое собственное доменное имя в вашей завершенной среде, среда использует поддомен эластичных доменов.Эти субдомены являются общими в регионе Elastic Beanstalk.Следовательно, они могут использоваться любой средой, созданной любым клиентом в том же регионе.Пока ваша среда была прервана, другая среда может использовать свой поддомен.В этом случае перестроение завершится неудачей.

...