Un dominio da para mucho más que una web. Puedes tener app.midominio.com en una máquina, intranet.midominio.com en otra y clientes.midominio.com en un servicio externo, sin comprar nada más: son subdominios, y en Route 53 cada uno es una línea. Y está la eterna pregunta de www: que las dos formas de escribir tu dominio lleven a la misma web. Esta guía resuelve las dos cosas y aclara un malentendido frecuente: el DNS dice a dónde va cada nombre, pero no hace redirecciones; eso lo hace el servidor.
Antes de empezar: qué significa cada cosa
- Dominio y subdominio
- midominio.com es el dominio; cualquier cosa delante de él separada por un punto (app.midominio.com) es un subdominio. Se crean en el DNS, no se compran.
- Route 53 y zona alojada
- El DNS de Amazon y el "expediente" de tu dominio dentro de él, con todos sus registros.
- Registro A
- Un nombre apunta a una dirección IP. Es lo que se usa para una máquina tuya.
- Registro CNAME
- Un nombre apunta a otro nombre. Se usa para servicios externos ("clientes.midominio.com va a lo-que-sea.proveedor.com"). No se puede poner en la raíz del dominio.
- Registro alias
- Un invento de Route 53 que funciona como un CNAME pero también en la raíz, para apuntar a servicios de AWS (CloudFront, balanceadores, buckets).
- Comodín (*)
- Un registro *.midominio.com responde por cualquier subdominio que no tenga su propio registro.
- Redirección
- Que al abrir una dirección el navegador acabe en otra. La hace el servidor web (o un servicio), no el DNS.
- TTL
- Segundos que los demás pueden recordar la respuesta. Bajo mientras cambias cosas, alto cuando está estable.
Paso a paso
Abre la zona de tu dominio
Consola de Route 53, Zonas alojadas, pulsa tu dominio. Verás los registros que ya tiene: el A de la raíz, quizá el de www, los MX del correo. Cada subdominio nuevo será un registro más en esta lista.
Crea un subdominio hacia una máquina tuya
Crear registro. Nombre: solo la parte de delante (
app; Route 53 añade el dominio). Tipo A. Valor: la IP fija de la máquina. TTL 300. Crear. En unos minutosapp.midominio.comllega a esa máquina; el servidor web de la máquina tiene que saber responder por ese nombre (un "virtual host" o "server block"), si no, enseñará la web por defecto.Crea un subdominio hacia un servicio externo
Tu proveedor de helpdesk, tienda o boletín te dice algo como "crea un CNAME de
clientesamidominio.proveedor.com". Pues eso: Crear registro, nombreclientes, tipo CNAME, valor el nombre que te han dado (sin http:// y sin barra final). Si el proveedor es un servicio de AWS (CloudFront, un balanceador), usa tipo A con la casilla Alias activada y elígelo en el desplegable.Decide qué hacer con www
Lo primero es que los dos nombres lleguen a tu servidor: la raíz con un registro A a la IP, y
wwwcon otro A a la misma IP (o un CNAME amidominio.com). Hasta aquí el DNS. Lo segundo es elegir cuál es el nombre "oficial" (lo normal hoy es sin www) y que el otro redirija a él, para que Google no vea dos webs iguales y el candado funcione en ambas.Haz la redirección en el servidor
Esto no se hace en Route 53. En la máquina, el servidor web tiene que responder a
www.midominio.comcon una redirección permanente (código 301) haciamidominio.com. En Apache, en el bloque del sitio:RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.midominio\.com$ [NC] RewriteRule ^(.*)$ https://midominio.com/$1 [R=301,L]En Nginx es un bloque
serverpara www con unreturn 301. Si usas las plantillas de Bitnami de Lightsail, la herramientabncert-toolpregunta exactamente esto al poner el certificado y lo configura por ti. El certificado HTTPS debe cubrir los dos nombres.Comprueba y sube el TTL
Abre las cuatro combinaciones (con y sin www, con http y https): todas deben acabar en
https://midominio.comcon candado. Abre el subdominio nuevo. Cuando todo lleve unos días estable, sube el TTL de los registros a 3600 o más: menos consultas y respuestas más rápidas.
Qué puede salir mal
Route 53 no me deja crear un CNAME en la raíz
Es una norma del DNS. En la raíz usa un registro A con la IP, o un alias si el destino es un servicio de AWS. Si el destino es un servicio externo que solo te da un nombre, pregúntale si tiene una IP fija o usa CloudFront delante.
El subdominio resuelve pero enseña otra web
El DNS ha hecho su parte; el servidor no sabe que ese nombre es suyo y enseña el sitio por defecto. Añade el nombre al virtual host (Apache) o server block (Nginx) del sitio que corresponda.
Quiero un subdominio para cada cliente sin crear registros uno a uno
Crea un registro comodín: nombre *, tipo A, IP de la máquina. Cualquier loquesea.midominio.com llegará allí, y tu aplicación decide qué enseñar según el nombre. Los registros concretos que crees aparte tienen prioridad sobre el comodín.
He cambiado un registro y no se nota
TTL. Los servidores intermedios recuerdan la respuesta antigua hasta que caduque. Baja el TTL unos días antes de un cambio previsto; si ya está hecho, solo queda esperar.
En Simplio
En Simplio cada dominio de Route 53 es una tarjeta donde los registros se leen en lenguaje normal y crear un subdominio es elegir el nombre y la máquina de destino de una lista: la IP la pone Simplio. Los registros de servicios externos se añaden en una línea con ayuda según el tipo, sustituir uno existente pide confirmación y quitar uno pide el doble factor. Y queda en el registro de actividad quién cambió qué.
Lo mismo, en AWS y en Simplio
| En la consola de AWS | En Simplio | |
|---|---|---|
| Crear un subdominio | Route 53, Crear registro, elegir tipo entre 12 opciones, TTL | Línea "app → esta máquina" en la tarjeta del dominio, con la IP ya puesta |
| Saber a dónde apunta cada nombre | Leer la tabla de registros técnicos | Lista en lenguaje normal: "la web va a la máquina X, el correo lo recibe Y" |
| Romper algo | Cualquiera con acceso puede borrar un registro | Quitar un registro pide doble factor; NS y SOA están protegidos |