Тайм-аут соединения с Redshift в AWS

Я получаю тайм-аут при попытке подключиться к моей недавно настроенной базе данных amazon redshift. Я попробовал телнет:

telnet redshift-cluster-1.foobar.us-east-1.redshift.amazonaws.com 5439

С тем же результатом.

Я установил конфигурацию базы данных на «Общедоступный».

Обратите внимание, что я просто экспериментирую. Раньше я настраивал сервисы aws для развлечения, но не очень разбираюсь в настройке сети и безопасности. Поэтому я ожидаю, что это будет простая ошибка, которую я совершаю.

Я хочу, чтобы это было просто, поэтому моя цель — просто подключиться к базе данных из локального SQL-клиента, и на данном этапе меня ничего больше не волнует :)

Было бы здорово, если бы вы могли дать мне несколько советов, чтобы я понял, в чем может быть проблема и что мне следует попробовать дальше.

Какова конфигурация группы безопасности, связанной с кластером Amazon Redshift? Кроме того, если вы разрешаете это DNS-имя в IP-адрес (например, с помощью ping redshift-cluster-1.foobar.us-east-1.redshift.amazonaws.com), является ли IP-адрес общедоступным IP-адресом или частным IP-адресом (например, 10.x).

John Rotenstein 01.12.2022 12:20

Это общедоступный IP-адрес (100.x.x.x). Группа безопасности называется по умолчанию, что, я думаю, является значением по умолчанию. У него есть входящее правило с IP-версией: -, тип: весь трафик, протокол: все, диапазон портов: все и исходящее правило с IP-версией: IPv4, тип: весь трафик, протокол: все, диапазон портов: все, пункт назначения: 0.0.0.0/0

phobic 01.12.2022 12:31

Звучит неплохо. Вы уверены, что кластер Redshift был запущен в общедоступной подсети? Вы пытались подключиться с помощью клиента SQL (вместо Telnet)?

John Rotenstein 01.12.2022 12:34

Я не уверен, что кластер Redshift был запущен в общедоступной подсети. Как я могу это проверить или изменить, чтобы он работал? (Я попытаюсь понять это, но я понятия не имею, с чего начать.) Я попытался подключиться к mysql-workbench и dbeaver и получил тайм-аут на обоих.

phobic 01.12.2022 13:21

Когда я устанавливаю «общедоступный» на «включено», у меня есть возможность указать эластичный IP-адрес, который я оставил пустым на случай, если это связано.

phobic 01.12.2022 15:41
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
5
108
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Другой вариант, который вы можете попробовать, — подключиться к нему через API. Чтобы подключиться к этой базе данных с помощью клиента Java, вам потребуются следующие значения:

   private static final String database = "dev";
   private static final String dbUser  = "awsuser";
   private static final String clusterId = "redshift-cluster-1";

У меня никогда не возникало проблем при использовании RedshiftDataClient.

Ответ принят как подходящий

Мне пришлось добавить новое правило для входящего трафика в группу безопасности и установить в качестве источника «откуда-ipv4» или «мой ip». У правила входящего трафика по умолчанию есть источник с именем самой группы безопасности, что может означать, что оно доступно только из VPC. По крайней мере, он недоступен снаружи.

Я установил протокол на tcp и набрал красное смещение, что показалось мне разумным выбором для моего варианта использования.

См. рисунок для примера конфигурации.

Другие вопросы по теме