Escrito por Rodrigo de Miguel
Dominio con Route 53 y CloudFront para un blog Astro SSG (4/5)
Cómo añadir dominio propio, HTTPS y Google Search Console a un blog estático en AWS usando Route 53 y CloudFront, de forma sencilla y sin pelearte con DNS.
Vamos a rematar el blog
A estas alturas ya tenemos algo que pinta muy bien:
- Un blog en Astro
- HTML estático
- S3 + CloudFront sirviendo contenido rápido
- URLs limpias
- Coste prácticamente cero
Lo único que falta para que esto ya huela a proyecto cerrado es:
- dominio propio
- HTTPS
- contarle a Google que estamos aquí
Nada más.
No vamos a montar nada extraño ni a tirarnos horas peleando con DNS (spoiler: AWS aquí se porta).
Qué vamos a hacer en este post
Paso a paso y sin rodeos:
- Comprar un dominio (fuera de AWS)
- Gestionar el DNS con Route 53
- Crear y asociar certificados SSL
- Conectar el dominio a CloudFront
- Registrar el sitio en Google Search Console
Cuando terminemos:
👉 el blog será accesible desde tu dominio, con HTTPS y visible para Google.
Paso 1 — Comprar el dominio (donde quieras)
Aquí no hay misterio. El dominio lo puedes comprar donde te resulte más cómodo.
Algunos proveedores habituales:
- Raiola Networks↗
- Hostinger↗
- DonDominio (suele salir bien de precio)
- AWS Route 53 (también es una buena opción)
El proveedor da igual.
La condición clave es que permita cambiar los nameservers.
Paso 2 — Crear la zona hospedada en Route 53
Ahora sí, entramos en AWS.
En Route 53:
- Hosted zones → Create hosted zone
- Domain name:
tudominio.com - Type: Public hosted zone
Al crearla, AWS te entrega:
- 4 registros NS (servidor de nombres DNS)
- 1 registro SOA (autoridad de zona)
Estos nameservers son los que vamos a necesitar justo después.
Paso 3 — Enlazar el dominio con Route 53
Vuelve al proveedor donde compraste el dominio.
Busca algo parecido a:
- “Servidores DNS”
- “Nameservers”
- “Gestión DNS”
Y sustituye los nameservers actuales por los que te dio Route 53.
Ejemplo:
ns-123.awsdns-45.org
ns-456.awsdns-78.co.uk
ns-789.awsdns-12.com
ns-321.awsdns-34.netPropagación DNS
Este cambio:
- a veces es casi inmediato
- otras veces tarda unas horas
Para comprobarlo, busca tu dominio en:
Cuando los NS ya apunten a AWS, seguimos adelante.
Paso 4 — Certificado SSL (HTTPS) con AWS ACM
Detalle clave: CloudFront solo acepta certificados en us-east-1. No lo olvides.
Opción CLI (rápida)
aws acm request-certificate \
--domain-name tudominio.com \
--subject-alternative-names www.tudominio.com \
--validation-method DNS \
--region us-east-1Opción consola (más visual)
- Ve a AWS Certificate Manager
- Request certificate
- Public certificate
- Dominios:
tudominio.comywww.tudominio.com - Validación: DNS
- El resto por defecto
ACM te dará un registro CNAME para validar que el dominio es tuyo.
Paso 5 — Validar el certificado en Route 53
En Route 53 → Hosted zone del dominio:
- Create record
- Tipo: CNAME
- Copia exactamente los valores que te da ACM
Muchas veces AWS muestra el botón “Create records in Route 53”. Si aparece, úsalo y te ahorras trabajo.
En pocos minutos: 👉 el certificado pasa a estado Issued.
Guarda el ARN del certificado. Lo necesitamos más adelante.
Paso 6 — Asociar el dominio y el SSL a CloudFront
Volvemos a CloudFront.
En tu distribución:
- General → Edit
Configura:
- Alternate domain name (CNAME) →
tudominio.com - Custom SSL certificate → selecciona el certificado
- HTTP versions → HTTPS/2 y HTTPS/3
Guarda los cambios.
CloudFront tarda un rato en propagar la configuración. Es normal, aquí toca esperar.
Paso 7 — Crear el registro DNS hacia CloudFront
En Route 53 → Hosted zone:
- Create record
- Tipo: A
- Alias: sí
- Target: el dominio de tu distribución de CloudFront
Con esto conectas:
👉 tudominio.com → CloudFront → S3
Cuando termine la propagación: 🎉 el blog debería cargar con HTTPS y dominio propio.
Paso 8 — Google Search Console (contarle a Google que existes)
Ahora toca una parte menos técnica, pero igual de relevante.
Crear propiedad
- https://search.google.com/search-console↗
- Añadir propiedad
- Tipo: Dominio
Google te dará un registro TXT.
Verificar dominio
En Route 53:
- Create record
- Tipo: TXT
- Pega el valor que te da Google
Esperas unos minutos y validas.
Paso 9 — Enviar el sitemap
En Search Console:
- Sitemaps
- Añadir sitemap
En Astro, por defecto:
https://tudominio.com/sitemap-index.xmlY listo.
A partir de aquí:
- Google empieza a rastrear
- aparecen impresiones en “Rendimiento”
- la indexación va poco a poco (esto lleva su tiempo)
Cómo comprobar que todo está bien
Comprobaciones rápidas y prácticas:
https://tudominio.comcargahttps://tudominio.com/blog/funciona sin index.htmlhttps://tudominio.com/sitemap-index.xmlexiste- En Search Console no aparecen errores graves
Si algo no encaja:
- revisa DNS
- revisa que el certificado esté en us-east-1
- revisa que el dominio esté asociado a CloudFront
Qué hemos hecho realmente
Visto con perspectiva, no es nada fuera de lo normal:
- Un dominio
- DNS gestionado por AWS
- HTTPS sin tocar certificados a mano
- Google avisado
Todo con piezas conocidas y sin trucos raros.
Qué queda por hacer
El blog ya está online y accesible para cualquiera, asi que...
En el siguiente (y último) post:
- Añadir CI con GitHub Actions
- Desplegar automáticamente con cada push
- Quitar el “paso manual” del deploy
Cerrar el flujo de principio a fin.
“Ahora solo falta automatizar el despliegue para dejarlo redondo.”
Posts de la serie
1️⃣ Parte 1: Un blog no debería ser un SaaS
2️⃣ Parte 2: Preparar un blog en Astro con buen criterio
3️⃣ Parte 3: S3 + CloudFront para servir un blog estático rápido y barato
👉 Parte 4: Dominio con Route 53 y CloudFront para un blog Astro SSG
5️⃣ Parte 5: Automatizar el despliegue de un blog Astro SSG con GitHub Actions y AWS
🐙 GitHub Repo: demo-astro-ssg-s3-cloudfront↗