Короткий ответ
Lifecycle-политика — набор правил, которые автоматически переносят объекты в более дешёвый класс хранения или удаляют их по истечении заданного времени, без ручного вмешательства; используется для снижения стоимости хранения редко используемых или устаревших данных.
Как это работает подробнее
правило задаёт условие (возраст объекта, префикс, тег) и действие (перевести в холодный класс или удалить); провайдер применяет правило автоматически в фоне по расписанию.
Пример кода
policy.json
{
"Rules": [{
"ID": "archive-old-logs",
"Filter": {"Prefix": "logs/"},
"Status": "Enabled",
"Transitions": [{"Days": 30, "StorageClass": "GLACIER"}],
"Expiration": {"Days": 365}
}]
}Что использовать на практике
- Рекомендация. логи и бэкапы часто переводят в холодное хранилище через 30–90 дней и удаляют через 1–2 года согласно требованиям хранения данных; важно заранее учитывать время и стоимость восстановления из архивного класса.
- Проверка. через 30 дней объекты под префиксом
logs/должны сменить класс хранения на архивный, что видно в выводеlist-objectsпо полю StorageClass.
Подводные камни
- Риск. переносить в архивный класс данные, которые нужно читать часто, резко увеличивая стоимость за счёт платы за выборку
- Риск. не тестировать правило на небольшом префиксе перед применением ко всему bucket
- Риск. забыть, что удаление по lifecycle необратимо без включённого версионирования.