Не удается подключить AWS Data Pipeline к Redshift - PullRequest
0 голосов
/ 24 июня 2019

У меня есть запрос, который я бы хотел регулярно запускать в Redshift. Для этого я настроил конвейер данных AWS.

Моя проблема в том, что я не могу понять, как получить доступ к Redshift. Я получаю ошибки «Не удается установить соединение». У меня есть Ec2Resource, и я попытался включить подсеть из VPC нашего кластера и использовать идентификатор группы безопасности, который использует Redshift, а также добавить этот sg-id во входящую часть правил. Не повезло.

Есть ли у кого-нибудь способ с нуля настроить конвейер данных для работы с Redshift?

Как у меня сейчас настроен конвейер

  • RedshiftDatabase
    • Строка подключения: jdbc:redshift://[host]:[port]/[database]
    • Имя пользователя, Пароль
  • Ec2Resource
    • Роль ресурса: DataPipelineDefaultResourceRole
    • Роль: DataPipelineDefaultRole
    • Завершить через: 20 минут
  • SqlActivity
    • База данных: [база данных] (из строки подключения)
    • Запускается: Ec2Resource
    • Скрипт: SQL-запрос

Сообщение об ошибке

Невозможно установить соединение с jdbc: postgresql: // [хост]: [порт] / [база данных] Соединение отклонено. Убедитесь, что имя хоста и порт указаны правильно и что администратор почты принимает соединения TCP / IP.

Ответы [ 2 ]

1 голос
/ 24 июня 2019

Хорошо, поэтому ответ лежит в группах безопасности.Мне нужно было найти группу безопасности, в которой находится мой кластер Redshift, а затем добавить ее в качестве значения параметра «Группа безопасности» в Ec2Resource в DataPipeline.

  • Ec2Resource
    • ResourceРоль: DataPipelineDefaultResourceRole
    • Роль: DataPipelineDefaultRole
    • Завершить через: 20 минут
    • Группа безопасности: sg-XXXXX [pull from Redshift]
0 голосов
/ 24 июня 2019

Попробуйте открыть входящие правила для всех источников, просто чтобы сузить возможные причины. Вы, вероятно, сделали это, но убедитесь, что вы настроили свой драйвер jdbc и конфигурации в соответствии с this .

...