Как подключиться к Postgres Amazon-RDS от TypeORM? - PullRequest
0 голосов
/ 09 июня 2019

Попытался подключиться к моему экземпляру RDS Postgres из клиента postgres (образ Docker) ...

docker run -it --rm jbergknoff/postgresql-client postgresql://username:******@somepostgres.sometext.us-west-2.rds.amazonaws.com:5432

и все работает ...

Когда я пробую его с typeorm ... он жалуется на geotddrinfo ENOTFOUND.

Вот мой вариант подключения:

{
  type: 'postgres',
      logging: true,
      host: process.env.DB_HOST,
      port: 5432,
      username: process.env.DB_USERNAME,
      password: process.env.DB_PASSWORD,
      database: process.env.DB_NAME,
      entities: [__dirname + '/**/*.entity{.ts,.js}'],
      synchronize: true,
      extra: {
        ssl: true
      }
}

И это ошибка:

[Nest] 25882   - 06/09/2019, 12:19 PM   [TypeOrmModule] Unable to connect to the database. Retrying (1)... +3291ms
Error: getaddrinfo ENOTFOUND postgres.sometext.us-west-2.rds.amazonaws.com postgres.sometext.us-west-2.rds.amazonaws.com.com:5432
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:58:26)

EDIT: Когда я использую IP. оно работает. Но все же любопытно ... почему адрес не работает, хотя.

РЕДАКТИРОВАТЬ 2:

Нашел это. Мой локальный узел js не может подключиться к RDS, поскольку мой сервер имен настроен неправильно.

Чтобы исправить это в Linux, вы делаете это так,

# /etc/resolv.conf

# I use google here
nameserver 8.8.8.8
namaserver 8.8.4.4

И причина, по которой я могу получить к ней доступ из докера, полагаю, у докера есть собственная конфигурация сервера имен.

...