AWS Service:
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:
Using an older version of instance classes may lead to slow performance or may incur costs and many things that are fixed in new versions.
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:
Consider upgrading instance class from db.r4 to db.r5
If your current DB Instance class is db.r4 which is a bit older, you can upgrade it to db.r5 which offers improved networking and Amazon Elastic Block Store (Amazon EBS) performance and they are powered by the AWS Nitro System, a combination of dedicated hardware and lightweight hypervisor.
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/DynamoDB/S3
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
You can find the current instance class by clicking on the database
If you want to upgrade the instance class to db.r5 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 upgrade
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 db.r5 instance class type from the range of options
- 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.
Make sure the DB instance class that you changed(db.r5) is shown in the class section.
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 DB instance class, select db.r4 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
Total Cost Savings(Yearly)
Pricing examples
Product Details - t2.*
t2 instances are a low-cost, general-purpose instance type that provides a baseline level of CPU performance with the ability to burst above the baseline when needed. With On-Demand Instance prices starting at $0.0058 per hour
Name | vCPUs | RAM (GiB) | CPU Credits/hr | On-Demand Price/hr* | 1-yr Reserved Instance Effective Hourly* | 3-yr Reserved Instance Effective Hourly* |
---|---|---|---|---|---|---|
t2.nano | 1 | 0.5 | 3 | $0.0058 | $0.003 | $0.002 |
t2.micro | 1 | 1.0 | 6 | $0.0116 | $0.007 | $0.005 |
t2.small | 1 | 2.0 | 12 | $0.023 | $0.014 | $0.009 |
t2.medium | 2 | 4.0 | 24 | $0.0464 | $0.031 | $0.021 |
t2.large | 2 | 8.0 | 36 | $0.0928 | $0.055 | $0.037 |
t2.xlarge | 4 | 16.0 | 54 | $0.1856 | $0.110 | $0.074 |
t2.2xlarge | 8 | 32.0 | 81 | $0.3712 | $0.219 | $0.148 |
*Prices shown are for Linux/Unix in US East (Northern Virginia) AWS Region. Prices for 1-year and 3-year reserved instances are for "Partial Upfront" payment options or "No upfront" for instances without the Partial Upfront option. For full pricing details, see the Amazon EC2 pricing page.
Product Details - t3a.* instances
The t3a.* instances feature AMD EPYC, 7000 series processors, with an all-core turbo clock speed of 2.5 GHz. The AMD-based instances provide additional options for customers that do not fully utilize the compute resources and can benefit from a cost savings of 10%.
$Name | vCPUs | Memory (GiB) | Baseline Performance/vCPU | CPU Credits earned/hr | Network burst bandwidth (Gbps) | EBS burst bandwidth (Mbps) | On-Demand Price/hr* | 1-yr Reserved Instance Effective Hourly* | 3-yr Reserved Instance Effective Hourly* |
---|---|---|---|---|---|---|---|---|---|
t3a.nano | 2 | 0.5 | 5% | 6 | 5 | Up to 2,085 | $0.0047 | $0.0028 | $0.0019 |
t3a.micro | 2 | 1.0 | 10% | 12 | 5 | Up to 2,085 | $0.0094 | $0.0056 | $0.0038 |
t3a.small | 2 | 2.0 | 20% | 24 | 5 | Up to 2,085 | $0.0188 | $0.0112 | $0.0075 |
t3a.medium | 2 | 4.0 | 20% | 24 | 5 | Up to 2,085 | $0.0376 | $0.0224 | $0.0150 |
t3a.large | 2 | 8.0 | 30% | 36 | 5 | Up to 2,780 | $0.0752 | $0.0449 | $0.0301 |
t3a.xlarge | 4 | 16.0 | 40% | 96 | 5 | Up to 2,780 | $0.1504 | $0.0898 | $0.0602 |
t3a.2xlarge | 8 | 32.0 | 40% | 192 | 5 | Up to 2,780 | $0.3008 | $0.1796 | $0.1203 |