🌐
Static Website
S3 bucket served via CloudFront CDN. No servers. Globally distributed.
What you can build with this
Host a static website, single-page app (React/Vue/Angular), or documentation site. Visitors are served from a CloudFront edge location near them — typically under 100ms globally. You upload files to S3 and CloudFront handles the rest.
Deployment timing
After you run the deploy command, resources come online at different times. Check the validation steps in order.
| Resource | Ready in |
|---|---|
| S3 Bucket | Ready during stack deploy (1–2 min in) |
| CloudFront Distribution created | 2–3 min (when stack reaches CREATE_COMPLETE) |
| CloudFront fully propagated globally | 5–15 min after CREATE_COMPLETE |
| Cache invalidation | 1–2 min after you create it |
| Custom domain DNS | 5–30 min after Route53 record is saved |
DNS / Certificate note: ACM certificates for CloudFront must be requested in us-east-1, even if your users or other resources are in another region. After creating the Route53 alias record, allow 5–30 minutes for DNS to propagate. Your CloudFront URL works immediately — the custom domain takes longer.
CloudFormation parameters
These are the values you will fill in when deploying the exported template. Changing these does not break the template — that is the point.
| Parameter | What to provide | Example |
|---|---|---|
| BucketName | Globally unique S3 bucket name for your site files | mycompany-website-prod |
| AcmCertificateArn | ACM certificate ARN for your custom domain (leave blank to use the CloudFront URL) | arn:aws:acm:us-east-1:123456789012:certificate/abc-123 |
| Aliases | Your custom domain(s) — must match the certificate | example.com, www.example.com |