【问题标题】:Trouble connecting Heroku App with Amazon RDS Instance将 Heroku 应用程序与 Amazon RDS 实例连接时出现问题
【发布时间】:2013-11-19 00:09:30
【问题描述】:

我是第一次使用 Amazon RDS,并且一直在关注 heroku 文档以使用 RDS 实例获取我的应用程序。到目前为止,我已经创建了一个实例,并使用以下格式设置了插件:

$ heroku addons:add amazon_rds url=mysql://user:pass@rdshostname.amazonaws.com/databasename

运行 heroku rake db:migrate 后,我得到了

!!!捆绑的 mysql.rb 驱动程序 rake 中止!没有要加载的文件--mysql

所以我安装了 MySQL gem。再次做同样的事情我得到了错误:

无法连接到 MySQL 服务器 'myapp.cqslpaxxqrok.eu-west-1.rds.amazonaws.com' (110)

我看到有一条关于该实例位于美国东部地区的说明,以便 Heroku 的安全组控制访问或其他内容。我不能使用欧洲实例吗?

【问题讨论】:

    标签: mysql ruby-on-rails amazon-web-services heroku amazon-rds


    【解决方案1】:

    不,您不能使用欧洲实例。 Heroku 目前仅在美国东部区域可用,您需要能够将 Heroku 添加到您的安全区域才能使 RDS 实例工作,我想这需要您在同一个区域中。更重要的是,出于延迟和安全原因,您希望与 Heroku 位于同一区域(否则您的数据库流量将通过 Internet 传输)。

    【讨论】:

      【解决方案2】:

      Heroku 更改了其程序以允许 Heroku 服务器连接到 RDS 实例。这个问题的公认答案不再正确。

      您必须授予 Heroku dynos 访问您的 RDS 实例的权限。推荐的方法是将 RDS 实例配置为仅接受 SSL 加密的连接,并将您的实例的安全组配置为允许来自所有 IP 的入口。

      之前,Heroku 发布了其 AWS 账户 ID 和安全组名称,作为授予对 AWS RDS 实例的访问权限的一种方式。 不再推荐。

      参考:https://devcenter.heroku.com/articles/amazon_rds

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-17
        • 2019-04-03
        相关资源
        最近更新 更多