【发布时间】:2013-04-23 15:02:38
【问题描述】:
我正在尝试设置两个 Rails 应用程序。我希望他们两个都使用一个 MySQL 数据库。我的设置是这样的:
使用 Elastic Beanstalk,我设置了两个具有两个不同环境的 Rails 应用程序。我使用 MySQL 数据库设置的应用程序之一。所以现在我有两个 EC2 实例 - 每个 Rails 应用一个和一个 RDS MySQL 实例。
我在两个 EC2 实例中设置了安全组,以便能够通过 port 3306 连接到 MYSQL。
我已设置数据库安全组以授权两个 EC2 实例,并且我使用第二个 EC2 实例的私有 IP 设置 CIDR/IP(在配置 Beanstalk 应用程序时没有设置 MySQL 数据库的实例)
在两个 Rails 应用程序中,我都设置了 database.yml,如下所示:
production:
adapter: mysql2
encoding: utf8
database: <%= ENV['RDS_DB_NAME'] %>
username: <%= ENV['RDS_USERNAME'] %>
password: <%= ENV['RDS_PASSWORD'] %>
host: <%= ENV['RDS_HOSTNAME'] %>
port: <%= ENV['RDS_PORT'] %>
我使用来自第一个 EC2 实例的 ENV 值为第二个实例(没有 MySQL 数据库的那个)上的生产分配了 ENV 值。
我在这里错过了什么?
我还将我的计算机 IP 地址添加到 DB 安全组,并且我能够使用我用作 ENV 变量的凭据连接到 MySQL 数据库。
【问题讨论】:
标签: mysql ruby-on-rails ruby-on-rails-3 amazon-ec2 amazon