2013-11-07 3 views
9

Я пытаюсь подключиться к базе данных Redshift из SQL Workbench/J, используя драйверы Postgre JDBC, но я не могу пройти. Я получаю эту ошибку «Ошибка подключения». Драйвер jdbc правильно расположен. Я также пробовал через Aginity Workbench для Redshift, но он не смог показать список баз данных. У меня есть URL-адрес подключения к базе данных формы jdbc:postgresql://host:port/name_of_database, но, на удивление, я даже не мог пинговать хост. Я вижу, что работоспособность базы данных хороша с помощью консоли amazon. Итак, я задаю следующие вопросы:не удается подключиться к базе данных красного смещения

  1. Почему я не могу ping мой сервер redshift db?
  2. Есть ли способ ssh на сервер db?

Редактировать 1: После добавления моего публичного IP-адреса в группу безопасности хост становится разрешенным во время ping, но все равно 100% -ная потеря пакетов.

Edit2: Я мог бы успешно разместить db в EC2-Classic, но не в EC2-VPC. Поскольку у меня не хватает публичных IP-адресов, я попробовал переустановить db в VPC, где есть потеря пакетов на 100%.

+0

1. Используете ли вы URL JDBC, расположенный на вкладке «Конфигурация» для этой базы данных Redshift? 2. Используете ли вы это облако на VPC или с любыми сетевыми правилами, которые блокируют доступ к сети из вашего местоположения? – bstempi

+0

Да Я использую URL JDBC, как показано на вкладке «Конфигурация» кластера в консоли Amazon. Облако находится на VPC, а база данных размещается в частной подсети. Моя команда уже размещала сервер отчетов в IP-адресе в той же частной подсети без каких-либо проблем. Поэтому, я думаю, сетевые правила не должны быть причиной этого. – chemicalkt

ответ

13

Вы должны добавить свой блок IP-адресов в группу безопасности для кластера.

Это отдельно от других групп безопасности (то есть VPC).

Вы можете найти его слева в консоли Redshift. https://console.aws.amazon.com/redshift/

+0

Мне не хватало этого шага. Но даже после этого время соединения было приостановлено при размещении db в EC2-VPC. Я могу успешно подключиться после его размещения в EC2-Classic. Но поскольку у меня не хватает публичных IP-адресов, мне нужно разместить его в VPC. – chemicalkt

2

Для экземпляра EC2 в том же VPC вы должны добавить CIDR/IP частного IP-кода в правила группы безопасности, то есть вместо общедоступного IP-адреса 54.191.XXX.XXX вы должны добавить частный IP 172.31.XXX.XXX к правилу входа вашей группы безопасности.

3

Я пытался подключиться с локальной машины через psql к кластеру Redshift в VPC. Я обнаружил, что мне нужно явно добавить локальный IP/CIDR к входящим правилам для моей группы безопасности.

Меню на консоли AWS можно найти в разделе Службы> VPC> Группы безопасности. Затем нажмите, чтобы изменить группу безопасности, и вы увидите вкладку правил входящих в нижней части страницы. Пример:


inbound rules menu example

Я был знаком с CIDR до этого, но 32, кажется, CIDR по умолчанию. В моем случае я добавил входящее правило, чтобы трафик с xx.xxx.xxx.xx/32 - xx.xxx.xxx.xx был моим локальным IP-адресом.

0

Похоже, что вы должны были решить проблему только путем подключения с компьютера EC2 в вашем VPC. Это означает, что вы не сделали доступным кластер Redshift общедоступным, что является одним из параметров, которые вы используете при запуске кластера.

Смежные вопросы