Хранение и резервные копии

Object Lock

1 мин чтения

Object Lock хранит объекты в режиме WORM (write once, read many — однократная запись, многократное чтение): заблокированный объект нельзя удалить или перезаписать до окончания срока хранения. Это защищает резервные копии от случайного удаления и от шифровальщиков.

В примерах используется AWS CLI, настроенный для UzCloud. Замените my-bucket на имя своего бакета.

Важно

Object Lock можно включить только при создании бакета, и отключить его потом нельзя. Он автоматически включает версионирование.

Создание бакета с Object Lock

В консоли: при создании бакета включите Bucket Versioning и Object Locking.

Через AWS CLI:

aws s3api create-bucket --bucket my-backups --object-lock-enabled-for-bucket

Режимы хранения

  • GOVERNANCE — объекты защищены, но пользователь со специальным правом может снять блокировку с --bypass-governance-retention. Подходит для большинства случаев.
  • COMPLIANCE — ни один пользователь не может удалить объект или сократить срок до его окончания, включая владельца аккаунта.

Внимание

В режиме COMPLIANCE заблокированные объекты хранятся и оплачиваются до конца срока, даже если они больше не нужны. Начинайте с GOVERNANCE и коротких сроков.

Срок хранения по умолчанию

Все новые объекты в бакете будут блокироваться на указанный срок:

aws s3api put-object-lock-configuration --bucket my-backups \
  --object-lock-configuration \
  'ObjectLockEnabled=Enabled,Rule={DefaultRetention={Mode=GOVERNANCE,Days=30}}'

aws s3api get-object-lock-configuration --bucket my-backups

Блокировка отдельного объекта

aws s3api put-object-retention --bucket my-backups --key db/2026-11-01.sql.gz \
  --retention 'Mode=GOVERNANCE,RetainUntilDate=2026-12-31T00:00:00Z'

aws s3api get-object-retention --bucket my-backups --key db/2026-11-01.sql.gz

Legal hold блокирует объект бессрочно — до снятия блокировки:

aws s3api put-object-legal-hold --bucket my-backups --key db/2026-11-01.sql.gz \
  --legal-hold Status=ON

Совет

См. также: