Lab Activity 5
Lab Activity 5
The purpose of this activity is to provide hands-on experience with Amazon RDS, enabling
students to understand the deployment and management of cloud-based relational database instances.
This lab emphasizes the importance of cloud databases in modern applications by showcasing how they
simplify setup, operation, and scaling while reducing administrative overhead. By working with Amazon
RDS, users gain practical knowledge of setting up relational databases using various engines like MySQL,
PostgreSQL, and Amazon Aurora. Additionally, the activity highlights the role of Multi-AZ deployments in
ensuring high availability and durability for production workloads. This hands-on experience equips
students with the skills to deploy scalable and cost-efficient cloud database resources, aligning with real-
world application requirements.
Settings:
DB Instance Class:
Storage:
Monitoring:
Additional Configuration:
Finally, scroll down to the Connectivity & security section and copy the value of
the Endpoint field (e.g., lab-db.xxxx.us-east-1.rds.amazonaws.com). Save this
Endpoint in a text editor for use in later steps.
Results
To secure database connectivity, I configured a VPC security group specifically for the database.
By defining inbound rules, I restricted access to the database port (3306) to only the security group
associated with the web server. This ensured that only authorized applications within the VPC could
connect to the database, effectively blocking any external or unauthorized access. This approach
enhances security by using AWS's network-level control to isolate and protect the database from
malicious users or unintended exposure.
Achieving High Availability:
The configuration of the DB subnet group played a critical role in ensuring high availability. By specifying
subnets in two different Availability Zones, I enabled Amazon RDS to deploy a Multi-AZ setup. This
configuration ensures that, in the event of a failure in one zone, the database remains operational
through a standby instance in another zone. This fault-tolerant design reduces downtime and ensures
continuous availability of critical applications, which is essential for production workloads.
The managed nature of Amazon RDS significantly streamlined database administration tasks.
AWS automated time-consuming processes like backups, software patching, and instance scaling,
allowing me to focus on application development rather than infrastructure maintenance. For example, I
didn’t need to manually set up replication for high availability; Amazon RDS handled this seamlessly as
part of the Multi-AZ deployment. This not only saved time but also reduced the complexity of managing
a relational database in a cloud environment.
Amazon RDS provides flexible configuration options, allowing organizations to easily scale
resources based on demand. For this activity, I chose a db.t3.micro instance, which is cost-efficient for
development and testing purposes. If application requirements grow, the instance type can be upgraded
to a more powerful class without significant downtime. Additionally, RDS's storage and compute
resources can be scaled independently, ensuring that organizations pay only for what they need while
maintaining optimal performance. This flexibility ensures that the database can adapt to changing
workloads efficiently.