Day 2: RDS
👉Amazon RDS (Relational Database Service): This is the core service that offers managed relational databases. It supports several database engines, including:
- MySQL: An open-source relational database management system.
- PostgreSQL: Another powerful open-source relational database system.
- Microsoft SQL Server: A popular commercial relational database.
- Oracle: A widely used commercial relational database.
👉Storage Auto Scaling: RDS can automatically scale the storage capacity of your database to accommodate data growth without manual intervention.
👉RDS Read Replicas: Create read-only copies of your RDS database for distributing read traffic and improving performance. This is useful for read-heavy workloads.
👉 Network Cost: Be aware of data transfer costs when transferring data between RDS instances located in different AWS regions or Availability Zones.
👉 RDS Multi AZ (Disaster Recovery): Set up a standby instance in a different Availability Zone for high availability and automatic failover in case of a primary database failure.
👉 RDS Custom: This can involve using RDS in combination with other AWS services, such as SSHing into an EC2 instance to access the RDS instance.
👉RDS Backups: RDS provides various backup options, including:
- Automated Backups: Daily backups with a configurable retention period.
- Manual DB Snapshots: Create manual backups of your database at any time.
👉 Restore Options: You can restore your database from automated backups or manually created snapshots. It’s also possible to restore from backups stored in Amazon S3.
👉 RDS Security: Ensuring the security of your RDS instance includes using several tools and features:
- IAM Roles: Manage RDS authentication and authorization with AWS Identity and Access Management (IAM) roles.
- AWS KMS (Key Management Service): Encrypt your RDS data using KMS.
- TLS (Transport Layer Security): Secure data in transit using encryption.
- Security Groups: Control inbound and outbound traffic to your RDS instance.
- Audit Logs: Monitor and log database activity for security and compliance.
- No SSH Except Custom: Typically, SSH is not used to access RDS instances directly; AWS manages the infrastructure.
👉 RDS Proxy: RDS Proxy is a service that helps you pool and share database connections, improving database efficiency and failover capabilities without requiring application code changes. It’s beneficial for reducing connection overhead and optimizing database performance.