Supongo que esta pregunta podría tener derecho, ¿cómo funcionan los CDN a nivel de DNS? Pero el verdadero problema que tengo es que mi empresa tiene centros de datos en tres continentes y tenemos que tener europe.example.com us.example.com y asia.example .com
Los CDN generalmente lo envían al centro de datos local que imagino dependiendo de su dirección IP. Esto debe ser una cuestión de DNS en la que el servidor DNS de EE. UU. Lo envía a un centro de datos de EE. UU. Para la misma búsqueda de DNS de example.com.
¿Me equivoco? Si me equivoco al respecto, ¿cómo lo haría de manera efectiva y, si es posible, sin servidores centrales (que no sean DNS)?
domain-name-system
cdn
Stewart Robinson
fuente
fuente
Respuestas:
El problema con los CDN es que no lo dirigen según su propia dirección IP, sino que lo dirigen según la dirección IP de su servidor DNS ... Eso podría estar completamente equivocado. Y lea el artículo de ACM de Paul Vixie , es una explosión de dinero.
De todos modos, si ya
region.example.com
está configurado y en ejecución, podría considerar hacer una redirección HTTP desdeexample.com
el servidor web relevante, en función de la dirección IP del cliente.Eso es más o menos lo que hace Google, así es como termino
google.co.uk
escribiendogoogle.com
.Sin embargo, asegúrese de proporcionar un medio para que los clientes lleguen a las otras variaciones. A los clientes no les gusta cuando se ven obligados a un sitio en particular, ya sea por errores en las bases de datos Geo o simplemente porque realmente necesitan ver el sitio desde otra región.
fuente
Los CDN más nuevos (Cloudflare, MaxCDN, fast.ly) usan anycast para servidores de contenido DNS y reales. Esto es algo mejor que tratar de usar la IP de origen de una consulta DNS y una base de datos de mapeo siempre cambiante.
En teoría, el uso de anycast para los servidores de contenido y DNS permite que la red misma encuentre los servidores "más cercanos" al cliente. En la práctica, esto es cierto en su mayoría, pero surgen algunos casos extraños en los que las personas en Singapur llegan a los servidores de borde en California en lugar de Hong Kong debido a las relaciones de intercambio entre ISP que cambian constantemente.
Anycast es difícil de hacer bien .
Los CDN más antiguos, como Akamai y Limelight, generalmente usan anycast para llevarlo al servidor DNS más cercano, pero luego adoptan el enfoque de IP basado en conjeturas basado en la fuente. En mi experiencia, esto no funciona tan bien, especialmente si un cliente está utilizando servidores DNS que no están realmente cerca en términos de topología de red. Sin embargo, una gran CDN establecida como Akamai tiene cientos de ubicaciones de servidores de contenido, por lo que devolver una respuesta "lo suficientemente cercana" da como resultado una experiencia decente para el usuario. Obviamente, tener cientos de sitios es muy costoso, razón por la cual ninguno de los CDN de difusión única eligió esa ruta. En consecuencia, tampoco cobran tanto por un servicio en su mayoría equivalente.
fuente
Hay varias formas de manejar esto, pero todas se reducen a averiguar dónde está una dirección IP y señalarla en consecuencia. Por ejemplo, puede especificar un rango de IP para Norteamérica y uno para Europa. Si la IP que solicita la información (de DNS, su servidor web, su servidor de contenido, etc.) se encuentra en el rango europeo, entonces sus servidores europeos deben recibir las solicitudes.
fuente
Puede configurar una página principal predeterminada en example.com. La primera vez que alguien visita, selecciona a qué región quiere que se le dirija. Esta es la misma forma en que funciona www.ups.com.
El usuario puede seleccionar una casilla de verificación para hacer su elección predeterminada a partir de ese momento, almacenando la selección en una cookie.
Esto le brinda el beneficio de usar DNS de la manera en que fue diseñado de acuerdo con Paul Vixie, mientras le permite a su usuario tomar la decisión más precisa sobre el centro de datos al que debe dirigirse.
fuente
Si tiene un sitio web alojado en varias regiones, entonces no necesita hacer nada a nivel DNS. Puede usar una API como http://ipinfo.io para obtener el país del visitante y luego redirigirlo a la URL adecuada.
Si no estamos hablando de un sitio web, o de cualquier protocolo que maneje redirecciones, entonces hay algunas opciones a nivel de DNS. Podría hacer la misma búsqueda de país IP y luego devolver un registro que coincida con la región (DNS basado en geolocalización), o podría tener un mapa de la latencia entre diferentes redes y devolver un registro que represente la latencia más baja para el usuario (latencia DNS basado). El servicio DNS Route53 de Amazon ofrece ambos.
fuente