The Amazon Relational Database Service (RDS) is a web service that provides relational database management systems for provisioning and managing databases. You can use this fully-managed RDBMS to improve the performance, reliability, convenience, and scale of applications running in the cloud. The data you store with an RDS instance is encrypted at rest using either an internal encryption key or AWS Key Management Service (KMS). An RDS instance automatically backs up its data to Amazon S3 and replicates it across multiple Availability Zones. In this blog we will discuss what is AWS RDS and how to implement it, so let’s get started!
What is Amazon Relational Database System?
Amazon Relational Database System (commonly known as Amazon RDS) is a web service that makes it easier to set up, operate, and scale a relational database in the cloud.
With Amazon RDS, you can deploy your databases with minimal upfront investment by starting small, with one or more performance-optimized preconfigured DB Instances running MySQL or Oracle. You also get cost-efficient and resizable capacity for workloads of any size. And you keep your data secure by maintaining full control over your servers without onerous licensing fees or complicated administration tasks.
Amazon RDS enables you to focus on your application logic rather than spending time tuning your databases or worrying about the underlying components of your solution. It offers MySQL (including InnoDB support), Oracle (including support for Oracle’s Automatic Storage Management feature), Microsoft SQL Server Standard, and Enterprise editions. There are also low-cost options for Aurora DB Cluster which provides MySQL compatible API.
Amazon RDS makes it easy to set up and operate scalable, secure, reliable MySQL databases for applications (including WordPress) running on Amazon EC2. Without needing any knowledge of DB hardware provisioning, underlying storage systems, or replication technologies you can have a fully configured replica in minutes with your choice of region/AZ/performance profile. You can simply choose what size the machine should be eg 2CPU with 4GB RAM etc…
The most important thing is that once it’s set up, you don’t need to configure anything related to this DB instance until you want to scale it. All features are provided by AWS for you behind the scenes.
Benefits of Amazon RDS:
Amazon Relational Database Service (Amazon RDS) provides users with several key features that help simplify common database administration tasks. The following overview details some of the major benefits provided by Amazon RDS:
- Auto Scaling enables you to automatically increase or decrease capacity according to your application’s needs, without downtime. Auto-scaling helps lower costs and improve resource allocation during regular business hours while maintaining high performance for hundreds or thousands of simultaneous applications requests at other times.
- Multiple DB Instances allow you to have multiple databases running on a single host server simultaneously. This lets you test new versions of your software performing a rolling upgrade on your production database, with minimal downtime.
- Backup and Restore provide automated backups of your database at a user-defined interval. This enables you to restore the database quickly in the event of data loss or server failure.
- Scalable Storage enables you to attach an Amazon EBS volume as a storage device to your DB Instance, using either Provisioned IOPS or Standard volumes. This approach is cost-effective for applications with variable storage requirements, as it eliminates the need to upgrade from one instance type to another in order to increase disk space.
- Security Groups provide a firewall at the instance level by letting you control which devices and IP addresses can communicate with your DB Instances via TCP or UDP. You can use Security Groups to isolate your DB Instance from the rest of the network, outside a Virtual Private Cloud (VPC).
- Virtual Private Database enables you to specify fine-grained access control policies at the instance level. These policies help prevent unauthorized users from accessing sensitive data stored in a database by limiting queries and data manipulation language (DML) statements based on user identity, specified time ranges, or IP addresses.
- Enhanced Monitoring provides an end-to-end view (that includes RDS) of resource utilization, configuration, and performance metrics for DB Instances, DB Clusters, DB Snapshots volumes, Storage Volumes, and Performance Interconnects.
Let’s create RDS in our AWS lab :
- Log in to the Amazon Web Services Management Console and type “RDS” in the search bar.
- The RDS dashboard will appear as follows.
- Click on Databases on the left-hand side.
- Click on Create Database.
- As there are two different methods to create a database, we’ll choose Standard Create to explore different possibilities.
- If you scroll down, you will see six different Engine options.
- The free tier is only available if you choose the MySQL database.
- Leave the version selection at the default.
- We will explore the Free Tier in Templates.
- In this step, you should name your database instance, which should be unique in your region.
- We will name it “myfirstmysql”.
- We need to specify the credentials for the master username.
- As an example, we are going to use “awscloud” and a password of your choice so that it is easy for you to remember.
- The DB instance size will default to “t2.micro” because we are using a free tier service.
- In the Storage part disable “Enable storage autoscaling”.
- Scroll down and select Public Access as Yes.
- Create a new security group and call it as “my-first-rds-sg”.
- In Availability Zone select any one AZ.
- Scroll down and click on Additional Configuration.
- Give initial database name as “mydb”.
- Leave the below options as default and we will keep Enable automatic backups enabled.
- Keep the default settings after scrolling down.
- Check out the estimated monthly costs of creating a database.
- Click on Create database.
- It will take a few minutes for the database to launch and take backups as well.
- Finally, we have created our first database, and we expect the status to be Available.
- In this step, we will use SQL client to connect to RDS.
- In Google browser type sqlelectron and click on the link to open it.
- Click on Download GUI.
- Download links can be found at the foot of the page.
- Windows users can download the Win package.
- Mac users can choose .dmg, and Linux users can choose .rpm or .deb.
- Click on the link to install the package.
- You will be able to see the SQL electron dashboard after completing the download.
- Click on Add
- You will get the Server information page
- Give the name as My RDS Database and database type select MySQL
- Now, go to your RDS database page and copy the Endpoint
- Enter the username and password you created when you created the database
- Click on Test and it will show the message as Successfully tested
- Click on Save
- Then click on Connect
Congratulations!! You are connected to your database!! See you in the next Lab.
In this post, we covered the basics of the Amazon Relational Database System. If you’d like to learn more about cloud technology or have any questions, head on over to our blog and training courses for more information!