¿Para qué sirve el servicio Route53?
Route53 es un servidor DNS de alta disponibilidad escalable que es designado para dar a los desarrolladores y negocios un costo efectivo y servicio confiable para enrutar a los usuarios a las aplicaciones de Internet.
¿Qué operaciones realiza Route53?
Registro de dominios
Cuando se registra un dominio con Route53, el servicio de DNS se configurara automáticamente y una hosted zone sera añadida para su dominio. Si se utiliza CloudFront, S3 o ELB se puede utilizar Route53 para enrutar el tráfico de Internet a estos recursos.
- Servicio de DNS
- Health Checking
Hosted Zones
Son una colección de recursos de registros provistos por Route53. Como un zone file tradicional, representa los valores de los registros que son manejados dentro de un nombre de dominio. Cada zona tiene su propio metadata e información de configuración.
¿Qué tipos de zonas existen en Route53?
Public
Es un contenedor que contiene la información acerca de como se enruta el tráfico en el Internet para un dominio y sus subdominios.
Private
Es un contenedor que tiene la información acerca del tráfico enrutado para un dominio y subdominios dentro de una VPC.
Los record sets contenidos en un hosted zone deben tener el mismo sufijo. Por ejemplo example.com puede contener www.example.com y www.new.example.com, pero no puede contener recordsets para www.example.org.
Se deben usar alias records y no CNAME para los hosted zones. CNAME no son permitidos para los hosted zones en route53.
No utilice A records para subdominios, debido a que estos se refieren a direcciones IP. En lugar de esto, use un alias records de Route53 o el tradicional CNAME para apuntar siempre al recurso correcto, no importa en donde su sitio se encuentra hosteado, aun cuando el servidor físico cambie de IP.
Record Types soportados
- A
- AAAA
- CNAME
- MX
- NS
- PTR
- SOA
- SPF
- SRV
- TXT
- Routing Policies
Cuando se crea un grupo de records se puede elegir una routing policy, la cual determina como Route53 debe responder a las queries. Estas soportan tráfico basado en peso, elección por latencia, failovers y geolocation. También pueden estar asociadas a health check, de forma que la salud sea considerada antes de otra condición.
Policies
Simple
Es la policy por default cuando se crea un nuevo recurso.
Weight
Se puede asociar a múltiples recursos como instancias de EC2 y ELB con un DNS simple.
Utilice esta cuando tenga múltiples recursos que realicen la misma función (como servidores web del mismo sitio web). Se puede dividir los porcentajes del tráfico en diferentes recursos.
Latency-Based
Se enruta el tráfico basado en la menor latencia de red (la respuesta mas rápida).
Failover
El recurso toma todo el tráfico cuando un recurso no se encuentra disponible. Tomar en cuenta que no se pueden crear failover recordsets apara private zones.
Route53 utiliza healthchecks para enviar peticiones al endpoint que cuya salud se desea verificar (protocolos IP y puerto).
Las policies se aplicarán cuando existan fallos reportados durante los healtchecks.
Geolocation
Permite elegir donde Route53 enviará su tráfico basado en una locación geográfica del usuario.
También sirve para restringir distribución de contenido a solo a las locaciones en las cuales se tenga permiso de hacerlo.
Otro tipo de uso es para balancear la carga a traves de diferentes endpoints en una forma predecible, fácil de manejar de forma que cada usuario pueda ser enrutado consistentemente al mismo punto.
El enrutamiento se puede hacer por continente, país e incluso estado dentro de los EU.
Si se crean mas policies adicionales, las regiones mas individuales sobreescribirán las mas generales.
No se pueden crear dos recordsets de la misma locación geográfica.
Se debe crear un recordset para todos los casos geográficos no localizados.
Route53 habilita Resilencia
- En cada región, un ELB es configurado a traves de las diferentes zonas y connection draining. Esto distribuye la carga de manera equitativa a traves de las instancias.
- Cada ELB delega peticiones a las instancias de EC2 ejecutándose en múltiples AZ dentro de un auto-scaling group. Esto protege la aplicación de interrupciones, asegurándose que el mínimo numero de instancias esta siempre ejecutándose y responde a cambios en la carga escalando el grupo de instancias apropiadamente.
- Cada ELB tiene healtchecks que se aseguran que se deleguen peticiones solo a las instancias saludables.
- Cada ELB tiene un health check asociado desde Route53 que verifica que esta enrutado solo al load balancers que tienen instancias de EC2 sanas.
- El ambiente de producción tiene alias records que apuntan a ELB. Y también usa políticas de latencia basados en ELB health checks.
- El sistema de manejo de fallos tiene un alias en Route53 que envía a una distribución de CloudFront que tiene una versión estática de la aplicación.
- El subdominio www.dominio.com tiene un alias en Route53 que apunta a prod.domain.com como destino primario y a fail.dominio.com como secundario. Utilizando una política failover, se asegura que las rutas de producción de load balancer se muestren a menos una de ella esta sana o muestre el error si aparecen todas en mal estado.
- La hosted zone de la aplicación tiene un alias record de Route53 que redirige a www.dominio.com utilizando un bucket S3 del mismo nombre.
- El contenido de la aplicación (estático y dinámico) puede ser servido utilizando CloudFront.
- La aplicación es desplegada en múltiples regiones de AWS, protegiéndola así de interrupciones.