Database

Amazon RDS

View on GitHub

Amazon RDS

Amazon RDS is a managed relational database service that provisions, operates, and scales database instances. It provides managed database engines, storage, automated backups, and optional high-availability or read-scaling configurations depending on engine and settings. RDS typically sits in the data layer of an application architecture and is accessed by application servers inside a VPC.

🗂 Resource Category

Database

🧠 Exam Memory Hook

Think: "Relational database + managed engine platform + VPC data layer = Amazon RDS"


📖 Ownership

Classification: AWS Managed Service

AWS responsibilities: AWS operates and manages the underlying physical infrastructure, control plane, and the RDS service platform, including the hosts that run database instances, storage systems, and management APIs. AWS is responsible for securing and patching the physical infrastructure, hypervisor, and the managed host operating system, and for performing managed database platform maintenance according to configured maintenance windows and service model. AWS also manages underlying storage durability, automated backup storage (when configured), and platform-level monitoring endpoints.

Customer responsibilities: The customer configures database engine type and version, instance class, storage, parameter groups, option groups, security groups, network (VPC/subnets), encryption keys, access control within the database engine (users/roles), backup retention and snapshot management, and operational monitoring and alerting. The customer is responsible for schema design, data integrity, query performance, application-level encryption, client drivers, and any application or client-side libraries and dependencies.

Patching responsibilities: AWS patches the physical infrastructure, hypervisor, and the managed hosts that run RDS instances; AWS applies database engine patches and minor version updates according to the service maintenance model and customer-configured maintenance windows or automatic upgrade settings. The customer is responsible for testing and applying major engine upgrades when required, patching application servers, application runtimes, client libraries, and any libraries or dependencies used by customer-deployed applications that connect to the database.


🏗 Typical Architecture

💡 Top 5 Features

  • Managed provisioning and lifecycle operations for several relational database engines through the RDS console and APIs.
  • Optional Multi-AZ deployments to provide a standby instance in a separate Availability Zone for failover.
  • Automated backups and user-initiated snapshots with point-in-time restore options when configured.
  • Read replica support for supported engines to scale read workloads and offload reporting queries.
  • Integration with Amazon CloudWatch and Enhanced Monitoring for instance and OS-level metrics.

✅ Top 5 Use Cases

  • Primary OLTP datastore for web and mobile applications needing a managed relational engine and backups.
  • Enterprise application databases where operational overhead of OS and host management should be reduced.
  • Scaling read-heavy workloads by creating read replicas for reporting or analytics offload.
  • Lift-and-shift migrations from on-premises relational databases to a managed platform to reduce operational maintenance.
  • Provisioned development, test, and staging databases with easy snapshot-based cloning and lifecycle control.

🏗 Architecture Placement

Amazon RDS typically sits in the data persistence layer inside a VPC and is deployed per AWS region and Availability Zones. Application servers (for example on Amazon EC2, ECS tasks, or Lambda functions within the same VPC) send SQL requests to RDS endpoints. RDS commonly integrates with monitoring, backup, and key management services and can be protected by security groups and network ACLs. Placement and accessibility depend on VPC configuration, subnet groups, and public accessibility settings.

🎯 Commonly Used With

- Amazon EC2
- Amazon VPC
- Amazon CloudWatch
- AWS Identity and Access Management
- AWS Key Management Service

🌍 5 Real-World Examples

  • A retail application uses Amazon RDS to host the order and customer transactional database, enabling managed backups and faster operational recovery.
  • A healthcare application stores patient records in RDS with encryption using AWS KMS to help meet data protection requirements while delegating host maintenance to AWS.
  • A financial services backend uses RDS Multi-AZ deployments to provide higher availability for transaction processing systems accessed by internal application servers.
  • A media company uses RDS read replicas to offload reporting queries from the primary instance, allowing analytics jobs without impacting transactional performance.
  • An education platform uses RDS for its learning management system database to simplify administration and to clone environments for development and testing via snapshots.

🎓 AWS Exam Clues

  • Choose RDS when you need a managed relational database engine but do not require full operating system or hypervisor access.
  • Select self-managed databases on Amazon EC2 if you need custom OS-level configuration or unsupported database engines.
  • Use Multi-AZ RDS deployments when the requirement specifies a standby in a different Availability Zone for failover.
  • Use read replicas when an architecture requires read-scaling or separate instances for reporting and analytics workloads.
  • Consider maintenance windows and engine version management because AWS may perform platform or engine patching according to configured settings.

📝 Quick Revision

Amazon RDS provides managed relational database instances, backups, optional Multi-AZ for high availability, and read replicas for read scaling. Use RDS when you want a managed database platform and reduced host maintenance, and plan for engine version management, networking (VPC) placement, backups, and monitoring in production.

🏷 Keywords

Relational engineMulti-AZRead replicaAutomated backupsSnapshotsParameter groupOption groupEnhanced MonitoringPerformance InsightsDB instanceProvisioned IOPSMaintenance window