← Back

AWS Cost Reporter (Terraform + Python)

A daily FinOps-style automation that pulls AWS spend from Cost Explorer, generates a PNG report (matplotlib), stores artifacts in private S3, and emails a time-limited pre-signed link via SNS. Built end-to-end with Terraform.

AWS Terraform Lambda EventBridge S3 SNS Python matplotlib
View code on GitHub Architecture Decisions Results

Architecture

EventBridge triggers a scheduled Lambda. The Lambda queries Cost Explorer, generates JSON + a PNG chart, uploads both to a private S3 reports bucket, and publishes an SNS notification email containing time-limited pre-signed URLs.

Schedule: EventBridge (daily)
Compute: Lambda (Python)
Data source: AWS Cost Explorer
Storage: S3 (private + encrypted)
Notification: SNS Email (confirmed subscription)
Access model: Pre-signed URLs (temporary access)
Tip: drop your PNG/SVG diagram into /public and embed it here later.

Key decisions

Results