In this fifth task, you are going to use the same 3 - tier application (JobsEzy) we deployed before but in High Availability mode for Backend and Database.
Readme of these Github repo contains instructions on how to deploy it,
JobsEzy Frontend Repo - https://github.com/ezyinfra/jobsezy-ui
JobsEzy Backend Repo - https://github.com/ezyinfra/jobsezy-server
Difficulty Level - Intermediate
Days to complete - 4 days
Architecture
Objectives
Understand what is meant by High Availability mode and concepts in AWS such as Region, Availability Zones
Use Auto Scaling group with Amazon Machine Image to setup HA mode for Backend services using 2 EC2 Instances
Use Service script to start the services, don't start it directly using the command.
Deploy the backend services in AZ1 and AZ2 of us-east-1 region
Setup Read Replicas and stand by nodes for AWS RDS in multiple availability zones
Once the setup is complete, bring down one of the EC2 instance and still we should able to access the application.
AWS Services / Technologies
AWS Region, AZs | Auto Scaling Group |
Application Load Balancer | Service Script |
RDS | Amazon Machine Image |
High level Tasks
Create an EC2 instance and setup the backend services for JobsEzy. Make sure the service is running fine.
Note: you should use Service script / SystemD script to start & enable the backend service
Create AMI from the EC2 instance and use that in Autoscaling group
Create launch template, ASG using the AMI created
Create RDS with Read Replica and Standby instance enabled
Make sure you have proper Application Load Balancer setup over Auto Scaling Group
Once the backend and RDS services are setup, bring down one of the EC2 instance and make sure Target group is reporting unhealthy but your application should run properly.
Reference material
You can use any reference - AI, AWS Docs, Youtube videos. But the objective is you should able to complete the task and should able to explain what you did clearly.
Video Solution
Coming Soon
Share this post