Эластичные ловушки beanstalk не создаются при первом "развертывании eb" или в новых экземплярах EC2
Со ссылкой на документы,
- http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/custom-platform-hooks.html
- http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
Считайте, что у меня есть.ebextension/03_hooks.config, который имеет
commands:
create_app_deploy_post_dir:
command: "mkdir -p /opt/elasticbeanstalk/hooks/appdeploy/post"
ignoreErrors: true
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/99-post-deploy-test.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
eventHelper.py --msg "Successfully executing post deployment hook." --severity INFO
Файл не создается и не выполняется во время самого первого развертывания, то есть когда экземпляр EC2 добавляется во время создания env или автоматического масштабирования. Новый экземпляр практически бесполезен и становится полезным только при следующей принудительной повторной установке приложения eb deploy
или разверните zip из Версии приложений.
наблюдение
- Проверяется, созданы ли файлы во вновь добавленном экземпляре EC2, но не созданы.
- Команды, приведенные в
commands
Директива также не выполняется, так как я проверил журналы EB. - Что дает мне ощущение, что эти две директивы игнорируются при первом развертывании во вновь добавленном экземпляре.
Реальный вариант использования: у меня есть сценарии ловушек для написания и запуска / перезапуска nginx и uwsgi в appdeploy enack и post. Таким образом, без их выполнения в новых экземплярах будет прерывистый 502, возвращаемый до следующего развертывания.