Перейти к основному содержимому

Подключение Redshift, PostgreSQL и AlloyDB

Следующие поля обязательны при создании подключения Postgres, Redshift или AlloyDB:

ПолеОписаниеПримеры
Host NameИмя хоста базы данных Postgres, Redshift или AlloyDB, к которой нужно подключиться. Это может быть как имя хоста, так и IP-адрес.xxx.us-east-1.amazonaws.com или hostname.us-east-1.redshift.amazonaws.com или workgroup-name.123456789.us-east-1.redshift-serverless.amazonaws.com
PortОбычно 5432 (Postgres) или 5439 (Redshift)5439
DatabaseЛогическая база данных, к которой нужно подключиться и выполнять запросы.analytics

Примечание: При настройке подключения Redshift или Postgres в dbt Cloud параметры, связанные с SSL, недоступны для ввода.

Настройка подключения RedshiftНастройка подключения Redshift

Параметры аутентификации

Для аутентификации пользователи dbt Cloud могут использовать либо Имя пользователя и пароль базы данных, либо теперь могут использовать Аутентификацию пользователя IAM для Redshift через расширенные атрибуты.

Следующая таблица содержит параметры для метода подключения на основе пароля.

ПолеОписаниеПримеры
userИмя пользователя для входа в ваш кластерmyuser
passwordПароль для аутентификации_password1!

Подключение через SSH-туннель

Чтобы подключиться к экземпляру Postgres, Redshift или AlloyDB через SSH-туннель, выберите опцию Использовать SSH-туннель при создании подключения. При настройке туннеля необходимо указать имя хоста, имя пользователя и порт для бастионного сервера.

После сохранения подключения будет сгенерирован и отображен открытый ключ для подключения. Вы можете скопировать этот открытый ключ на бастионный сервер, чтобы авторизовать dbt Cloud для подключения к вашей базе данных через бастионный сервер.

Сгенерированный открытый ключ для подключения RedshiftСгенерированный открытый ключ для подключения Redshift

О бастионном сервере в AWS

Что такое бастионный сервер?

Бастионный сервер в Amazon Web Services (AWS) — это хост, который позволяет dbt Cloud открыть SSH-соединение.


dbt Cloud отправляет только запросы и не передает большие объемы данных. Это означает, что бастионный сервер может работать на экземпляре AWS любого размера, например, t2.small или t2.micro.

Убедитесь, что местоположение экземпляра совпадает с той же виртуальной частной сетью (VPC), что и экземпляр Redshift, и настройте группу безопасности для бастионного сервера, чтобы обеспечить возможность подключения к порту хранилища.

Настройка бастионного сервера в AWS

Чтобы настроить SSH-туннель в dbt Cloud, вам нужно будет предоставить имя хоста/IP вашего бастионного сервера, имя пользователя и порт, который вы выберете, к которому dbt Cloud будет подключаться. Ознакомьтесь со следующими шагами:

  • Убедитесь, что на бастионном сервере установлены сетевые правила безопасности для принятия подключений с IP-адресов dbt Cloud на любом порту, который вы настроили.
  • Настройте учетную запись пользователя, используя CLI экземпляра бастионного сервера. В следующем примере используется имя пользователя dbtcloud:
sudo groupadd dbtcloud
sudo useradd -m -g dbtcloud dbtcloud
sudo su - dbtcloud
mkdir ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
  • Скопируйте и вставьте сгенерированный dbt Cloud открытый ключ в файл authorized_keys.

Теперь бастионный сервер должен быть готов для использования dbt Cloud в качестве туннеля в среду Redshift.

Конфигурация

Чтобы оптимизировать производительность с конфигурациями, специфичными для платформы данных в dbt Cloud, обратитесь к конфигурации, специфичной для Redshift.

Чтобы предоставить пользователям или ролям разрешения базы данных (права доступа и привилегии), обратитесь к странице разрешений Redshift или разрешений Postgres.

Часто задаваемые вопросы

 Ошибка базы данных - не удалось подключиться к серверу: время ожидания соединения истекло
0