Day 44 : Relational Database Service in AWS

Day 44 : Relational Database Service in AWS

DevOps Learning

Amazon Relational Database Service (Amazon RDS) is a managed relational database service provided by Amazon Web Services (AWS). It simplifies the setup, operation, and scaling of relational databases in the cloud. Here are the key details:

Key Features of Amazon RDS

  1. Managed Service:

    • Automated Backups: RDS automatically backs up your database and retains the backups for a user-defined retention period.

    • Software Patching: RDS handles the patching of the database software, ensuring that your database is always up-to-date with the latest security and feature updates.

    • Monitoring and Metrics: RDS provides detailed monitoring and metrics through Amazon CloudWatch, allowing you to track the performance and health of your database instances.

  2. Scalability:

    • Vertical Scaling: You can easily scale the compute and memory resources of your database instance up or down based on your application needs.

    • Read Replicas: RDS supports read replicas, which allow you to create read-only copies of your database to offload read traffic and improve performance.

  3. High Availability and Durability:

    • Multi-AZ Deployments: RDS supports Multi-AZ (Availability Zone) deployments, which provide enhanced availability and durability by automatically replicating data to a standby instance in a different AZ.

    • Automated Failover: In the event of a failure, RDS automatically performs a failover to the standby instance, minimizing downtime.

  4. Security:

    • Encryption: RDS supports encryption at rest and in transit, ensuring that your data is secure.

    • Network Isolation: You can run RDS instances in Amazon Virtual Private Cloud (VPC) for network isolation and control over access to your database.

    • IAM Integration: RDS integrates with AWS Identity and Access Management (IAM) for fine-grained access control.

  5. Database Engines:

    • RDS supports several popular database engines, including:

      • Amazon Aurora: A MySQL and PostgreSQL-compatible relational database with high performance and availability.

      • MySQL

      • PostgreSQL

      • MariaDB

      • Oracle

      • Microsoft SQL Server

Use Cases

  1. Web and Mobile Applications: RDS is ideal for applications that require a reliable and scalable relational database, such as e-commerce platforms, content management systems, and mobile apps.

  2. Enterprise Applications: RDS can be used for enterprise applications that require high availability, security, and compliance, such as ERP and CRM systems.

  3. Development and Testing: RDS provides a cost-effective and scalable solution for development and testing environments, allowing developers to quickly spin up and tear down database instances.

Task:

  • Create a Free tier RDS instance of MySQL.

  • Create or use any of yours EC2 instance.

  • Once the RDS instance is up and running, get the credentials and connect your EC2 instance using a MySQL client.

Solution:

Make sure the EC2 instance is running so it appears in this drop-down menu.

You can choose the EC2 instance VPC that you selected in the previous step.

It could take up to 10 minutes, so be patient 🙂. In the meantime, install MySQL on your EC2 instance.

sudo apt install -y mysql-server

sudo systemctl start mysql.service

Once the database is available, it's time to connect.

mysql -u admin -h YOUR_ENDPOINT -p
show databases;

Thank you for reading😉.