Многие команды относятся к AMI как к чему-то, что создаётся один раз и забывается. Проблема всплывает через месяцы: десятки образов без тегов, снимки EBS, о которых никто не знает, можно ли их удалять, и счёт, растущий без объяснений. Управлять жизненным циклом AMI — значит относиться к нему как к программному артефакту с рождением, версиями, зрелостью, устареванием и выводом из обращения.
Хорошее управление образами снижает затраты, повышает безопасность — никто по ошибке не запустит непропатченный образ годичной давности — и облегчает аудиты соответствия.
Этап 1 — Версионирование со смыслом
Версионирование — это позвоночник. Без него «последний хороший AMI» — это разговор в коридоре, а не факт. Мы рекомендуем читаемую и последовательную схему.
- Версионированное имя: например,
imaxe-ubuntu22-nginx-2026.07.1— продукт, база и календарная версия. - Обязательные теги:
Version,GitCommit,BuildDate,Owner,Environment,CISLevel,Status. - Неизменяемость: одна версия — один артефакт. Никогда не меняйте опубликованный AMI; создавайте новую версию.
- Центральный реестр: используйте AWS Systems Manager Parameter Store, чтобы хранить ID «текущего продакшн-AMI», а ваши Launch Templates читали его по ссылке.
Этап 2 — Сквозное шифрование
Данные AMI живут в снимках EBS. Если они не зашифрованы, любая плохо управляемая копия — потенциальная утечка. Шифрование должно быть нормой, а не исключением.
- Шифрование по умолчанию: включите EBS encryption by default на уровне аккаунта и региона.
- Собственные ключи (CMK): используйте свой ключ KMS вместо ключа AWS по умолчанию, чтобы контролировать права и ротацию.
- Копирование — это перешифрование: копируя AMI в другой регион или аккаунт, воспользуйтесь моментом и перешифруйте его ключом назначения.
- Делитесь через KMS grants: если раздаёте AMI другим аккаунтам, выдавайте доступ к ключу минимальными политиками.
Этап 3 — Устаревание: предупредить перед удалением
AWS позволяет пометить AMI как устаревший (deprecated) с датой. С этого момента он перестаёт появляться в поиске по умолчанию, но продолжает работать для тех, кто ссылается на него явно. Это цивилизованный промежуточный шаг между «действующим» и «удалённым»: вы предупреждаете, даёте запас на миграцию и не ломаете развёртывания.
Этап 4 — Автоматическая очистка (и скрытая стоимость снимков)
Вот где деньги. Когда вы удаляете AMI, связанные с ним снимки EBS автоматически не удаляются. Это причина номер один счетов за хранилище, растущих загадочным образом. Политика вывода должна снимать регистрацию AMI, а затем удалять его осиротевшие снимки.
- Политика хранения: оставляйте N последних версий (например, три) и выводите остальные.
- Автоматизируйте средствами облака: Amazon Data Lifecycle Manager (DLM) умеет управлять созданием и удалением образов по политике.
- Охотьтесь на осиротевшие снимки: периодически проверяйте снимки без связанного AMI и удаляйте их.
- Никогда не удаляйте вслепую: убедитесь, что ни один активный инстанс или Launch Template не зависит от AMI, прежде чем выводить его.
Сводная таблица жизненного цикла
| Этап | Ключевое действие | Инструмент или сервис |
|---|---|---|
| Создание | Воспроизводимая сборка и теги | Packer / EC2 Image Builder |
| Шифрование | Снимки, зашифрованные CMK | AWS KMS + EBS default encryption |
| Раздача | Копия и перешифрование между регионами/аккаунтами | AMI copy / AWS RAM |
| Действующий | Реестр текущего ID | SSM Parameter Store |
| Устаревание | Пометка устаревшим с датой | ec2 enable-image-deprecation |
| Вывод | Снятие регистрации и удаление снимков | DLM / плановые скрипты |
Шесть этапов управления AMI и как их автоматизировать.
Метрики, за которыми стоит следить
- Средний возраст используемых AMI: чем меньше, тем лучше пропатчено.
- Количество осиротевших снимков и их ежемесячная стоимость.
- Доля зашифрованных AMI с целью 100 %.
- Время от критической CVE до нового опубликованного образа — MTTR патчей.
Часто задаваемые вопросы
Почему счёт за EBS растёт, если я уже удалил AMI?
Потому что снятие регистрации AMI не удаляет его снимки. Их нужно удалять явно. Регулярно проверяйте осиротевшие снимки; обычно это самая крупная скрытая статья затрат.
Безопасно ли делиться зашифрованным AMI с другим аккаунтом?
Да, если выдать доступ к ключу KMS отдельным grant с минимальными правами. Без такого доступа аккаунт назначения не сможет запустить образ.
Сколько версий AMI хранить?
Зависит от потребности в откате и требований соответствия, но хранение двух-четырёх свежих версий обычно даёт хороший баланс между безопасностью отката и затратами.
В imaxe.cloud мы проектируем образы с версионированием и шифрованием с самого начала, чтобы их жизненный цикл был предсказуемым и проверяемым.



