Lower Administrative Burden
- No need to provision infrastructure
- No need to install and maintain database software
- Single console and API for managing all relational databases
- Built-in security and monitoring
Amazon RDS is a fully managed relational database service that you can use to set up, operate, and scale relational databases in the cloud.
Amazon RDS is a managed relational database service to deploy and scale relational databases. It automates routine database tasks such as provisioning, patching, backup, recovery, failure detection, and repair without needing to provision infrastructure or maintain software.
Amazon RDS uses Amazon Elastic Block Store (Amazon EBS) volumes for database and log storage, and you can scale the storage capacity allocated to your database instance.
Lower Administrative Burden
Highly Scalable
Available and Durable
Secure and Compliant
Amazon RDS facilitates deployment and maintenance of relational databases in the cloud by managing a specialized EC2 instance that provides computing capacity.
Aurora is a MySQL and PostgreSQL-compatible RDBMS built for the cloud:
An Aurora database cluster includes one or more database instances and a cluster volume that manages data for those instances.
Primary Database Instance:
Aurora Replicas:
Aurora Serverless is an on-demand, auto scaling configuration for Aurora where the database automatically starts up, shuts down, and scales capacity based on application needs.
Running workloads with sudden and unpredictable increases in activity. Database automatically scales to meet peak load and scales back down when activity decreases.
Deploying new applications when unsure about DB instance size needed. Set up cluster and have database auto scale to capacity requirements.
Create DB instances with low minimum capacity and high maximum capacity. Instances scale down when not in use to avoid unnecessary charges.
Avoid administrative overhead of modifying DB instance classes. Determine appropriate minimum and maximum capacity by running workload and checking actual scaling.
Amazon RDS is suitable for online transaction processing (OLTP) that stores and updates transactional data reliably and efficiently in high volumes.
Banking transaction example showing transactional data structure:
Transaction ID | Date | Transaction Description | Transaction Type | Transaction Amount |
---|---|---|---|---|
0079834514 | 2023-11-05 | Utility | Withdrawal | 100.00 |
0079834513 | 2023-11-05 | Employer name | Direct deposit | 1000.00 |
0079834512 | 2023-11-04 | Interest payment | Deposit | 0.07 |
Each transaction has unique identifier with data including transaction date, description, type, and amount recorded for each transaction.
Amazon RDS provides instance types optimized for different relational database use cases with varying combinations of CPU, memory, storage, and networking capacity.
General Purpose (T4g, T3, M6g, M5):
Memory-Optimized (R6g, R5, X2g, X1E):
Instance Type | Memory (GiB) | vCPU |
---|---|---|
db.m6g.large | 8 | 2 |
db.r6g.large | 16 | 2 |
db.m6g.xlarge | 16 | 4 |
db.r6g.xlarge | 32 | 4 |
When upgrading, first identify the issue: if m6g.large needs upgrade, determine if it needs more memory (r6g.large) or CPU (m6g.xlarge).
VPC Deployment
Run DB instance in custom and private VPC for greatest possible network access control
IAM Policies
Use IAM policies to assign permissions for managing Amazon RDS resources
Security Groups
Control connecting IP addresses and resources through security groups
SSL/TLS Connections
Use SSL or TLS connections with database instances running supported engines
Encryption
Encrypt database instances and snapshots at rest with AWS KMS key
Database Security Features
Use security features of database engine to control database access
Security is a shared responsibility between you and AWS. AWS protects infrastructure, while you are responsible for security in the cloud including managing access to RDS resources and databases on instances.