Monitor EC2 Instances with CloudWatch Alarms and Dashboards
Enable detailed monitoring on EC2, create CloudWatch alarms for CPU and status checks, build a dashboard, and configure SNS notifications.

Lab overview
Amazon CloudWatch is the native monitoring and observability service for AWS, providing a unified view of operational health across cloud resources. For EC2 instances, CloudWatch collects and tracks metrics such as CPU utilization, network traffic, and disk activity, enabling engineers to detect performance anomalies, trigger automated responses, and maintain service-level objectives. When combined with CloudWatch alarms and Amazon SNS, teams can build proactive alerting pipelines that notify operators the moment a resource deviates from expected behavior, turning reactive firefighting into structured incident response.
In this lab, you will enable detailed monitoring on an EC2 instance to collect metrics at one-minute intervals, create CloudWatch alarms that trigger on high CPU utilization and failed status checks, build a CloudWatch dashboard to visualize instance health in a single pane of glass, and configure an SNS topic to deliver email notifications when an alarm enters the ALARM state.
Objectives
Upon completing this beginner level lab, you will be able to:
- Enable detailed monitoring on an EC2 instance to collect metrics at one-minute intervals
- Create a CloudWatch alarm that triggers when CPU utilization exceeds a defined threshold
- Create a CloudWatch alarm for EC2 status check failures
- Create an SNS topic and subscribe an email endpoint for alarm notifications
- Build a CloudWatch dashboard with widgets displaying CPU utilization, network traffic, and status check metrics
Who is this lab for?
This lab is designed for:
- Cloud beginners who want to learn the fundamentals of AWS monitoring and alerting
- Junior cloud engineers looking to build operational skills with CloudWatch metrics, alarms, and dashboards
Basic familiarity with the AWS Console and EC2 instances is recommended but not required.
Verified against your live environment
An automated validation engine inspects your actual resources and configurations as you work. Completion means the task was performed, not multiple choice, real-world proficiency.
More labs like this
Deploy Amazon EC2 Instance in AWS Cloud
Deploy Amazon EC2 Instance in AWS Cloud in this hands-on lab.
Publish and Subscribe with Amazon SNS and SQS
Create SNS topics and SQS queues to publish messages and build a fan-out messaging pattern on AWS
Launch an EC2 Instance using AWS Lambda Function
Learn how to create a Python Lambda function to automatically provision EC2 instances, demonstrating serverless automation for AWS infrastructure deployment.
Related reading
Environment
Every lab includes
- Real environment, pre-credentialed
- Automated checks on every step
- Isolated sandbox, auto cleanup
- AI-recommended next steps
Lab curriculum
- 01
Signing into AWS Console
- 02
Enable Detailed Monitoring on an EC2 Instance
1 automated check
- 03
Create an SNS Topic and Email Subscription for Alarm Notifications
1 automated check
- 04
Create CloudWatch Alarms for EC2 CPU and Status Checks
1 automated check
- 05
Build a CloudWatch Dashboard with EC2 Metric Widgets
1 automated check
Skills validated
Not the lab you were looking for?
Browse 250+ hands-on labs across AWS, Azure, Kubernetes, Docker, and cloud security.