Projects

Creating AWS Billing Alarms with CloudWatch

CloudWatch
SNS
Billing
Monitoring

Monitoring AWS costs using CloudWatch billing alarms and SNS notifications.

Introduction

In this project I configured multiple billing alarms in AWS using CloudWatch and SNS notifications.

The objective was to create a simple cost-monitoring mechanism capable of sending alerts whenever estimated AWS charges exceeded a predefined threshold.

This type of monitoring is especially useful in:

  • personal AWS accounts
  • sandbox environments
  • learning projects
  • small production workloads

Services Used

The project uses the following AWS services:

  • Amazon CloudWatch
  • Amazon SNS
  • AWS Billing Dashboard

Architecture

The billing metrics are generated automatically by AWS and stored in:

US East (N. Virginia)

CloudWatch monitors the estimated charges and triggers an SNS notification whenever the configured threshold is exceeded.

Alarm Configuration

Three different billing alarms were created with different thresholds.

Each alarm included:

  • billing metric monitoring
  • threshold configuration
  • evaluation period
  • SNS notification trigger

SNS Notifications

The alarms were connected to an SNS topic in order to send email notifications automatically.

The workflow was:

CloudWatch Alarm

SNS Topic

Email Notification

After creating the SNS topic, the email subscription had to be confirmed manually.

Important Considerations

One important aspect of AWS billing alarms is that billing metrics are only available in:

us-east-1

Even if the rest of the infrastructure is deployed in another region.

Lessons Learned

This project helped reinforce several AWS fundamentals:

  • CloudWatch metric monitoring
  • SNS integrations
  • cost monitoring best practices
  • AWS billing metrics behavior
  • alerting workflows

References

Final Result

Below is the final alarm configuration inside CloudWatch.

Project Code

You can find the Terraform code used in this project in the following GitHub directory.

View Terraform Directory

Comments

Loading comments...
Loading...