向 Ruby 应用程序环境中添加 Amazon RDS 数据库实例
您可以使用 Amazon Relational Database Service(Amazon RDS)数据库实例来存储由应用程序收集和修改的数据。数据库可以附加到您的环境并由 Elastic Beanstalk 进行管理,也可以在外部创建和管理数据库。
如果您是首次使用 Amazon RDS,请使用 Elastic Beanstalk 管理控制台向测试环境中添加数据库实例,并验证您的应用程序是否能连接到该实例。
要连接到数据库,请向您的应用程序中添加适配器并配置连接(连接到 Elastic Beanstalk 提供的环境属性)。配置和连接代码取决于您使用的数据库引擎和框架。
向环境中添加数据库实例
向环境添加数据库实例
打开 Elastic Beanstalk 控制台
,然后在 Regions(区域)列表中选择您的 Amazon Web Services 区域。 -
在导航窗格中,选择 Environments(环境),然后从列表中选择环境的名称。
注意 如果您有多个环境,请使用搜索栏筛选环境列表。
在导航窗格中,选择 Configuration (配置)。
-
在 Database(数据库)配置类别中,选择 Edit(编辑)。
-
选择数据库引擎,然后输入用户名和密码。
-
在页面底部选择 Apply(应用)。
添加一个数据库实例大约需要 10 分钟。环境更新完成后,您的应用程序就可以通过以下环境属性访问数据库实例的主机名和其他连接信息:
属性名称 | 描述 | 属性值 |
---|---|---|
|
数据库实例的主机名。 |
在 Amazon RDS 控制台的 Connectivity & security(连接和安全)选项卡上:Endpoint(端点)。 |
|
数据库实例接受连接的端口。默认值因数据库引擎而异。 |
在 Amazon RDS 控制台的 Connectivity & security(连接和安全)选项卡上:Port(端口)。 |
|
数据库名称 |
在 Amazon RDS 控制台的 Configuration(配置)选项卡上:DB Name(数据库名称)。 |
|
您为数据库配置的用户名。 |
在 Amazon RDS 控制台的 Configuration(配置)选项卡上:Master username(主用户名)。 |
|
您为数据库配置的密码。 |
在 Amazon RDS 控制台中不可供参考。 |
有关配置内部数据库实例的更多信息,请参阅将数据库添加到 Elastic Beanstalk 环境。
下载适配器
向项目的 gem 文件中添加数据库适配器。
例 Gemfile – 使用 MySQL 的 Rails
source 'https://rubygems.org'
gem 'puma'
gem 'rails', '~> 6.1.4', '>= 6.1.4.1'
gem 'mysql2'
Ruby 的常见适配器 Gem
-
MySQL –
mysql2
-
PostgreSQL –
pg
-
Oracle –
activerecord-oracle_enhanced-adapter
-
SQL Server –
activerecord-sqlserver-adapter
连接到数据库
Elastic Beanstalk 在环境属性中提供所连数据库实例的连接信息。使用 ENV['
可读取这些属性并配置数据库连接。VARIABLE
']
例 config/database.yml - Ruby on rails 数据库配置(MySQL)
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'] %>