Database 指向AWS RDS数据库的Heroku应用程序
我需要将我的Heroku应用程序指向我的AWS RDS数据库。我的RDS数据库已启动并正在运行,并且有一个具有0.0.0.0/0访问权限的安全组 目前,我已删除我的Heroku postgreSQL数据库,并尝试将我的Heroku应用程序指向我的RDS数据库。由于某种原因,我的应用程序正在崩溃。我相信我的步骤是在Heroku端设置我的数据库URL 假设我的数据库凭据是: 数据库实例:mydbDatabase 指向AWS RDS数据库的Heroku应用程序,database,postgresql,amazon-web-services,heroku,amazon-rds,Database,Postgresql,Amazon Web Services,Heroku,Amazon Rds,我需要将我的Heroku应用程序指向我的AWS RDS数据库。我的RDS数据库已启动并正在运行,并且有一个具有0.0.0.0/0访问权限的安全组 目前,我已删除我的Heroku postgreSQL数据库,并尝试将我的Heroku应用程序指向我的RDS数据库。由于某种原因,我的应用程序正在崩溃。我相信我的步骤是在Heroku端设置我的数据库URL 假设我的数据库凭据是: 数据库实例:mydb 数据库名称:mydb 用户:wcronyn 密码 我试过: heroku配置:设置数据库\u URL=p
数据库名称:mydb
用户:wcronyn
密码 我试过: heroku配置:设置数据库\u URL=postgres://wcronyn:password@mydb.XXXXXXX.us-east-1.rds.amazonaws.com:5432/mydb 我试图通过将.pem文件下载到我的配置文件夹中,然后引用它来设置权限: 数据库地址=postgres://wcronyn:password@mydb.XXXXXXX.us-east-1.rds.amazonaws.com:5432/mydb?sslca=config/amazon-rds-ca-cert.pem&sslmode=require&encrypt=true 我尝试了这两个数据库URL,但我的应用程序一直崩溃
有人能概述一下我需要采取哪些步骤来成功托管我的RDS数据库并将我的应用程序指向它吗 我找到了如何将heroku应用程序指向AWS RDS数据库。这使我能够拥有一个巨大的数据库,在一年内测试Amazon的免费层,并对我的数据库实例进行更多的定制。这是对@pseudopeach问题的回答(请原谅延迟) 这是一个非常简单的设置。要为Heroky配置RDS,您需要非常了解heroku和AWS
postgres://jdoe:supersecretpassword@mydb.coua7574xvna.us-east-1.rds.amazonaws.com:5432/mydb?sslca=config/amazon-rds-ca-cert.pem&sslmode=require&encrypt=true 外部数据库amazon-rds-ca-cert.pem 外部数据库\u CA amazon-rds-CA-cert.pem 朗(相同) 机架环境(相同) 轨道环境(相同) RDS_DB_PASS[您的DB密码] RDS_DB_端口[您的DB端口号,即5432] RDS_读取_DB_NAME[DB NAME] RDS_主机[端点url] RDS_用户[db用户名]
这对我很有效,我获得了超过10000行的免费RDS年(我相信这是heroku的免费层限制)。我使用postgreSQL作为我的数据库,所以这些配置可能偏向于postgres 鉴于以下设置,以下步骤对我有效(2017年2月):
- AWS RDS区域eu-west-2(使用专有网络安全组,而不是数据库 安全组)
- 博士后9.6
- Heroku,托管Flask应用程序(例如appname:
)Heroku应用程序阶段
- 将远程设备添加到Heroku应用程序中的Git(例如远程:
)stage
p的数据库URL值ostgresql://username:password@awsrdshost:5432/dbname
git push stage master
)heroku run bash--app heroku app stage
以查看dyno中的文件)?sslrootcert=rds组合ca bundle.pem&sslmode=require
更新您的数据库\u URL变量。新值现在应该是postgresql://username:password@awsrdshost:5432/dbname?sslrootcert=rds组合ca包。pem&sslmode=require