AWS Соединение конечной точки DMS с Redshift не работает - PullRequest
1 голос
/ 18 июня 2020

Я сейчас пытаюсь настроить репликацию с RDS (MySQL) на Redshift через DMS. Конечная точка для RDS работает, а для Redshift - нет. Вот моя настройка:

VP C

RDS, DMS и Redshift работают в одном VP C и используют одни и те же подсети.

Роли

Я реализовал необходимые роли для DMS (dms-vpc-role, dms-cloudwatch-logs-role) и специфицированную c одну для Redshift (dms-access-for-endpoint) в соответствии с AWS документация.

Группы безопасности

Настройка группы безопасности такая же. И RDS, и Redshift имеют две группы безопасности (пустую и входящую, ссылающуюся на пустую). Входящие правила группы безопасности входящего трафика следующие, исходящие правила по умолчанию разрешают все исходящие соединения.

RDS:

enter image description here

Redshift:

enter image description here

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

Экземпляр репликации имеет обе группы безопасности. Я полагал, что самому экземпляру репликации потребуется отдельная группа безопасности, однако мне не удалось создать рабочую.

Что я сделал перед написанием этого поста?

Я протестировал следующий сценарий ios:

  • Используя VP по умолчанию C группа безопасности, которая разрешает весь входящий и исходящий трафик c -> работают обе конечные точки
  • Создана группа безопасности с входящими правилами на TCP 3306 (RDS) и 5439 (Redshift) с подключениями к RDS и упомянутые выше группы безопасности Redshift -> RDS работает, Redshift - нет

И я получаю следующую ошибку, которую я интерпретирую как DMS, не способную вызывать Redshift любого типа.

Test Endpoint failed: Application-Status: 1020912, Application-Message: N/A, Application-Detailed-Message: N/A

В целом, тот факт, что он работает с группой безопасности VP C по умолчанию, приводит меня к выводу, что (1) это проблема сети и (2) простое изменение безопасности экземпляра репликации группа, вероятно, сделает эту работу. Однако после бесчисленных итераций я понятия не имею, чего мне здесь не хватает.

Все идеи и предложения приветствуются!

1 Ответ

1 голос
/ 19 июня 2020

Типичная конфигурация группы безопасности для вашего сценария должна быть:

  • Группа безопасности на AWS экземпляре DMS (DMS-SG), которая разрешает все исходящие (что является нормальным значением по умолчанию), плюс любой входящий трафик, необходимый для использования DMS
  • Группа безопасности на инстансе Amazon RDS (RDS-SG), которая разрешает входящий трафик c на порт 3306 от DMS-SG
  • Группа безопасности на экземпляре Amazon Redshift (Redshift-SG), который разрешает входящий трафик c на порт 5439 от DMS-SG

, то есть у экземпляра DMS должна быть собственная группа безопасности, на которую можно ссылаться из другие группы безопасности. Группы безопасности применяются к каждому экземпляру индивидуально. Экземпляры с «одинаковой» группой безопасности не получают никаких специальных возможностей для взаимодействия друг с другом, если она специально не добавлена ​​в группу безопасности, как правило.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...