<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

Настройка жизненного цикла объектов в S3

При использовании S3 может потребоваться управлять жизненным циклом объектов, чтобы оптимизировать использование ресурсов и избежать переполнения хранилища. Для этого можно настроить правила жизненного цикла (Lifecycle rules), которые автоматически удаляют объекты через заданное количество дней.

Рассмотрим, как настроить правила жизненного цикла для объектов в S3-бакете через панель управления и при помощи утилиты AWS CLI.

Через панель управления

Для создания правил жизненного цикла в панели управления бакетом перейдите во вкладку «Настройки». В строке «Жизненный цикл» нажмите на кнопку «Изменить».

Scr 20250818 Kpjm

Для создания нового правила нажмите на кнопку «Добавить правило». В открывшемся окне укажите:

  • Префикс объекта. Например, при указании префикса logs/ правило будет работать только для объектов в «папке» logs.

  • Действие. Выберите, что должно произойти с объектами, и укажите, через сколько дней будет выполнено действие. Доступно три варианта:

    • Удалить любой — правило для любого объекта в бакете.

    • Удалить нетекущий — правило, устанавливаемое для старых версий объектов. Актуально при включенном версионировании объектов.

    • Прервать незавершенную загрузку — правило для автоматического удаления незавершенных мультипарт-загрузок.

Scr 20250818 Kpys

Управление существующими правилами

Просмотреть все существующие правила жизненного цикла можно также в панели управления бакетом во вкладке «Настройки», нажав на кнопку «Изменить» в строке «Жизненный цикл».

В окне будут отображены все существующие правила, в том числе добавленные сторонними способами, например при помощи AWS CLI.

Помимо просмотра существующих правил, вы можете удалить правило, нажав на иконку с корзиной, и временно отключить правило, переключив переключатель.

Scr 20250818 Kxki

Нажав на необходимое правило, откроется окно редактирования, в котором можно изменить настройки.

При помощи AWS CLI

Создание файла с правилами жизненного цикла

Чтобы настроить удаление файлов через определённое время, создайте файл с конфигурацией правил жизненного цикла. Например, если вам нужно хранить файлы в папке logs только один день, создайте файл lifecycle.json со следующим содержимым:

{
  "Rules": [
	{
  	"Status": "Enabled",
  	"Filter": {"Prefix": "logs/"},
  	"Expiration": {"Days": 1}
	}
  ]
}
  • Prefix: указывает папку (или префикс), к которой будет применяться правило. В этом примере файлы из папки logs/ будут автоматически удаляться через один день.

  • Expiration: задаёт срок хранения файлов в днях. Здесь указано, что файлы будут удаляться через один день после загрузки.

Добавление нескольких правил

Вы можете добавить несколько правил для разных папок или файлов. Например, если у вас есть другая папка logs2, где файлы должны храниться два дня, просто добавьте дополнительное правило:

{
  "Rules": [
	{
  	"Status": "Enabled",
  	"Filter": {"Prefix": "logs/"},
  	"Expiration": {"Days": 1}
	},
	{
  	"Status": "Enabled",
  	"Filter": {"Prefix": "logs2/"},
  	"Expiration": {"Days": 2}
	}
  ]
}

Теперь файлы в папке logs/ будут храниться один день, а в папке logs2/ — два дня.

Загрузка правил жизненного цикла в бакет

После создания файла с правилами, загрузите его в ваш S3-бакет с помощью следующей команды:

aws s3api put-bucket-lifecycle-configuration --bucket имя_бакета --lifecycle-configuration file://lifecycle1.json --endpoint-url https://s3.twcstorage.ru

Эта команда применит указанные правила к вашему бакету, и файлы будут автоматически удаляться по истечении заданного срока.

Проверка установленных правил

Чтобы убедиться, что правила жизненного цикла были успешно загружены, выполните команду:

aws s3api get-bucket-lifecycle-configuration --bucket имя_бакета --endpoint-url https://s3.twcstorage.ru

Эта команда выведет текущие правила, установленные для вашего бакета.

Удаление правил

Если вам нужно удалить все существующие правила жизненного цикла для бакета, выполните следующую команду:

aws s3api delete-bucket-lifecycle --bucket имя_бакета --endpoint-url https://s3.twcstorage.ru

Эта команда удалит все правила жизненного цикла, и файлы больше не будут автоматически удаляться.

Была ли статья полезна?
Ваша оценка очень важна
Комментарии 2
Евгений
18.06.2025, 21:22

В примере lifecycle.jso лишняя запятая "Expiration": {"Days": 1} },

Команда Timeweb Cloud
Команда Timeweb Cloud
18.08.2025, 11:16

Добрый день!

Спасибо за замечание! Лишнюю запятую удалили.