Как в AWS RDS реализованы резервные копии

«Как в AWS RDS реализованы резервные копии» — вопрос из категории Облачные платформы, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В AWS RDS резервное копирование реализовано через два основных механизма: автоматические бэкапы и ручные снапшоты.

1. Автоматические бэкапы (Automated Backups)

  • Включены по умолчанию для всех движков, кроме Aurora Serverless v1.
  • Периодичность: Полный ежедневный бэкап + непрерывная архивация журналов транзакций (для Point-in-Time Recovery - PITR).
  • Срок хранения: Настраивается от 1 до 35 дней. По истечении срока автоматически удаляются.
  • Хранение: Бэкапы хранятся в S3 с управлением AWS. Снапшоты инкрементальны после первого полного, что экономит место.
  • Восстановление: Можно восстановить инстанс на любой момент времени в пределах периода хранения с точностью до 5 минут.

2. Ручные снапшоты (Manual Snapshots)

  • Создаются вручную через консоль, CLI или API.
  • Хранятся до явного удаления пользователем, не зависят от настройки срока хранения автоматических бэкапов.
  • Полезны для долгосрочного хранения конфигурации перед критическими изменениями (миграция версии, изменение схемы).

Пример создания ручного снапшота через AWS CLI:

aws rds create-db-snapshot 
    --db-instance-identifier my-production-db 
    --db-snapshot-identifier my-db-pre-migration-backup

Восстановление из снапшота создает совершенно новый инстанс RDS.

Ключевые особенности для DevOps:

  • Автоматические бэкапы выполняются в период maintenance window и, как правило, не требуют даунтайма (для большинства движков).
  • PITR критически важен для восстановления после инцидентов типа "ошибочное удаление данных".
  • В Aurora бэкапы и снапшоты работают на уровне кластера (хранилища), а не отдельного инстанса, что делает их более эффективными и быстрыми.
  • Рекомендуется автоматизировать создание ручных снапшотов через AWS Lambda (например, перед автоматическими пайплайнами развертывания) и настроить их копирование в другой регион для DR (Disaster Recovery).