Beanstalk Flashcards
Как мигрировать весь Beanstalk Environment в другой аккаунт
- Создать
saved configuration
в первом аккаунте - Скачать его на ЛОКАЛЬНЫЙ комп
- Внести изменения под второй аккаунт
- Загрузить в S3 бакет второго аккаунта
- Во втором аккаунте создать Beanstalk Environment из “Saved Configurations”
НЕправильно решение
экспортировать из первого аккаунта → импортировать во втором
(фичи ~~Beanstalk Export-Import Configuration~~ НЕ существует)
Beanstalk деплоит приложение на множество EC2 instance’ов
Деплоймент тратит много времени на resolving dependencies
Какие есть варианты решения?
Где Beanstalk хранит source-code своих приложений?
1) Golden AMI со статическими зависимостями
2) user data для динамических зависимостей
3) Бандлить dependencies вместе с source-code в рамках CodeBuild
При этом dependencies должны быть скачены и установлены в процессе билда,
а НЕ в процессе деплоймента
Source-code - как и логи - Beanstalk хранит в S3 (промежуточная “стоянка” кода)
Обновлять свой Beanstalk можно через
Обновить Environment Platform Version
Это стандартный инструмент
Какие у него недостатки?
Какая есть альтернатива?
Стандартный встроенный инструмент (Environment Platform Version
update) ограничен
- ❌ только до LATEST версии
- ❌ без изменений в runtime
, web server
, application server
- ❌ то есть он НЕ умеет обновить Java 7 → Java 8
Альтернатива - Сделать Blue/Green Deployment
- ✅ обновить runtime, web server, application server
- ✅ до какой-то другой версии платформы
- ✅ нет downtime’а
cron.yaml
Зачем нужен этот файл?
Что ещё нужно при его использовании?
Организовать repetitive scheduled асинхронные задачи в Beanstalk
Worker Environment в Beanstalk
Dockerrun.aws.json
Зачем нужен этот файл?
С чем его нельзя путать?
Multi-Container platform - это фича Beanstalk, позволяет иметь НЕСКОЛЬКО контейнеров на EC2
НЕ путать с Multi Architecture, которую НЕ поддерживает Lambda Container Image
env.yaml
Что содержит этот файл?
Он кастомный или предопределенный?
- environment name
- stack
- environment links
Предопределённый, НЕ кастомный