AWS Challenge Project
AWS Challenge Project
https://linkedin.com/in/prafulpatel16
https://github.com/
https://medium.com/@prafulpatel16
Project:
Project Description:
An IT services provider, PRAfect Systems Inc., is engaged in providing Cloud/DevOps & software
development solutions. The company recently migrated its entire workload to the AWS Cloud. All
the workload has been running on the EC2 virtual machine where application server is configured
and web application is accessed through this server. They have configure the monitoring system
with AWS Cloudwatch and integrated a SNS notification as well through which cloud engineer
received a notification whenever there is a SystemCheck Failed for EC2 machine.
One morning cloud engineer received a System failure notification in to email, it was about EC2
machine root volume got corrupted due to some wrong system patching and hence it got system
check instance failed via monitoring system.
1
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
AWS Cloud
AWS Identity & Access Management (IAM)
AWS EC2 Machine
AWS Cloudwatch
AWS SNS
Terraform (Automated Cloud Provisioning Tool)
Ansible
Visual studio code IDE
GitHub
GitBash
Draw.io
2
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
AmazonElastic
Amazon Elastic Block
BlockStore
Store
(Amazon EBS)
(Amazon EBS) Volume Snapshot
https://disaster-recovery.workshop.aws/en/intro/disaster-recovery.html
3
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
In addition to the AWS global infrastructure, Amazon EC2 offers the following features to support your
data resiliency:
The following are examples of problems that can cause instance status checks to fail:
4
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Solution Architecture:
AWS EBS Root Volume Disaster Recovery by RPO & RTO Architecture
5
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
6
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Phase 3: Configure Cloudwatch monitoring & SNS topic for failure notification
o Go to Cloudwatch and create an Alarm
o Select an EC2 metric: StatusFailedCheck_System
o Create a new SNS Topic and provide an email address
o Complete the cloud watch process
o Go to SNS Topic and confirm the subscription by verifying the link
Pre-Requisite:
7
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Create a New IAM user with EC2FullAccess permission with programmatic access
Implementation in an Action:
8
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
o Prepare user data webserver and application source code packages in shell script
o Add user data file within the terraform configuration
o Verify that web application is successfully accessed from web browser
Terraform init
Terraform plan
Terraform apply
9
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Apply complete
10
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
11
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
https://github.com/prafulpatel16/terraform-projects-aws.git
12
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Volume
Go to Volume
13
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Take a snapshot
14
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Snapshot complete
15
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
OR
Go to VS code IDE
aws_region:
Instance id:
16
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Device_name:
Verify from the AWS console that snapshot has been created.
17
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Phase 3: Configure Cloudwatch monitoring & SNS topic for failure notification
o Go to Cloudwatch and create an Alarm
o Select an EC2 metric: StatusFailedCheck_System
o Create a new SNS Topic and provide an email address
o Complete the cloud watch process
o Go to SNS Topic and confirm the subscription by verifying the link
System Monitoring
Configure Cloudwatch
Create Alarm
18
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
19
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
20
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
21
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Go to EC2 Action
22
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
23
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Confirm Subscription
24
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
25
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Aws configure
26
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
27
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
28
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Sudo su –
29
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Email Received
30
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
31
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Go to Snapshot
Go to EC2
32
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
New Volume created and attached to ec2 and “In-Use” and older one is in “Available”
33
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Go to Web browser and verify that web application is up and running again after recovery
34
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Congratulations!!!! 🔥🚀
35
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Clean up Project:
Terraform destroy
Remove volume
36
AWS PROJECT: AWS-EBS ROOT VOLUME DISASTER RECOVERY, MONITORING & NOTIFICATION
SOLUTION DESIGN & IMPLEMENTATION BY: PRAFUL PATEL
Remove snaphosts
Resources:
https://wellarchitectedlabs.com/reliability/300_labs/300_testing_for_resiliency_of_ec2_rds_and_s3/6_failure_injection_app/
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/replace-root.html#view-replacement-tasks
https://github.com/terraform-aws-modules/terraform-aws-cloudwatch
https://docs.ansible.com/ansible/2.5/modules/ec2_snapshot_module.html
Congratulations!!!! 🔥🚀
37