Skip to content

Lesson 11 β€” Enterprise Build Project

Learning Path

☁️ Phase 2 – AWS Cloud Security

πŸ“˜ Module 05 – Amazon EC2 Security


Welcome to the capstone project for Module 05 – Amazon EC2 Security.

In this project, you will build a secure enterprise-grade EC2 environment for CloudNova Technologies.

This project combines everything learned throughout the module into a single deployment that closely resembles how cloud engineers build secure production workloads in real organisations.

By the end of this project, you will be able to:

  • Design a secure EC2 deployment.
  • Deploy application servers using enterprise standards.
  • Secure compute resources using IAM Roles.
  • Configure encrypted storage.
  • Enable Systems Manager administration.
  • Implement monitoring and backup.
  • Validate the deployment using enterprise security checklists.

CloudNova Technologies is launching a brand-new Learning Management System (LMS).

The company expects:

  • Thousands of concurrent users
  • Student assessments
  • Course streaming
  • AI-powered learning features
  • 24Γ—7 availability

As the Cloud Security Engineer, you are responsible for deploying the first secure production environment.

Your deployment must follow CloudNova’s enterprise security standards.


Internet
β”‚
AWS Shield Standard
β”‚
AWS WAF
β”‚
Application Load Balancer
β”‚
Public Subnets (Multi-AZ)
β”‚
Auto Scaling Group (EC2)
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ β”‚
Private App Subnet A Private App Subnet B
β”‚ β”‚
EC2 App Server 01 EC2 App Server 02
β”‚ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
Amazon RDS (Private)
β”‚
Amazon S3 (Application Files)
β”‚
────────────────────────────────────────────────────────────
Supporting Services
IAM Roles
AWS Systems Manager
CloudWatch
CloudTrail
AWS Backup
AWS KMS
Amazon EBS Encryption

Your environment must include:

Component Required
Amazon Linux 2023 βœ…
Amazon VPC βœ…
Private Subnets βœ…
Security Groups βœ…
IAM Role βœ…
Systems Manager βœ…
CloudWatch Agent βœ…
Encrypted EBS βœ…
Auto Scaling βœ…
Application Load Balancer βœ…
AWS Backup βœ…
CloudTrail βœ…

Verify the following already exist:

  • CloudNova-Prod-VPC
  • Public Subnets
  • Private Application Subnets
  • Internet Gateway
  • NAT Gateway
  • Route Tables
  • Security Groups

Review the networking configuration before launching compute resources.


Create a Launch Template.

Configuration:

Setting Value
Name CloudNova-Web-Template
AMI Amazon Linux 2023 or CloudNova-Secure-AMI-v1
Instance Type t3.micro
IAM Role CloudNova-EC2-Role
Root Volume 20 GiB gp3
Encryption Enabled

Launch the EC2 instances into the Private Application Subnets.


Verify the EC2 instances use:

CloudNova-EC2-Role

Required permissions:

  • AmazonSSMManagedInstanceCore
  • CloudWatchAgentServerPolicy
  • Read-only access to required Amazon S3 resources (or a custom least-privilege policy)

Verify:

Terminal window
aws sts get-caller-identity

Confirm:

  • Managed Node is online.
  • Session Manager works.
  • Run Command executes successfully.

Execute:

Terminal window
hostname
df -h
uptime

Verify:

  • Encrypted EBS
  • AWS KMS
  • Snapshot capability

Create:

CloudNova-Production-Backup

Verify encryption remains enabled.


Install the CloudWatch Agent.

Verify:

  • CPU
  • Memory
  • Disk
  • Network

Create CloudWatch Alarms:

Metric Threshold
CPU >80%
Disk >90%
Status Checks Failed

Review CloudTrail.

Verify:

  • RunInstances
  • StopInstances
  • CreateSnapshot
  • ModifyInstanceAttribute

Record:

  • Event Time
  • User
  • Resource

Create:

Daily Backup Plan

02:00 AM

Retention:

30 Days

Assign:

  • EC2 Instance
  • EBS Volumes

Create:

Setting Value
Minimum 2
Desired 2
Maximum 6

Scaling Policy:

CPU >70%
↓
Launch New Instance

Scale-In Policy:

CPU <30%
↓
Remove Instance

Verify every server has:

βœ… Private IP

βœ… No Public IP

βœ… IAM Role

βœ… Session Manager

βœ… Encrypted Storage

βœ… CloudWatch Agent

βœ… Backup Enabled

βœ… Correct Security Group


Complete the following tasks.


Deploy:

CloudNova-App-Server-01
CloudNova-App-Server-02

Requirements:

  • Amazon Linux 2023
  • Private Subnet
  • IAM Role
  • Encrypted Storage
  • Enterprise Tags

Run:

Terminal window
aws sts get-caller-identity

Confirm:

Assumed Role

is displayed.


Connect using:

Session Manager

Run:

Terminal window
hostname
whoami
uptime

Review:

  • Encrypted EBS
  • Snapshots
  • AWS KMS Key

Confirm:

CloudWatch Dashboard displays:

  • CPU
  • Memory
  • Disk
  • Network

Review CloudTrail events for:

  • EC2 Launch
  • Snapshot Creation
  • IAM Role Association

Review:

AWS Backup

↓

Protected Resources

Confirm successful backup jobs.


Terminate one EC2 instance from the Auto Scaling Group.

Observe:

  • Health Check Failure
  • Automatic Replacement
  • New Instance Registration
  • Load Balancer Health

Terminal window
aws ec2 describe-instances

Terminal window
aws ec2 describe-volumes

Terminal window
aws sts get-caller-identity

Terminal window
aws ssm describe-instance-information

Terminal window
aws cloudwatch describe-alarms

Terminal window
aws autoscaling describe-auto-scaling-groups

Terminal window
aws backup list-backup-jobs

Terminal window
aws cloudtrail lookup-events

Document the following evidence.

Evidence Required
VPC Architecture βœ…
EC2 Dashboard βœ…
Security Groups βœ…
IAM Role βœ…
Session Manager βœ…
CloudWatch Dashboard βœ…
CloudTrail Events βœ…
AWS Backup βœ…
Auto Scaling Group βœ…
Application Load Balancer βœ…
Encrypted EBS βœ…
Snapshots βœ…
AWS CLI Output βœ…

Enterprise-EC2-Build-Project/
β”œβ”€β”€ README.md
β”œβ”€β”€ Architecture/
β”‚ β”œβ”€β”€ Architecture-Diagram.png
β”‚ β”œβ”€β”€ Network-Diagram.png
β”‚ └── Security-Architecture.png
β”‚
β”œβ”€β”€ Screenshots/
β”‚ β”œβ”€β”€ EC2.png
β”‚ β”œβ”€β”€ IAM-Role.png
β”‚ β”œβ”€β”€ Session-Manager.png
β”‚ β”œβ”€β”€ CloudWatch.png
β”‚ β”œβ”€β”€ CloudTrail.png
β”‚ β”œβ”€β”€ Backup.png
β”‚ β”œβ”€β”€ AutoScaling.png
β”‚ └── LoadBalancer.png
β”‚
β”œβ”€β”€ Evidence/
β”‚ β”œβ”€β”€ CLI-Commands.md
β”‚ β”œβ”€β”€ Validation-Checklist.md
β”‚ └── Security-Review.md
β”‚
└── Lessons-Learned.md

Validation Item Status
Private Subnets Used ☐
No Public IPs ☐
IAM Role Attached ☐
Session Manager Operational ☐
EBS Encryption Enabled ☐
CloudWatch Agent Installed ☐
CloudWatch Alarms Configured ☐
CloudTrail Enabled ☐
AWS Backup Configured ☐
Auto Scaling Operational ☐
Load Balancer Healthy ☐
Security Groups Reviewed ☐
EC2 Instances Patched ☐

Your project is complete when:

  • Two secure EC2 instances are deployed.
  • All instances use IAM Roles.
  • Storage is encrypted.
  • Session Manager replaces SSH for administration.
  • Monitoring and logging are operational.
  • Automated backups are configured.
  • Auto Scaling is functional.
  • The Application Load Balancer distributes traffic successfully.
  • The environment complies with CloudNova’s enterprise security standards.

Create a second Launch Template using an updated AMI and perform a blue/green deployment with minimal downtime.


Review all Security Groups and remove any unnecessary inbound or outbound rules while ensuring application functionality.


Challenge 3 β€” Create a Custom CloudWatch Dashboard

Section titled β€œChallenge 3 β€” Create a Custom CloudWatch Dashboard”

Build a dashboard displaying:

  • CPU Utilisation
  • Memory Usage
  • Disk Usage
  • Network Traffic
  • Auto Scaling Activity
  • EC2 Health Checks

  1. Create a manual EBS Snapshot.
  2. Simulate the loss of an application server.
  3. Restore the snapshot.
  4. Launch a replacement EC2 instance.
  5. Verify the application can be recovered successfully.

Congratulations!

By completing this project, you have applied the complete EC2 security lifecycle used in enterprise environments.

You have successfully demonstrated practical experience with:

  • Secure EC2 deployment
  • IAM Roles and least privilege
  • Amazon EBS encryption and AWS KMS
  • AWS Systems Manager and Session Manager
  • EC2 hardening and patch management
  • Amazon CloudWatch monitoring
  • AWS CloudTrail auditing
  • AWS Backup and disaster recovery
  • Auto Scaling Groups
  • Application Load Balancers
  • Enterprise security validation

These are the same core skills expected of Cloud Engineers, Cloud Security Engineers and DevSecOps professionals working with production AWS environments.


➑️ Lesson 12 β€” Module Review