Вопрос: Можно ли использовать AWS Database Migration Service для преобразования кода Oracle PL/SQL и SQL Server T-SQL в хранимые процедуры Amazon Aurora или MySQL и PostgreSQL?

Да, частью AWS Database Migration Service является бесплатный инструмент AWS Schema Conversion Tool (SCT), который автоматизирует преобразование кода Oracle PL/SQL или SQL Server T-SQL в эквивалентный код Amazon Aurora/MySQL-диалекта SQL или в эквивалентный PL/pgSQL код PostgreSQL. Если отдельные фрагменты не могут быть автоматически преобразованы в код целевого языка, SCT строго документирует все места, которые разработчику приложения потребуется переписать вручную.

Начать работу с AWS Database Migration Service

Создать бесплатный аккаунт

Вопрос: Как начать работу с AWS Database Migration Service?

Начать работу с AWS Database Migration Service можно быстро и просто. Большинство задач репликации данных можно настроить в пределах 10 минут. Перейдите в раздел «AWS Database Migration Service» в Консоли управления AWS и запустите мастер начала миграции. Укажите исходный и целевой адрес/URL сервера, выберите существующий инстанс репликации или создайте новый, после чего примите правила преобразования схемы по умолчанию или определите свои собственные правила преобразования. Репликация данных начнется сразу по завершении работы мастера.

Вопрос: Можно ли использовать AWS Database Migration Service не только для одноразовой миграции, но и для непрерывной репликации данных?

Да, AWS Database Migration Service можно использовать как для разового переноса данных в БД RDS и БД на основе EC2, так и для непрерывной репликации данных. AWS Database Migration Service будет фиксировать изменения в исходной БД и применять их в целевой БД, последовательно осуществляя транзакции. Можно осуществлять непрерывную репликацию данных из вашего ЦОД в базы данных в AWS или в обратном направлении, реплицируя данные из БД в AWS в БД вашего ЦОД. Постоянную и непрерывную репликацию данных можно выполнять между однородными или неоднородными БД. Для обеспечения высокой доступности в процессе репликации рекомендуется использовать несколько зон доступности.

Вопрос: Какая существует связь между AWS Database Migration Service (DMS) и AWS Schema Conversion Tool (SCT)?

DMS и SCT работают вместе, чтобы обеспечить миграцию баз данных и поддержку действующих репликаций (например, для заполнения витрин данных, синхронизации систем и т. д.). SCT может копировать схемы баз данных для однородных миграций и преобразовывать их для выполнения неоднородных миграций. Поддерживаются схемы преобразований между БД, например Oracle в PostgreSQL, или между хранилищами данных, например Netezza в Amazon Redshift.

Как только для пустого целевого объекта создана необходимая схема, можно использовать DMS или SCT для переноса данных. Выбор инструмента зависит от объема данных и/или поддерживаемых ядер. Традиционно DMS используется для переноса небольших реляционных нагрузок (менее 10 ТБ) и MongoDB, в то время как SCT используется прежде всего для миграции рабочих нагрузок, связанных с большими хранилищами данных. При этом DMS поддерживает непрерывную репликацию для обеспечения синхронизации целевого объекта с источником, а SCT – нет.

Вопрос: Какие исходные и целевые БД поддерживает AWS Database Migration Service?

AWS Database Migration Service (DMS) поддерживает целый ряд однородных и неоднородных вариантов репликации данных.

При этом либо исходная, либо целевая БД (либо обе) должны располагаться в RDS или в EC2. Репликация между двумя локальными БД не поддерживается.

Вопрос: Какие цели и источники поддерживает AWS Schema Conversion Tool?

AWS Schema Converstion Tool (SCT) поддерживает целый ряд вариантов преобразования баз данных и хранилищ. С их полным списком можно ознакомиться по ссылке. Обратите внимание, что SCT можно применять для следующих задач.

  • Копирование схемы БД из источника в целевой объект.
  • Преобразование схемы базы данных или хранилища.
  • Анализ базы данных для оценки сложности преобразования.
  • Анализ базы данных для определения любых возможных ограничений, которые могут помешать работе в среде Amazon RDS.
  • Анализ базы данных для определения возможности понижения уровня требуемой лицензии.
  • Преобразование встроенного SQL-кода приложения.
  • Миграция данных из хранилища в Amazon Redshift.

Вопрос: Почему рекомендуется использовать AWS Database Migration Service, а не решение репликации под управлением пользователя?

AWS Database Migration Service очень прост в использовании. Задачи репликации могут быть настроены за считаные минуты, а не за часы или дни, как обычно бывает с решениями репликации под управлением пользователя, которые необходимо устанавливать и настраивать. AWS Database Migration Service отслеживает выполнение задач репликации, сбои в работе сети и узлов, при этом автоматически осуществляет замену узла в том случае, если его нельзя исправить. Пользователям AWS Database Migration Service не нужно выделять избыточные ресурсы, вкладывать средства в дорогое оборудование и ПО для репликации, как обычно происходит при использовании решений под управлением пользователя. AWS Database Migration Service предлагает пользователям все преимущества цен по требованию и масштабирования инфраструктуры репликации в сторону увеличения или уменьшения, в зависимости от нагрузки. При репликации данных AWS Database Migration Service плотно взаимодействует с инструментом AWS Schema Conversion Tool, упрощая выполнение проектов, связанных с миграцией неоднородных БД.

Вопрос: Какова последовательность основных действий при миграции БД с помощью AWS Database Migration Service?

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

Вопрос: Отличаются ли эти действия от тех, которые выполняются при непрерывной репликации данных?

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

Вопрос: Можно ли наблюдать за ходом выполнения задания, связанного с миграцией БД?

Да. У AWS Database Migration Service есть разнообразные метрики, отображаемые в Консоли управления AWS. Они обеспечивают полное наблюдение за процессом репликации данных, предоставляя диагностические данные и данные производительности для каждой точки в конвейере репликации. AWS Database Migration Service также интегрирован с другими сервисами AWS, например CloudTrail и CloudWatch Logs. Кроме того, клиенты могут использовать API AWS Database Migration Service и интерфейс командной строки для интеграции со своими существующими инструментами или создания настраиваемых инструментов мониторинга для решения своих узкоспециальных задач.

Вопрос: Как интегрировать AWS Database Migration Service с другими приложениями?

AWS Database Migration Service предоставляет соответствующий API, который позволяет создавать задачи репликации непосредственно из среды разработки, а также с помощью сценариев запускать эти задачи в запланированное время в течение дня. API сервиса и интерфейс командной строки позволяет разработчикам и администраторам БД автоматизировать процесс создания, перезапуска и завершения задач репликации, а также управления ими.

Вопрос: Можно ли реплицировать данные из зашифрованных источников данных?

Да, AWS Database Migration Service может выполнять чтение данных из зашифрованных БД и запись в них. AWS Database Migration Service подключается к адресам/URL ваших БД на уровне интерфейса SQL. Если вы используете функции прозрачного шифрования данных Oracle или SQL Server, то AWS Database Migration Service сможет извлечь расшифрованные данные из таких исходных БД и реплицировать их на целевые БД. То же самое относится к шифрованию на уровне хранения. Если у AWS Database Migration Service будет достаточно данных для доступа к исходной БД, он сможет подключаться к исходной БД и передавать данные (в расшифрованном виде) в целевую БД. Для обеспечения конфиденциальности вашей информации рекомендуется использовать шифрование данных при хранении в целевой БД. Если вы используете шифрование на уровне приложений, данные будут передаваться через AWS Database Migration Service как есть, в зашифрованном формате, а затем записываться в целевую БД.

Вопрос: Можно ли осуществить перенос схемы БД с помощью AWS Database Migration Service?

Чтобы быстро перенести схему БД на ваш целевой инстанс, можно воспользоваться функцией Basic Schema Copy сервиса AWS Database Migration Service. Функция Basic Schema Copy автоматически создаст таблицы и первичные ключи на целевом инстансе, если на нем еще нет таблиц с такими же именами. Функция Basic Schema Copy отлично подходит для осуществления тестовых миграций или при миграции между разными БД, например из Oracle в MySQL или из SQL Server в Oracle. Basic Schema Copy не осуществляет перенос вторичных индексов, внешних ключей и хранимых процедур. Если требуется возможность настраивать процесс миграции схемы (например, когда осуществляется перенос рабочей БД, при этом нужно переместить хранимые процедуры и вторичные объекты БД), для осуществления как однородных, так и неоднородных миграций можно использовать инструмент AWS Schema Conversion Tool. В случае однородных миграций можно также использовать собственные инструменты экспорта схемы исходного ядра, такие как (1) мастер импорта и экспорта SQL Server Management Studio, (2) инструмент экспорта БД Oracle SQL Developer или сценарий экспорта с использованием пакета dbms_metadata, (3) мастер миграции MySQL Workbench.

Вопрос: Можно ли использовать DMS для двунаправленной репликации?

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

Вопрос: Сколько стоит использование сервиса DMS?

Подробные сведения о ценах можно найти на странице Цены на DMS. Ознакомьтесь также с информацией на странице DMS бесплатно, в соответствии с которой при миграции баз данных в Aurora можно использовать DMS бесплатно в течение 6 месяцев.