AWS Services:
Amazon Relational Database Service (RDS) makes it easier to set up, operate, and scale a relational database in the AWS Cloud. RDS provides few database products like MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server. RDS manages backups, software patching, automatic failure detection, and recovery. It provides cost-efficient, resizable capacity for an industry-standard relational database and manages common database administration tasks.
Description of the finding:
The number of vCPUs varies according to the DB instance class. Based on the CPU utilization choose the appropriate instance class that matches your environment or requirement. So that no CPU will go underutilized and also it reduces the monthly cost that you are paying for unused resources.
Amazon RDS supports three types of instance classes: Standard, Memory Optimized, and Burstable Performance.
Standard classes (includes m classes)
Memory-optimized classes (includes r and x classes)
Burstable classes (includes t classes)
Recommendation:
RDS instance CPU is underutilized; average CPU usage is 9.86. Consider using a smaller instance size
Use CloudWatch metrics to get a report that shows either idle or have low CPU utilization, basically which are driving up the cost by wasting the resources. Based on the report we can choose the appropriate instance class that suits your needs.
Note: We recommend that you test any changes on a test instance before modifying a production instance so that you fully understand the impact of each change. Testing is especially important when upgrading database versions.
*Resource information Listed below*
Affected Service Dependencies:
ElastiCache
Database services
Snapshots
Implementation Plan:
Pre Requisites:
Approval Required from the client for the downtime of the instance
Make sure all the configurations are noted: Engine version, AWS KMS key, Instance class
Perform Snapshot of the Database as a backup
Current Status: (Check which Instance type is using currently)
Sign in to AWS console
Navigate to Amazon RDS service https://console.aws.amazon.com/rds/
Click on the Databases in the left navigation pane
Select the Database that you want to examine
Click on Monitoring Tab
There will be graphs shown, consider CPU Utilization graph
- If you notice that the CPU utilization is minimum, you can consider using a smaller instance size
Like that, you can get the metrics for n number of databases. From there you can filter the underutilized CPUs
If you want to change the instance class follow the implementation steps
Implementation steps:
Sign in to AWS console
Navigate to Amazon RDS service https://console.aws.amazon.com/rds/
Click on the Databases in the left navigation pane
Select the database that you want to change
Click on the modify option on the top
Go to DB instance class section and Click on the down arrow to get options available
choose instance class type from the range of options that suits your requirement
click on continue at the bottom
Review the changes you made and schedule the modification from the options available
Once done with the review and scheduling click on Modify DB instance to apply changes or if you notice any mistake click on Back to go to the previous window
Status after Implementation:
After going through the implementation steps, perform the steps mentioned in the current status section to make sure that the changes have been applied successfully.
Back Out Plan: (If you want to rollback to the previous type)
If you want to roll back to the previous DB instance class at any moment, just follow the steps that you followed in the Implementation steps section, and then in the step where we want to choose the DB instance class, select DB instance type for the rollback.
Perform snapshot that can be used for restoration in case of any disaster
Sign in to AWS console
Navigate to Amazon RDS service https://console.aws.amazon.com/rds/
Click on the Databases in the left navigation pane
Select the Database that you want to create snapshot
Click on the Actions on top and select Take snapshot
Give the snapshot name and click on Take snapshot
To restore from Snapshot
Navigate to snapshots on the left navigation pane
Select the snapshot you want to restore and click on Actions on top
You will be asked with a few details that are required to restore the snapshot
- Fill in all the details required and click on the Restore DB instance at the bottom
Note: Keep the Snapshot for 5 business days before discarding it.
Reference:
Managing an Amazon RDS DB instance - Amazon Relational Database Service