#amazon-web-services #boto3 #amazon-elastic-beanstalk
#amazon-веб-службы #boto3 #amazon-elastic-beanstalk
Вопрос:
Я хочу завершить работу одной из моих сред Elastic Beanstalk в полночь и восстанавливать ее утром каждый день.
Итак, я последовал этому руководству по настройке функций lambda и событий 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:
Завершите работу вашей среды Elastic Beanstalk и вызовите функцию восстановления boto3 с помощью EnvironmentId
вместо EnvironmentName
Это должно сработать. Я думаю, что EnvironmentName используется только для перестроения в среде Elastic Beanstalk, не завершенной
Вы также можете перестроить завершенные среды в течение шести недель (42 дней) после их завершения. При перестроении Elastic Beanstalk пытается создать новую среду с тем же именем, идентификатором и конфигурацией.
Просто остерегайтесь редкого случая
Если вы не используете свое собственное доменное имя с завершенной средой, среда использует поддомен elasticbeanstalk.com. Эти поддомены являются общими в регионе Elastic Beanstalk. Таким образом, они могут использоваться в любой среде, созданной любым клиентом в том же регионе. В то время как ваша среда была завершена, другая среда могла использовать ее поддомен. В этом случае перестроение завершится неудачей.