title: “ADR-001 — Start S3 + CloudFront Personal Site on the Default CloudFront URL” created: 2026-10-23 updated: 2026-10-28 type: adr status: accepted tags:
- aws
- certification
- architecture
- adr
- cloudfront
- s3
ADR-001 — Start S3 + CloudFront Personal Site on the Default CloudFront URL
Status
accepted — and the deferred migration path was later executed.
Update (2026-10-28): the custom domain was added as planned (the “purely additive” migration below). Domain
mimifasol.comregistered in Route 53 (not an external registrar — the original note preferred external to avoid the hosted-zone fee, but Route 53 was chosen deliberately as part of the AWS certification learning), apexmimifasol.com+docs.mimifasol.comwired to the existing distribution via ACM + Alias records. The original decision (start on the default URL) stands as recorded; see [[deploy-custom-domain-route53-acm-cloudfront]] for what was actually done.
Context
The mdBook static site generated in bhu-docs/public/book/ (AWS certification notes) needs hosting on AWS as S3 + CloudFront for personal use. Traffic is very low (a few visitors per day) and the primary objective is minimal cost. A decision is needed on whether to use a custom domain (e.g. docs.example.com) or the default CloudFront URL (e.g. d1234xyz.cloudfront.net) for the first deployment. No domain is owned yet.
See [[cloudfront-custom-domain-vs-default-url]] for the full concept explanation.
Decision
Use the default CloudFront URL for the first deployment. Defer the custom domain until a concrete need for a memorable URL arises. If/when a domain is added, prefer a subdomain (docs.) on an external registrar to avoid Route 53’s hosted-zone fee.
Options Considered
Option A — Default CloudFront URL
- Pros: $0 cost; zero DNS/TLS setup; HTTPS works immediately via AWS-managed cert; lets us focus on the real work (private bucket + OAC, cache invalidation, build pipeline).
- Cons: URL is ugly and not memorable; not “ours”; changes if the distribution is recreated.
Option B — Custom Domain Now
- Pros: clean, memorable, stable URL from day one.
- Cons: requires buying a domain (~$10–15/year) if none exists; ACM cert in
us-east-1; DNS wiring (alias/CNAME); $0.50/month if DNS is on Route 53. Extra effort for no functional gain at this stage.
Consequences
- Positive: near-zero recurring cost; fastest path to a working, HTTPS-served site; no vendor lock-in — the migration to a custom domain is purely additive.
- Negative: the URL must be bookmarked rather than typed from memory; sharing the link is less elegant.
- Migration path: adding a custom domain later requires no rebuild — request an ACM cert in
us-east-1, add the domain under Alternate domain names + attach the cert, and create the DNS record. S3 bucket, distribution, content, and pipeline stay identical, and the*.cloudfront.netURL keeps working in parallel.
See Also
- [[cloudfront-custom-domain-vs-default-url]]
- [[deploy-custom-domain-route53-acm-cloudfront]]
- [[aws-budgets-cost-controls]]
- [[s3-fundamentals]]