Как использовать AWS DMS из одного региона в другой? - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь использовать AWS DMS для перемещения данных из исходной базы данных (AWS RDS MySQL) в парижском регионе (eu-west-3) в целевую базу данных (AWS Redshift) в ирландском регионе (eu-west- 1) Цель состоит в том, чтобы постоянно копировать текущие изменения.

Я сталкиваюсь с такими ошибками:

An error occurred (InvalidResourceStateFault) when calling the CreateEndpoint operation: The redshift cluster datawarehouse needs to be in the same region as the current region. The cluster's region is eu-west-1 and the current region is eu-west-3.

В документации сказано:

Единственное требование для использования AWS DMS - одна из ваших конечных точек должна быть на службе AWS.

Так что то, что я пытаюсь сделать, должно быть возможным. На практике это кажется недопустимым.

Как использовать AWS DMS из одного региона в другой? В каком регионе должны быть мои конечные точки? В каком регионе должна быть моя задача репликации? Мой экземпляр репликации должен находиться в том же регионе, что и экземпляр RDS MySQL, потому что он должен совместно использовать подсеть

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Я нашел работу, которую сейчас тестирую.

Я объявляю «Postgres» как тип двигателя для кластера Redshift. Это заставляет AWS DMS думать, что это внешняя база данных, и AWS DMS больше не проверяет регионы.

Я думаю, что это приведет к снижению производительности, потому что DMS, вероятно, будет передавать данные в Redshift, используя INSERT вместо команды COPY.

0 голосов
/ 07 сентября 2018

В настоящее время Redshift должен находиться в том же регионе, что и экземпляр репликации.

Кластер Amazon Redshift должен находиться в той же учетной записи AWS и тот же регион AWS, что и экземпляр репликации.

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html

Таким образом, необходимо создать экземпляр репликации в области Redshift внутри VPC Затем используйте VPC peering , чтобы разрешить экземпляру репликации подключаться к VPC экземпляра MySQL в другом регионе

https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html

0 голосов
/ 03 сентября 2018

AWS предоставляет этот технический документ под названием «Перенос ресурсов AWS в новый регион AWS», обновленный в прошлом году. Возможно, вы захотите связаться с их поддержкой, но идея состоит в том, чтобы переместить вашу RDS в другую RDS в соответствующем регионе, прежде чем переходить на Redshift. В техническом документе они предоставляют альтернативный способ миграции RDS (без DMS, если вы не хотите использовать его по какой-либо причине):

  1. Остановите все транзакции или сделайте моментальный снимок (однако изменения по истечении этого времени будут потеряны и, возможно, их придется повторно применить к целевой экземпляр БД Amazon RDS).
  2. Используя временный экземпляр EC2, скопируйте все данные из Amazon RDS в файл:
    • Для MySQL используйте инструмент mysqldump. Вы можете захотеть сжать этот дамп (см. bzip или gzip).
    • Для MS SQL используйте bcp утилита для экспорта данных из экземпляра Amazon RDS SQL DB в файлы. Вы можете использовать мастер создания и публикации сценариев SQL Server для создавать сценарии для всей базы данных или только для выбранных объектов.36
    • Примечание. Amazon RDS не поддерживает файл резервной копии Microsoft SQL Server. восстанавливает.
    • Для Oracle используйте утилиту экспорта / импорта Oracle или Функция Data Pump (см. http://aws.amazon.com/articles/AmazonRDS/4173109646282306).
    • Для PostgreSQL, вы можете использовать команду pg_dump для экспорта данных.
  3. Скопируйте эти данные в экземпляр в целевом регионе, используя стандартные инструменты, такие как CP, FTP или Rsync.
  4. Запустите новый экземпляр БД Amazon RDS в целевом регионе, используя новую группу безопасности Amazon RDS.
  5. Импорт сохраненных данных.
  6. Убедитесь, что база данных активна и ваши данные присутствуют.
  7. Удалить старый экземпляр БД Amazon RDS в исходном регионе
...