我正在尝试设置两个 Rails 应用程序。我希望他们两个都使用一个 MySQL 数据库。我的设置是这样的:
使用 Elastic Beanstalk,我设置了两个具有两个不同环境的 Rails 应用程序。我使用 MySQL 数据库设置的应用程序之一。所以现在我有两个 EC2 实例 - 每个 Rails 应用一个和一个 RDS MySQL 实例。
我在两个 EC2 实例中设置了安全组,以便能够通过port 3306
.
我已经设置了数据库安全组来授权两个 EC2 实例,并且我使用第二个 EC2 实例的私有 IP 设置了 CIDR/IP(在配置 Beanstallk 应用程序时没有设置 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 数据库。