Невозможно подключиться к Amazon Redshift Serverless из Python — время ожидания соединенияPython

Программы на Python
Anonymous
Невозможно подключиться к Amazon Redshift Serverless из Python — время ожидания соединения

Сообщение Anonymous »

Я пытаюсь подключиться к своему экземпляру Amazon Redshift Serverless из Python с помощью пакета redshift_connector, но постоянно сталкиваюсь с ошибкой тайм-аута соединения.
Вот как я пытаюсь это сделать. подключиться:

Код: Выделить всё

host="redshift-host"
database="dev"
port=5439
user="admin"
password="the-admin-password"
serverless_acct_id="my_serverless_account_id"
serverless_work_group="my_workgroup_name"

# Option 1

conn = redshift_connector.connect(

iam=True,
host=host,
database=database,
access_key_id="AWS_ACCESS_KEY_ID",
secret_access_key="AWS_SECRET_ACCESS_KEY",
session_token="AWS_SESSION_TOKEN",
region="eu-north-1",
is_serverless=True,
serverless_acct_id=serverless_acct_id,
serverless_work_group=serverless_work_group
)

# Option 2

conn = redshift_connector.connect(
host=host,
database=database,
port=port,
user=user,
password=password,
)
Оба этих варианта не работают:

Код: Выделить всё

 raise OperationalError("connection time out", timeout_error) redshift_connector.error.OperationalError: ('connection time out', TimeoutError(60, 'Operation timed out'))
Вот подробности моей настройки и того, что я пробовал на данный момент:
Что я проверил:
  • Публичный доступ: подтверждено, что для бессерверной конечной точки Redshift установлен общедоступный режим.
  • Группы безопасности: проверено, что группа безопасности разрешает входящий трафик через порт 5439 с 0.0.0.0/0.
  • Сетевые списки управления доступом: проверено, что сетевые списки управления доступом для подсети не блокируют входящий или исходящий трафик через порт 5439.
  • Таблица маршрутов: проверено, что таблица маршрутов подсети включает маршрут к интернет-шлюзу (0.0.0.0/0 -> igw-XXXXXXXX).
    Локальный брандмауэр: нет правил брандмауэра, блокирующих исходящий трафик. блокировка на порту 5439.
Мне кажется, что все должно быть настроено правильно и я смогу подключиться. Однако я все еще получаю ошибку тайм-аута. Что я делаю не так?
Я попробовал разрешить весь трафик в группе безопасности и установить для общего доступа значение True. Я ожидал, что смогу подключиться, но время ожидания истекло.
Обновление:

Я пытался подключиться к БД через DBeaver используя соединение JDBC, которое также завершается ошибкой: время попытки подключения истекло.

Поэтому мне кажется, что в настройке сети есть что-то, что не разрешает входящие связи...

Подробнее здесь: https://stackoverflow.com/questions/786 ... on-timeout

Вернуться в «Python»