Управление окружениями и утверждёнными версиями
Автоматизация развёртывания на AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Один код, три окружения
Продвижение версии Lambda из staging в prod
Тот же артефакт, без пересборки
Один вызов API обновляет алиас prod — код не меняется
Это принцип «собрать один раз, развернуть много раз»
Утверждённые версии по каждому сервису
Lambda
: алиасы указывают на версии функций
ECR + ECS
: теги образов + ревизии определений задач
API Gateway
: этапы с развёртываниями
S3
: версии объектов в бакетах с включённым версионированием
Как работают алиасы Lambda
Версия — это
неизменяемый снимок
функции
Алиас — это
именованный указатель
на версию
Чтобы
продвинуть
версию, обновите алиас
Алиасы поддерживают
взвешенную маршрутизацию
для canary-релизов
Теги ECR и определения задач ECS
Образы ECR
неизменяемы для каждого digest
Тег — это
перемещаемая метка
на digest
Определения задач ECS ссылаются на
image:tag
или
@digest
Для production
фиксируйте по digest
, чтобы закрепить точную версию
Этапы API Gateway кратко
Этап — это
развёртывание API
У каждого этапа есть свой URL и
история развёртываний
Чтобы продвинуть версию,
разверните API
на следующем этапе
Переменные этапа хранят
значения времени выполнения для каждого окружения
Продвижение версии
Соберите артефакт
один раз
Проверьте его в
dev
, затем в
staging
Обновите алиас или тег prod —
без пересборки
Один и тот же артефакт работает во всех окружениях
Отдельное хранение конфигурации
Код остаётся неизменным
во всех окружениях
Конфигурация
содержит различия между dev и prod
Переменные этапа, переменные окружения,
Parameter Store
,
Secrets Manager
Никогда не прописывайте значения окружения жёстко в артефакте
Давайте потренируемся!
Автоматизация развёртывания на AWS
Preparing Video For Download...