Real-time FinOps dashboard at costing.climacs.net
| Service | Description & Docs | Hourly | Daily | Weekly | Monthly |
|---|---|---|---|---|---|
|
ECS Fargate
Compute
|
Serverless container running the FastAPI backend (0.25 vCPU, 512MB). Serves dashboard UI and all API endpoints. No EC2 instances to manage.
AWS Fargate Docs โ
Pricing โ
|
$0.012 | $0.30 | $2.07 | $8.92 |
|
Application Load Balancer
Networking
|
Layer 7 load balancer handling HTTPS termination, health checks, and traffic routing to ECS. Fixed hourly cost + LCU usage. Biggest cost driver.
AWS ELB Docs โ
Pricing โ
|
$0.025 | $0.61 | $4.23 | $18.40 |
|
Route 53
Networking
|
Managed DNS service hosting the
AWS Route 53 Docs โ
Pricing โ
costing.climacs.net A-record alias pointing to the ALB. Also validates ACM certificate via CNAME record. |
$0.001 | $0.02 | $0.12 | $0.50 |
|
ACM
Security
|
AWS Certificate Manager provides free public TLS certificates with automatic renewal. Used for HTTPS on ALB with TLS 1.3 policy.
AWS ACM Docs โ
Pricing โ
|
Free | Free | Free | Free |
|
Lambda
Compute
|
Serverless function (Python 3.9) triggered every 15 min by EventBridge. Runs 6 Athena queries and writes aggregated JSON to S3. ~2,880 invocations/month.
AWS Lambda Docs โ
Pricing โ
|
~$0.00 | ~$0.00 | $0.01 | $0.04 |
|
EventBridge
Management
|
Serverless event bus scheduling the Lambda aggregator at 15-minute intervals using a cron rule. Default event bus events are free.
AWS EventBridge Docs โ
Pricing โ
|
Free | Free | Free | Free |
|
Athena
Analytics
|
Serverless SQL query engine scanning CUR Parquet files in S3. Billed at $5 per TB scanned. Partition pruning keeps scans minimal (~1-2 MB per query).
AWS Athena Docs โ
Pricing โ
|
~$0.00 | $0.003 | $0.02 | $0.09 |
|
S3
Storage
|
Two buckets: climacs-cur-data (raw CUR Parquet) and costing-aggregates (pre-computed JSON). Also stores Athena query results and Terraform state.
AWS S3 Docs โ
Pricing โ
|
~$0.00 | $0.003 | $0.02 | $0.10 |
|
Glue
Analytics
|
Glue Crawler discovers CUR data partitions (year/month/day) and maintains the Glue Data Catalog table schema used by Athena for partition pruning.
AWS Glue Docs โ
Pricing โ
|
~$0.00 | ~$0.00 | $0.01 | $0.04 |
|
ECR
Compute
|
Elastic Container Registry stores the Docker image for the FastAPI backend. ECS pulls the
AWS ECR Docs โ
Pricing โ
:latest tag on each deployment. Storage at $0.10/GB/month. |
~$0.00 | ~$0.00 | $0.01 | $0.05 |
|
CloudWatch Logs
Management
|
Centralized logging for ECS container output. Log group retention set to 7 days to minimize storage costs. $0.50/GB ingested, $0.03/GB stored.
AWS CloudWatch Docs โ
Pricing โ
|
~$0.00 | $0.005 | $0.04 | $0.15 |
|
AWS Budgets
Management
|
Cost guardrail with 3 alert thresholds: 80% actual, 100% actual, and 120% forecasted. Sends email alerts. First 2 budgets are free.
AWS Budgets Docs โ
Pricing โ
|
Free | Free | Free | Free |
| Estimated Total | ~$0.038 | ~$0.94 | ~$6.53 | ~$28.29 | |
Serverless container running the FastAPI backend. Serves the HTML/JS dashboard and all /api/* endpoints.
Reads pre-aggregated JSON from S3. Basic Auth enforced on all API routes.
Scheduled every 15 minutes via EventBridge. Runs 6 Athena queries to compute summary, timeseries (hourly/daily), service breakdown, and month-over-month comparisons. Writes compact JSON to S3.
Two buckets: climacs-cur-data for raw CUR Parquet files from AWS Billing, and costing-climacs-aggregates for Lambda-computed JSON summaries consumed by the API.
Glue Crawler discovers CUR data partitions (year/month/day). Athena provides serverless SQL querying over Parquet files with partition pruning for cost-efficient scans.
Application Load Balancer handles TLS termination with auto-provisioned ACM certificate.
HTTP โ HTTPS redirect. Health checks on /health. Multi-AZ subnets.
All infrastructure defined in code. S3 remote backend for state. 6 Terraform files covering ECS, Lambda, S3/Athena, Route53, and shared config.
ELBSecurityPolicy-TLS13.When the demo is complete, destroy all resources to stop billing:
cd terraform && terraform destroy
This will remove all 31 AWS resources. The ECR repository must be deleted separately via AWS CLI.