Ruby 在AWS上使用sinatra如何连接到RDS postgres数据库?

Ruby 在AWS上使用sinatra如何连接到RDS postgres数据库?,ruby,postgresql,amazon-web-services,sinatra,sequel,Ruby,Postgresql,Amazon Web Services,Sinatra,Sequel,我想将应用程序部署到AWS。我正在使用ruby、sinatra和postgresql。postgres DB的设置独立于应用程序部署(但托管在Amazon上) 我正在使用续集ORM 在我的应用程序directopry中,我创建了一个文件夹“.ebextensions”,然后在同一目录中创建了一个文件“db.config” 该文件是: production: adapter: postgresql encoding: utf8 database: <%= ENV['db_name

我想将应用程序部署到AWS。我正在使用ruby、sinatra和postgresql。postgres DB的设置独立于应用程序部署(但托管在Amazon上)

我正在使用续集ORM

在我的应用程序directopry中,我创建了一个文件夹“.ebextensions”,然后在同一目录中创建了一个文件“db.config”

该文件是:

production:
  adapter: postgresql
  encoding: utf8
  database: <%= ENV['db_name'] %>
  username: <%= ENV['db_user'] %>
  password: <%= ENV['db_password'] %>
  host: <%= ENV['routexxx.xxxxxx.us-west-2.rds.amazonaws.com'] %>
  port: <%= ENV['5432'] %>
显示在my app.rb文件中

这在我的本地机器上工作(使用ngrok),但在推送到AWS时不起作用。我收到一条错误消息,上面写着“504网关超时”


我做错了什么?多谢各位

Amazon DB上的安全配置文件是什么?允许谁/什么IP范围连接到它?o.o.o.o/正如我所说,它可以从我的本地机器工作,我也可以从终端连接到psql,因此凭据正确,数据库正常工作。只有一个用户。问题的目的是:我遵循的程序正确吗?它不起作用,所以我做错了什么。无论如何,出于您的兴趣,谢谢您。我以前使用Sequel连接到AWS数据库(虽然我使用的是MySQL),这看起来对我来说是正确的。事实上,您从本地计算机连接没有问题,这让我认为它与安全组有关。我也会尝试连接到主机IP而不是域名,就像测试一样。希望其他人会有更多的洞察力。谢谢肖恩,你是对的。这是因为我使用的是“免费层”,所以我无法以正常方式访问它。如果使用非免费数据库实例,则只需在应用程序文件中包含以下字符串:DB=Sequel.connect('postgres://user:pasword@url.rds.amazonaws.com:5432/dbname'),您就可以开始了,甚至不需要配置文件。
DB = Sequel.connect('postgres://db_user:db_password@routexxx.xxxxxx.us-west-2.rds.amazonaws.com:5432/niyan')