Adding an Amazon RDS DB instance to your Ruby application environment - Amazon Elastic Beanstalk
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Adding an Amazon RDS DB instance to your Ruby application environment

You can use an Amazon Relational Database Service (Amazon RDS) DB instance to store data gathered and modified by your application. The database can be coupled to your environment and managed by Elastic Beanstalk, or it can be created as decoupled and managed externally by another service. This topic provides instructions to create an Amazon RDS using the Elastic Beanstalk console. The database will be coupled to your environment and managed by Elastic Beanstalk. For more information about integrating an Amazon RDS with Elastic Beanstalk, see Adding a database to your Elastic Beanstalk environment.

Adding a DB instance to your environment

To add a DB instance to your environment
  1. Open the Elastic Beanstalk console, and in the Regions list, select your Amazon Web Services Region.

  2. In the navigation pane, choose Environments, and then choose the name of your environment from the list.

    Note

    If you have many environments, use the search bar to filter the environment list.

  3. In the navigation pane, choose Configuration.

  4. In the Database configuration category, choose Edit.

  5. Choose a DB engine, and enter a user name and password.

  6. To save the changes choose Apply at the bottom of the page.

Adding a DB instance takes about 10 minutes. When the environment update is complete, the DB instance's hostname and other connection information are available to your application through the following environment properties:

Property name Description Property value

RDS_HOSTNAME

The hostname of the DB instance.

On the Connectivity & security tab on the Amazon RDS console: Endpoint.

RDS_PORT

The port where the DB instance accepts connections. The default value varies among DB engines.

On the Connectivity & security tab on the Amazon RDS console: Port.

RDS_DB_NAME

The database name, ebdb.

On the Configuration tab on the Amazon RDS console: DB Name.

RDS_USERNAME

The username that you configured for your database.

On the Configuration tab on the Amazon RDS console: Master username.

RDS_PASSWORD

The password that you configured for your database.

Not available for reference in the Amazon RDS console.

For more information about configuring a database instance coupled with an Elastic Beanstalk environment, see Adding a database to your Elastic Beanstalk environment.

Downloading an adapter

Add the database adapter to your project's gem file.

Example Gemfile – Rails with MySQL
source 'https://rubygems.org' gem 'puma' gem 'rails', '~> 6.1.4', '>= 6.1.4.1' gem 'mysql2'
Common adapter gems for Ruby

Connecting to a database

Elastic Beanstalk provides connection information for attached DB instances in environment properties. Use ENV['VARIABLE'] to read the properties and configure a database connection.

Example config/database.yml – Ruby on rails database configuration (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'] %>