Я сейчас пытаюсь настроить репликацию с 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:
Redshift:
Настройка экземпляра репликации
Экземпляр репликации имеет обе группы безопасности. Я полагал, что самому экземпляру репликации потребуется отдельная группа безопасности, однако мне не удалось создать рабочую.
Что я сделал перед написанием этого поста?
Я протестировал следующий сценарий 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) простое изменение безопасности экземпляра репликации группа, вероятно, сделает эту работу. Однако после бесчисленных итераций я понятия не имею, чего мне здесь не хватает.
Все идеи и предложения приветствуются!