Cloudfront .net ((free)) Here

var distribution = new CloudFrontDistribution(this, "MyDist", new CloudFrontDistributionProps

Use CloudFront Functions (free tier up to 2M requests/month) instead of Lambda@Edge for lightweight header manipulation. 8. Sample Deployment Architecture (.NET 8) User → CloudFront (CDN + WAF) → Application Load Balancer → ECS/Fargate (.NET 8 API) → S3 (static Blazor files) Terraform (CDK for .NET) snippet: cloudfront .net

using Amazon.XRay.Recorder.Handlers.AspNetCore; app.UseXRay("MyDotNetApp"); X-Ray will show segments for CloudFront → ALB → .NET API. | Component | Cost Driver | .NET-Specific Note | |-----------|-------------|---------------------| | Data transfer out | Global egress | Significantly lower than direct EC2 egress | | HTTP/HTTPS requests | Per 10,000 requests | Blazor apps generate many small file requests | | Lambda@Edge | Per invocation + duration | Avoid heavy .NET compute here; prefer origin | | Invalidations | First 1000 free/month | Use versioned filenames (hash in Blazor) instead of invalidations | | Component | Cost Driver |