Гид по технологиям

Миграция баз данных в AWS с помощью Database Migration Service

6 min read Cloud Migration Обновлено 30 Nov 2025
Миграция БД в AWS с DMS — руководство
Миграция БД в AWS с DMS — руководство

TL;DR

DMS — это управляемый сервис AWS для непрерывной или разовой миграции данных между базами. Он синхронизирует изменения на источнике и ускоряет переход на RDS/Aurora/Redshift/DocumentDB без долгих простоев. Для крупных баз используйте DMS; для мелких — иногда достаточно mysqldump и восстановления.

AWS Logo

Быстрые ссылки

  • Использование Database Migration Service от AWS

  • Настройка экземпляра репликации

  • Настройка endpoint’ов и запуск переноса

Использование Database Migration Service от AWS

Если у вас небольшая база, иногда достаточно взять резервную копию схемы и данных и восстановить их в новый RDS-инстанс. Пример команды для MySQL/Percona/MariaDB:

mysqldump

Это эффективно клонирует базу и позволяет быстро переключиться на RDS. Но для больших баз mysqldump часто непрактичен: экспорт может занять дни, и все записи, сделанные в исходной базе после начала дампа, не попадут в файл. В результате вы получите рассинхронизацию — критично для рабочих production-систем.

DMS (Database Migration Service) решает эту проблему: он подключается к источнику и начнёт синхронизацию всех данных в целевую базу в RDS. Изменения в исходной базе, сделанные во время переноса, будут реплицированы в целевую. Даже если перенос займёт много времени, вы сможете переключиться без длительных простоя.

Ключевые моменты:

  • DMS поддерживает непрерывную репликацию (CDC — Change Data Capture) для минимизации простоя.
  • Для переноса DMS использует EC2-инстансы для обработки трафика и логики репликации.
  • Если вы мигрируете в Amazon Aurora, Redshift, DynamoDB или DocumentDB, использование репликационного инстанса может быть бесплатным до шести месяцев; однако сохраняются стандартные AWS-тарiffs за передачу и хранение данных.

Важный термин:

  • DMS — сервис AWS для миграции и репликации данных; CDC означает захват и передачу изменений из журналов транзакций.

Настройка экземпляра репликации

Перейдите в консоль Database Migration Service и нажмите “Create Replication Instance”.

Дайте экземпляру имя и выберите тип инстанса — более быстрые инстансы ускорят репликацию. Выделите место для хранения, которое будет использоваться под логи и кеш.

replication instance settings

Выберите VPC и размер хранилища. Для отказоустойчивости можно развернуть два репликационных экземпляра в разных зонах доступности.

replication instance settings

Если планируете длительный перенос, задайте окно технического обслуживания, чтобы AWS мог обновлять ПО DMS без неожиданного прерывания.

replication instance settings

Нажмите Create и подождите несколько минут, пока экземпляр не запустится.

Настройка endpoint’ов и запуск переноса

В разделе “Endpoints” создайте новый endpoint. Выберите тип “Source” и укажите тип базы данных, адрес, порт, имя пользователя и пароль.

Setting up and configuring endpoints

Повторите процесс для целевого endpoint’а, но выберите RDS-инстанс из списка.

Setting up and configuring the target endpoint

Затем в разделе “Database Migration Tasks” создайте новую задачу: укажите репликационный инстанс, источник и цель. Чтобы сохранять синхронизацию после первоначального копирования, выберите тип миграции «Migrate existing data and replicate ongoing changes».

Create the new task in Task Configuration

После создания задача начнёт миграцию. Статус и прогресс видны в вкладке Tasks в консоли.

Когда DMS не подходит или требует доработки

Important: DMS мощный инструмент, но есть случаи, когда он не покрывает все потребности:

  • Сложные схемы с нестандартными типами данных или функциями (например, пользовательские плагины) могут не корректно переноситься.
  • Хранимые процедуры, триггеры и представления часто требуют ручного порта или адаптации.
  • Большие одноразовые миграции с требованием немедленного переключения (zero-downtime) могут потребовать доп. архитектуры и тестирования.
  • Ограничения пропускной способности сети или строгие политики безопасности могут замедлить или блокировать репликацию.

Альтернативные подходы

  • Полный экспорт/импорт (mysqldump, pg_dump) — прост, но подходит только для небольших или неактивных баз. Пример: mysqldump.
  • Физические снапшоты и восстановление на новом оборудовании/хостинге — полезно при одинаковой версии СУБД и доступе к дисковым снимкам.
  • Коммерческие инструменты миграции (например, сторонние ETL/CDC-решения) — когда требуется сложная трансформация или поддержка специфичных сценариев.

Проверки до запуска

  • Тестовая миграция в изолированной среде: проверить полноту данных и корректность приложения.
  • Проверить сетевую связность, правила Security Group и ACL.
  • Убедиться, что механизмы резервного копирования и отката готовы.
  • Оценить время начальной репликации и пропускную способность.

Шаблон пошагового плейбука (SOP)

  1. Оценка: профилировать объём данных, журналы транзакций, пиковую нагрузку.
  2. Подготовка: создать VPC, Security Groups, IAM-роли для DMS.
  3. Развертывание: создать репликационный инстанс и endpoint’ы.
  4. Тестовая миграция: выполнить миграцию небольшой выборки, проверить консистентность.
  5. Первичная синхронизация: запустить задачу с копированием существующих данных.
  6. CDC: включить репликацию ongoing changes, наблюдать лаг.
  7. Тест переключения: направить трафик тестовой среды на целевую БД, проверять приложение.
  8. Переключение в production: в окно пониженного трафика переключить приложение; при успешности завершить задачу и деактивировать источник.
  9. Откат: иметь план возврата на исходную систему, если нарушения критичны.

Роли и чеклисты

DBA:

  • Проверить целостность схемы и индексов
  • Оценить трансформации типов данных
  • Тестировать процедуры и запросы

Сетевой инженер:

  • Обеспечить нужные Security Groups и VPN/Direct Connect
  • Контролировать пропускную способность и latency

DevOps/Инженер релизов:

  • Создать IaC для DMS и RDS
  • Настроить мониторинг и алерты

Команда безопасности:

  • Проверить шифрование в покое и в транзите
  • Проверить IAM-права и доступы

Безопасность и соответствие требованиям

  • Используйте VPC и приватные endpoints — избегайте публичных подключений к источнику.
  • Шифруйте данные в покое с помощью KMS и в транзите (TLS).
  • Минимизируйте IAM-права: выдавайте DMS только те роли, которые необходимы.
  • Логируйте операции и храните логи для аудита.

Конфигурационные подсказки и нюансы

  • Параллелизм задач: для ускорения можно запустить несколько задач/таблиц параллельно, но следите за нагрузкой на сеть и целевую БД.
  • Подбор инстанса: мониторьте CPU, память и I/O; при необходимости увеличьте тип инстанса.
  • Отказоустойчивость: запуск второго репликационного экземпляра в другой AZ уменьшит риск простоя.

Критерии приёмки

  • Все таблицы и критичные объёмы данных перенесены и проверены на полноту.
  • Лаг репликации (CDC) находится в приемлемых пределах для бизнеса.
  • Приложение прошло smoke-test на целевой БД без ошибок.
  • Производительность целевой базы соответствует SLA или находится в пределах допустимого отклонения.

Контроль рисков и частые ошибки

Риски:

  • Рассинхронизация данных при некорректной настройке CDC.
  • Перегрузка целевой БД из-за одновременной репликации большого числа таблиц.

Митигаторы:

  • Тестовые миграции и валидация данных до переключения.
  • Мониторинг lag’а и ресурсов, постепенное наращивание нагрузки.

Пример валидации данных (минимум)

  • Посчитать рядовые суммы (row counts) для ключевых таблиц на источнике и на цели.
  • Проверить контрольные суммы для наборов строк в выборках.
  • Прогонить критичные запросы и сравнить результаты.

Примечания по приватности и соответствию

Если вы переносите персональные данные (PII), убедитесь, что:

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

Резюме

DMS — удобный инструмент для миграции больших и постоянно изменяющихся баз данных в AWS. Он сокращает простой благодаря CDC и позволяет постепенно переключать нагрузку на RDS или другие целевые хранилища. Тем не менее, перед запуском важно провести оценку, тестовую миграцию и подготовить план отката.

Ключевые рекомендации:

  • Для больших и активных систем используйте DMS с включённым CDC.
  • Тестируйте все нестандартные элементы схемы вручную.
  • Обеспечьте безопасность соединений и минимальные права доступа.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

APC Index Mismatch — как исправить BSOD на Windows
Техподдержка

APC Index Mismatch — как исправить BSOD на Windows

Доступ к Android с разбитым экраном
Android.

Доступ к Android с разбитым экраном

Сброс Samsung при заблокированном телефоне
Мобильные устройства

Сброс Samsung при заблокированном телефоне

Как разогнать монитор через NVIDIA Control Panel
Гайды

Как разогнать монитор через NVIDIA Control Panel

APC_INDEX_MISMATCH: как исправить BSOD в Windows
Инструкции

APC_INDEX_MISMATCH: как исправить BSOD в Windows

Как исправить ошибку Blink 1011
Техническая поддержка

Как исправить ошибку Blink 1011