ORG

6

を使用してnode.js上のAmazon RDS Postgresデータベースに接続する際の問題現在、Herokuで設定した環境をAmazon Web Servicesスタック(RDS PostgreSQL、Elastic Beanstalk)に移行する作業を進めています。ORG

私はsequelize.js ORMを使用してPostgreSQLに接続しようとするといくつかの問題に直面しています。以下のエラーメッセージ:

sequelize = new Sequelize(process.env.DATABASE_URI, { 
     dialect: 'postgres', 
     protocol: 'postgres', 
     logging: true, 
     timestamps: false 
    }) 

DATABASE_URIは、以下の方法でフォーマットされています

Unhandled rejection SequelizeHostNotFoundError: getaddrinfo ENOTFOUND [host].

私はので、私はサービスが動作している知っているし、次の設定は、Herokuの上で働いているpgAdminで介してデータベースに接続することができます:

postgres://[db_username]:[db_password]@[hostname]:[port]/[db_name] 

ご協力いただければ幸いです。前もって感謝します!

答えて

4

ここで問題を解決できました。基本的に、私は環境の中で正しく以下を設定することによってそれを解決:

  1. を正しくURIの書式設定 - (上記の構文に続いて、私はそれが仕事を得ることができた)
  2. アマゾンRDSのためのセキュリティ対策を有効にします& Elastic Beanstalk - Elastic Beanstalkが実行されていたセキュリティグループ/インスタンスロールのAmazon RDSインスタンスへのインバウンドアクセスを有効にする必要がありました。 (私は自分のローカルコンピュータからRDSを押すことができたという事実に巻き込まれました。デフォルトでは、RDSは使用しているIPを設定しているようです...)
+0

私はまだこれと戦っています。接続タイムアウトエラーを取得しています。あなたはあなたのソリューションplsで詳しく説明できますか? –

+0

こんにちはNuru、curlやpgAdminのようなツールを使ってデータベースにローカルに接続できましたか?その場合は、その後、RDSとElastic Beanstalkインスタンス間のセキュリティグループを確認し、「インバウンド」設定が正しく構成されていることを確認する必要があります。 – James

0

私は非常に似た問題を抱えていました。私はパスワードに疑問符がありました。半分のパスワードと残りの接続URLは無視されます(明らかにURL検索部分の一部)。我々は、ユーザー名で終わる

new Sequelize("postgres://fred:[email protected]/db"); 

ような何かフレッド、パスワード:xj78、および他のすべてのブランク。