Wednesday, August 10, 2011

Deploying an Amazon MySQL RDS Instance

by Semir H.


If you find this tutorial useful, please consider making a donation to support future work like this:



Thank you :)

Preparation:

Decide in which Region you will create this.
Decide on the DB Engine (MySQL or Oracle).
For this tutorial I will use the following:

Multi AZ Deployment = Yes
Allocated Storage = 5 GB (minimum - good enough for this tutorial)
DB Instance Identifier = TestDB-Inst
Master Username = dbadmin
Password = whatever you want

Procedure:

Log into your Amazon Web Services (AWS) Management Console. Go to the Amazon RDS tab. Pick your Region. Click on “Launch DB Instance”.
In the “Engine Selection” pick MySQL and click on “Select”.
Fill in the “DB Instance Details” as per your needs. I’ll use the details I put down above. Click on “Continue”
Example:


On the “Additional Configuration” part leave everything at defaults (no need to put a DB name now). Click on “Continue”.

On the “Management Options” pick your Backup Retention Period (e.g. 1 day), Backup Window and Maintenance Window. Click on “Continue”.

Review your settings and if you are happy, launch the DB Instance.

DB Security Groups (connecting EC2 to RDS):

To make sure a particular EC2 Instance (in my case an Ubuntu Linux one) can connect to the Amazon RDS MySQL Instance we just created we need to create or modify an existing DB Security Group. I’ll just modify the default one.
Go to Amazon RDS tab and click on the “DB Security Groups” link.
Click on the “default” DB Security Group.
Under “Connection Type” pick “EC2 Security Group”.
Put in your Security Group name (in my case it was “linux sec grp”) and the AWS Account ID of the AWS account where this EC2 Security Group is. The number is a 12 digit number without any dashes.
Click on “Add”. If all goes well you should see that the connection you just defined will be authorised. Here’s an example (with my personal details blacked out):


This will essentially let any EC2 Instance (my Linux Instances) that are controlled by my “Linux Sec Grp” Security Group be able to communicate with my new MySQL RDS Instance.

To connect to the new MySQL Amazon RDS Instance (TestDB-Inst) we’ll need to find the Endpoint address. We do that by clicking on the DB Instance and looking under its Description. In my case it is “testdb-inst.cheuhkpk9v6o.ap-southeast-1.rds.amazonaws.com”.

Testing connecting:


# mysql -h testdb-inst.cheuhkpk9v6o.ap-southeast-1.rds.amazonaws.com -u dbadmin -p

Enter the password and there you go, you are now connected to your MySQL Instance.
You may now create databases for your projects.

No comments:

Post a Comment