Mostrando entradas con la etiqueta Data Center. Mostrar todas las entradas
Mostrando entradas con la etiqueta Data Center. Mostrar todas las entradas

jueves, 21 de noviembre de 2013

Arquitectura MultiDataCenter - Ejemplos de conectividad con ISPs

"Esta entrada hace referencia a algunos de los posibles métodos de conexión con Internet cuando se disponen arquitecturas MultiDataCenter, los cuales pueden dar algunas ideas para decidir el camino a seguir en el diseño final de la conectividad con los ISPs"


Se describen varios tipos de conexionado (sin ningún tipo de balanceador de líneas) ya que, dependiendo de la contratación con los proveedores, se podrá desplegar uno u otro.

Aunque siempre se desea el confinamiento de los errores dentro de un solo DC, y que estos no afecten al resto, dicho aislamiento puede provocar que, debido a incapacidades de algunas aplicaciones cliente al refrescar correctamente la IP de servicio tras fallo en un DC (ni por DNS ni por otros modos como señalizaciones IP redirect o HTTP redirect) o por el movimiento de las máquinas virtuales, lo cual provocaría un corte prolongado del servicio. 

Para entender este punto se presenta de manera resumida el funcionamiento del balanceo global por DNS. Para poder conformar un comportamiento activo-activo y que las conexiones entrantes desde Internet puedan balancearse entre ambos Data Centers por este método, se ha de realizar el siguiente despliegue:

  • En cada DC, existirá una infraestructura de DNS, en alta disponibilidad, de forma que se garantice el acceso continuado a este servicio, tanto para los usuarios corporativos, como para los usuarios externos.


  • Para llevar a cabo la resolución de dominios de servicios, que sean publicados bajo el esquema GSLB (Global Server Load Balancing), los servidores DNS delegarán la respuesta de dichas preguntas, en la infraestructura de Balanceo Global. De este modo, cuando llega una consulta DNS sobre un dominio GSLB, el balanceador GSLB posee información tanto del DC local, como del DC espejo, y en base a las políticas de distribución configuradas  (round-robin, least connections,…) decidirá cuál de las IPs Virtuales (VIPs) de servicio, asociada a la consulta DNS, será proporcionada como respuesta al cliente. 


  • En todo momento, los balanceadores globales se sincronizarán entre ellos. Asimismo, la infraestructura de Balanceo Global, se sincronizará con la infraestructura de Balanceo Local, para disponer en todo momento de la información correcta sobre las VIPs de las distintas granjas de servidores y el estado de los servicios disponibles en cada ubicación.


  • También es importante destacar que para cada petición únicamente uno de los balanceadores globales responderá con la VIP acordada, evitando que ante una situación de fallo en la interconexión entre DCs, ambos equipos intenten responder de forma independiente. Esto se logra, entre otros, gracias a que los equipos se comunican entre sí a través de los enlaces WAN.

En el siguiente ejemplo, se muestran las elección de la IP pública del servicio, o lo que es lo mismo, la elección de uno de los dos Data Center:

Como primer paso, el cliente/usuario realizará una petición a su servidor DNS. La petición llegará a uno de los balanceadores globales de la infraestructura. Antes de devolver la IP a la que tenga que conectarse el cliente al servicio (la IP del DC 1 o la IP del DC 2), el balanceador global elegirá dicha IP atendiendo a la política configurada (cercanía del edificio al usuario, carga de los enlaces de Internet, carga de los servidores internos, etc ).




Ilustración 1 – Elección de IP pública por el balanceador global sin fallo


De existir algún problema en el servicio, el balanceador global evitará que las siguientes peticiones se reciban en el DC con fallo modificando las respuestas DNS hechas a los clientes, para que elijan el otro Data Center:




Ilustración 2 – Elección de IP pública por el balanceador global con fallo

Las aplicaciones preparadas para proporcionar alta disponibilidad del servicio, cuentan con métodos para dar soporte a incidencias completas de un DC, ya sea mediante el uso de IPs secundarias, refresco DNS tras fallo de conexión o mediante terceros métodos como puedan ser las redirecciones IP o HTTP. Si alguno de los aplicativos no dispone de esos métodos, se deberá tener en cuenta que, para minimizar el tiempo de corte, una de las soluciones más sencillas es que las IPs públicas de servicio se muevan de un DC a otro, de tal manera que la aplicación no tendría por qué refrescar la IP para continuar funcionando. Esto a su vez se puede hacer extendiendo o no el nivel 2 de conectividad con los ISPs.

Cada uno de los métodos, como se verá, tiene sus pros y sus contras.

Las opciones que se presentan aquí no son las únicas existentes, aunque sí algunas de las más comunes, y generalmente son los ISPs quienes pueden aportar las soluciones óptimas para cada caso.


Data Centers aislados frente a incidencias

En este punto se muestran los diseños en los que los Data Centers confinan los problemas que puedan surgir en ellos de manera local, es decir, en los que un problema en la capa de acceso a un Data Center no pueda afectar al otro, por ejemplo, por un bucle de red, un fallo en la configuración o un fallo en el funcionamiento de un único equipo.

Al no extender los problemas de un Data Center a otro, este esquema es el preferido frente a aquellos que extienden el acceso a ambos Data Centers (diseño comentado en el punto Data Centers no aislados frente a incidencias), no obstante, debido al comportamiento de los aplicativos, antes mencionado, el esquema de conectividad en el que las incidencias no están aisladas, será el que en ocasiones se tenga que desplegar a corto plazo, hasta que los aplicativos puedan evolucionar y dar soporte de alta disponibilidad.


Opción 1: Un router remoto y un solo ISP en cada DC

El primer caso es en el cual cada Data Center está conectado a un ISP y el proveedor solo es capaz de aportar conectividad a un router interno. Este esquema es habitual si no se poseen conexiones a diferentes centros del proveedor desde un mismo Data Center.


Ilustración 3 – Conexión de ISPs: Un router remoto y un solo ISP en cada DC

A continuación se muestran diferentes configuraciones, siguiendo este esquema de conexionado, para un funcionamiento activo-pasivo (tan solo se utiliza uno de los dos enlaces por cada DC), así como un activo-activo en el que se balancean las entradas y salidas por todas las líneas. Esto último se propone mediante la utilización únicamente de protocolos IGP de encaminamiento, y más tarde configurando el protocolo BGP, el cual añade complejidad pero garantiza un mejor balanceo y flexibilidad de enrutamiento en las entradas.


Activo-Pasivo

Para formar un activo-pasivo en esta configuración lo más sencillo es pedir al proveedor (ISP) que configure algún protocolo FHRP (ya sea HSRP o VRRP), y configurar dicha IP virtual como default Gateway, como aparece en las ilustraciones mostradas a continuación:
  

Ilustración 4 –Un router remoto y un solo ISP en cada DC activo-pasivo


  
Ilustración 5 –Un router remoto y un ISP en cada DC activo-pasivo – Flujo de conexiones


Activo-Activo con IGP

Se puede lograr la  utilización de ambos enlaces para el tráfico de salida  inyectando dos rutas por defecto mediante IGP (OSPF para estos ejemplo) a los routers/firewalls internos (firewalls en el ejemplo), de manera que este pueda balancear los paquetes uno a uno.

Ilustración 6 –Un router remoto y un solo ISP en cada DC activo-activo en salida

Para el balanceo del tráfico entrante se puede pedir al proveedor que configure las rutas primarias de la mitad de la LAN por un enlace y de la otra mitad por el otro (siempre teniendo en cada uno el enlace parejo como backup).  


Ilustración 7 –Un router remoto y un solo ISP en cada DC activo-activo en entrada

Este despliegue no hace un balanceo  en el cual se utilicen los enlaces por igual, ya que puede suceder que  el 80% de los accesos se realicen a IPs de la primera mitad de la LAN, con lo que la utilización de los enlaces, para esa entrada de datos, sería de 80/20.

A continuación se puede ver un ejemplo del tráfico balanceado siguiendo este esquema:  


Ilustración 8 –Un router remoto y un ISP en cada DC activo-activo – Flujo de conexiones

Como se puede apreciar, en el caso de acceso a una misma IP de manera recurrente, la entrada del paquete siempre utilizaría el mismo enlace, mientras que las respuestas, al estar balanceado por OSPF, utilizarían los dos, provocando tráfico asimétrico en el proveedor de acceso, punto que también deberá ser comentado con él en el momento del diseño final.


Activo-Activo con BGP

Para poder contar con un balanceo real de entrada, es necesaria la configuración del protocolo BGP del modo que se presenta a continuación:


Ilustración 9 –Un router remoto y un solo ISP en cada DC activo-activo con BGP

En este caso, el propio protocolo BGP puede configurarse para realizar el balanceo de tráfico de salida.

Para el balanceo de entrada, el proveedor debe permitir la modificación de la configuración del protocolo BGP de los routers de su central que conectan con los routers de acceso de cada Data Center, por ejemplo, activando el soporte multihop de BGP. Gracias a esas configuraciones, si el ISP permite que se realicen, se obtendría un balanceo casi 50/50 del tráfico de entrada.

Si a esto se le suma el 50/50 de utilización para la salida, se podría afirmar que con este despliegue se haría un uso óptimo de los enlaces.

El problema de la implementación está en las posibilidades que aporten los ISPs contratados cuando se les plantean modificaciones de configuración en equipos internos suyos.  


Ilustración 10 –Un router remoto y un solo ISP en cada DC activo-activo con BGP - Trafico salida
  


Ilustración 11 –Un router remoto y un solo ISP en cada DC activo-activo con BGP - Trafico entrada

Un ejemplo del balanceo 50/50 comentado, podría ser el siguiente:
  

Ilustración 12 –Un router remoto y un solo ISP en cada DC activo-activo con BGP - Flujos


Opción 2: Dos routers remotos y un ISP en cada DC

Este tipo de conexión es muy parecida a la anterior,  la diferencia radica en que el proveedor puede garantizar que los enlaces contratados acaban en equipamiento distinto. Esto añade un nivel más de redundancia frente al esquema anterior.
  

Ilustración 13 –Dos routers remotos y un solo ISP en cada DC

Del mismo modo que antes, se plantean los despliegues activo-pasivo, y activo-activo mediante la configuración de IGP o con la implementación de BGP.


Activo-Pasivo

Al igual que antes, para obtener un uso de los enlaces activo-pasivo, la manera más sencilla sería mediante la configuración de un protocolo FHRP.


Ilustración 14 –Dos routers remotos y un solo ISP en cada DC en activo-pasivo

Un ejemplo de los flujos de tráfico para un Data Centers sería el siguiente:
  

Ilustración 15 –Dos routers remotos y un solo ISP en cada DC en activo-pasivo - Flujos


Activo-Activo con IGP

Para conseguir el uso de ambos enlaces para la salida del tráfico se actuará del mismo modo que en el ejemplo inmediatamente anterior, inyectando dos rutas por defecto en los firewalls con mismo coste, de manera que estos balanceen automáticamente, mientras que para la entrada se subdividirá la red en dos.
  

Ilustración 16 –Dos routers remotos y un solo ISP en cada DC en activo-activo – Salida

  

Ilustración 17 –Dos routers remotos y un ISP en cada DC en activo-activo con IGP – Entrada

En el siguiente esquema se muestran los flujos de entra y salida con la red configurada tal y como se ha comentado. Se puede comprobar cómo los flujos de entrada (amarillo y rojo) utilizan el mismo enlace (si los dos fuesen destinados a la misma mitad del direccionamiento de la red), mientras que las vueltas saldrán indistintamente por las dos conexiones:
  

Ilustración 18 –Dos routers remotos y un solo ISP en cada DC en activo-activo con IGP – flujos


Activo-Activo con BGP

Al igual que antes, si se desea un balanceo más equitativo de la utilización de los enlaces en la entrada de datos, se ha de pedir al ISP que realice las configuraciones BGP pertinentes.

Para seleccionar el router de salida se puede configurar OSPF entre los firewalls y los routers de acceso a Internet o incluso un FHRP y que sea el router de acceso quien balancee hacia una u otro enlace. En el siguiente ejemplo se muestra este segundo despliegue:
  

Ilustración 19 –Dos routers remotos y un solo ISP en cada DC en activo-activo con BGP – salida


  
Ilustración 20 –Dos routers remotos y un solo ISP en cada DC en activo-activo con BGP – Entrada

En el ejemplo de los flujos, se puede ver que, aunque el destino sea incluso la misma IP, la entrada podrá estar balanceada por los dos enlaces contratados:

  
Ilustración 21 –Dos routers remotos y un solo ISP en cada DC en activo-activo con BGP – flujos


Opción 3: Dos routers remotos y dos ISP en cada DC

Este es el diseño de conectividad con los ISPs (con la política de contener las incidencias dentro de un mismo Data Center) más redundante que se puede desplegar, al existir al menos dos conexiones por edificio y cada una de ellas utilizar un ISP diferente, por lo que cada edificio estaría cubierto ante la caída completa de un ISP:
  

Ilustración 22 – Dos routers remotos y dos ISP en cada DC

Este es el mejor despliegue para obtener un balanceo de líneas y una gran redundancia, no obstante pueden existir problemas a la hora de la puesta en marcha, ya que los proveedores de servicio deben trabajar conjuntamente en su configuración, pues se requiere que equipos de un ISP se “hablen” con equipos de otro, así como que direccionamiento IP público adquirido a un ISP pueda ser accedido por el otro ISP. Esto puede plantear varios problemas políticos a la hora de las negociaciones con los proveedores.

Existe una posibilidad si es imposible que los equipos de un ISP y otro se hablen, y es incluir equipamiento propio que establezca a la vez las relaciones con cada uno de los routers de acceso de los ISPs (la conversación sería cliente-ISP, no ISP-ISP). 

En un diseño completamente aislado, las IPs de un Data Center no se publican en el otro pero, de ser necesario, por ejemplo por los problemas de refresco de los aplicativos que antes se han mencionado, es posible configurar otro esquema parecido pero en que se compartan IPs entre los dos Data Centers, aunque con la salvedad de no extender la red de interconexión externa (punto necesario en el esquema mostrado en el punto “Data Centers no aislados frente a incidencias”), lo cual eliminaría el riesgo de que algunos problemas se trasladasen de un edificio al otro aunque, de configurarse esa posible compartición de IPs, se daría pié a la existencia de alguna posibilidad de influir en el tráfico de ambos Data Centers con la configuración de equipos que estén situados solo en uno de ellos, por ejemplo, la configuración de BGP y la publicación de las IPs en Internet, por lo que no se llega al completo aislamiento de problemas que sí que existe en el esquema en el que cada centro tiene sus IPs propias.

A continuación se presentan los dos esquemas, uno en el que se comparten las IPs y otro en el que no. No se exponen, como se ha hecho en ejemplos anteriores, un despliegue activo-pasivo y uno activo-activo solo con protocolos de enrutamiento IGP, ya que para otorgar este nivel tan alto de redundancia y balanceo se requiere de por si la configuración de BGP.


Activo-Activo con BGP sin IPs publicas compartidas

Para este diseño, en el cual cada Data Center conserva su propio direccionamiento público y se mantienen controladas en un Data Center todas las incidencias de acceso, se ha de acordar con los ISPs las configuraciones a realizar en su equipamiento remoto. Para el equipamiento local existen dos posibilidades, que sean los propios ISPs quienes lo instalen, configuren y gestionen (generalmente uno de los dos ISPs contratados) o pueden ser propios, como en el ejemplo del siguiente esquema, lo que proporcionaría mayor flexibilidad a la hora de realizar cambios (no se ha de contar con el ISP) y no se tendría el problema de necesitar la comunicación de control ISP-ISP entre los routers de frontera, aunque también añadiría un punto más a tener en cuenta en la gestión de la infraestructura de red. 


Ilustración 23 – Dos routers remotos y dos ISP en cada DC – Esquema global

La redundancia y balanceo que se pueden obtener con este despliegue son óptimos:


  
Ilustración 24 – Dos routers remotos y dos ISP en cada DC - Flujos

Para dejar más claro los flujos de entrada hasta el servicio para este caso concreto, se va a incluir en los siguientes esquemas el detalle de la información del flujo también detrás del firewall. En este caso se puede ver cómo una conexión a un servicio realizado desde Internet, es enrutada por el ISP1 hasta llegar al router frontera (ya situado en el Data Center). Este, a su vez, lo envía al clúster de firewalls, ya que posee esta ruta en su tabla debido a que ha sido recibida por las actualizaciones de OSPF lanzadas desde dichos firewalls.

Una vez recibida la conexión por el firewall, este realizará el NAT desde la IP pública a la IP privada, la cual podría, por ejemplo, ser una VIP publicada por un balanceador de Data Center. El balanceador, si el servicio está correctamente desplegado en ese mismo Data Center, lo enviará directamente (línea verde), mientras que si está en error o los servidores han sido desplazados al otro Data Center, lo reenviará mediante la interconexión de DC, teniendo en este caso que realizar un NAT de origen para que la vuelta sea gestionada por el mismo clúster de firewalls y balanceadores que recibieron la petición (si no el tráfico sería descartado).

Este balanceador, no tiene por qué ser un Hardware añadido, en realidad puede que sea un servicio del propio firewall o una virtualización de balanceador global por DNS.



Ilustración 25 – Dos routers remotos y dos ISP en cada DC – Conexiones hasta servicio

Al realizarse un NAT de origen, la información de la IP del cliente se enmascara, por lo que, debido a requisitos de seguridad, se almacenará dicha información ya sea mediante la realización de ficheros de log de los NATs realizados o, en el caso de las aplicaciones WEB, del uso de las cabeceas X-Forwarder-For u otro métodos que existen en diversos protocolos para hacer llegar la IP del cliente aunque se tenga que realizar NAT de la IP origen.

Todos los flujos de conexiones de entrada y salida serán vistos más adelante, cuando se traten los movimientos de máquinas entre edificios y la gestión de los fallos para proporcionar alta disponibilidad de la plataforma.

Todo estos flujos serían simplificados enormemente si, mediante un balanceador global, de detectase la localización de las máquinas situadas tras el balanceador y, de estar todas en el DC remoto, modificar la VIP a la que apuntan los clientes, para que estos realicen peticiones directamente al DC remoto, evitando el tráfico cruzado (linea azul) y el consiguiente traffic tromboning, tal y como se vio al principio de esta entrada.


Activo-Activo con BGP con IPs publicas compartidas

Este punto muestra el mismo despliegue pero, en este caso, con la posibilidad de mantener las mismas IPs en los dos Data Centers:


Ilustración 26 – Dos routers remotos y dos ISP en cada DC sin aislamiento de IPs

Para logar esto, se utiliza también la inyección de rutas de las IPs públicas desde el clúster de firewalls mediante un protocolo de enrutamiento, OSPF en el ejemplo, el cual se comunicaría con los routers de frontera a través de una red de interconexión, diferente a las redes públicas que contienen las IPs de servicio, las cuales se encontrarán detrás de ambos firewalls.

Las IPs públicas anunciadas por los firewalls llegarán a los routers de frontera, los cuales anunciarán, mediante una actualización de BGP, su disponibilidad a ser enrutadas por parte del ISP.

Debido a que ambos edificios conservarían el mismo direccionamiento (como se ha explicado, para evitar los problemas del refresco de la IP de servicio en algunas aplicaciones),  a los ISPs les llegarán los anuncios por diversos caminos (uno por cada Data Center), por lo que deberán gestionar mediante la configuración de BGP qué centro es el “primario” para esa IP/red. Esta configuración también puede realizarse en los routers de frontera, que si fuesen gestionados internamente en lugar de por el ISP, podrían modificar los “pesos” del lugar de residencia de la IP pública sin tener que contar con configuraciones hechas por el ISP, con la mejora de la flexibilidad ante cambios que eso aporta.

Según este esquema, en un estado normal de funcionamiento, todas las conexiones a una IP llegarán a un mismo Data Center (ya sea por un ISP u otro), mientas que solo llegarán al Data Center parejo en caso de un problema o de un cambio en la configuración de los “pesos” BGP:
  

Ilustración 27 – Dos routers remotos y dos ISP en cada DC sin aislamiento de IPs –Inyección de IP

Los “pesos”, para elegir una ruta frente a otra, pueden ser configurados de diversas maneras en el protocolo BGP, y este deberá ser un punto a discutir con los ISPs.

Según el esquema anterior, todos los accesos elegirían el centro de la izquierda para llegar a la IP1 en condiciones normales.

Si hubiese un fallo en la IP1 en el Data Center de la izquierda, la inyección de rutas de dicha IP en OSPF se detendría, con lo cual tampoco se haría en BGP, quedando solo la ruta a través del edificio de la derecha, tal y como se ven en el siguiente diagrama:

  
Ilustración 28 – Dos routers remotos y dos ISP en cada DC sin aislamiento de IPs –Inyección de IP II

Un punto importante a discutir también con los ISPs es el tiempo de refresco de BGP en el caso de dejar de inyectar la ruta por OSPF. Ese tiempo es el lapso que existe entre que la ruta se deja de inyectar en OSPF, y el tiempo que tarda BGP en actualizar, como ruta principal (y única) a la IP1, la conexión contra el edificio de la derecha. En el caso de que ese tiempo no fuese lo suficientemente reducido para los tiempos de parada debido a incidencia en los servicios, esta solución podría no ser válida.

Si el cambio de IP no se produjese por incidencia, sino porque por algún motivo se quisiese “mover”, de manera programada, una IP desde el centro en el que es primaria al otro DC, no habría tanto problema con los lapsos de tiempo, ya que se podrían cambiar los “pesos” BGP y continuar dando servicio, hasta que se actualice completamente la red de los ISPs, desde el Data Center origen.

Sobre este apartado, tan solo volver a incidir en que lo aquí mostrado es tan solo uno de los diseños posibles, y que siempre que se quiera realizar una conexión con ISPs, son los propios proveedores los que marcan las rutinas posibles en la conexión a sus redes, por lo que lo expuesto intenta ser tan solo una referencia a la hora de las negociaciones con dichos proveedores de conexión a Internet.


Data Centers no aislados frente a incidencias


El actual apartado hace referencia al tipo de conexión en el cual se dispone de enlaces redundados a ISPs diferentes en cada uno de los edificios pero, a diferencia de antes, ambos tienen las redes de interconexión externa extendidas, de manera que los accesos de cualquier router del borde exterior puede ser accedido por ambos clúster de firewalls, indistintamente del DC en el que se encuentren.

Este despliegue tiene la ventaja de que conserva la redundancia de ISPs, además de que se pueden compartir las IPs públicas en ambos Data Center, con mucha más sencillez que lo visto en el punto “Activo-Activo con BGP con IPs publicas compartidas” del apartado anterior.

Como contras, en comparación al esquema de Data Centers con las redes de acceso sin extender, es que pueden provocarse diversos problemas en uno de los DC y que estos afecten al parejo, como por ejemplo bucles, fallos de los protocolos FHRP, fallos en enrutamientos, etc.

Otro problema añadido con este despliegue aparecería en la incorporación de más Data Centers, ya que se complicaría el mantenimiento, existirían nuevos posibles problemas que podrían afectar a todos los DCs y añadiría mayor complejidad a la gestión, ya que habría que replicar las configuraciones de NATs de todas las IPs públicas, de todos los servicios, en el conjunto total de los clúster de firewalls de los Data Centers. En el caso de ser dos edificios únicamente puede suponer un trabajo adicional asumible, pero conforme el número de centros aumentase, la administración se complicaría exponencialmente.

No obstante, debido a la necesidad de compartir IPs públicas a lo largo de los Data Centers por la problemática comentada, y también teniendo en cuenta que este despliegue es menos complejo que el mostrado en “Activo-Activo con BGP con IPs publicas compartidas”,  puede ser un esquema válido, a día de hoy, para dar acceso a los servicios en múltiples arquitecturas, aunque en primera instancia se prefiera un máximo aislamiento de las incidencias entre Data Centers.


Dos routers remotos y dos ISP acceso a DC extendido

A continuación se puede ver el esquema general de conectividad que se está comentando:

  
Ilustración 29 – Dos routers remotos y dos ISP en cada DC extendido

En este caso solo se muestra el caso de configuración con IGP, ya que en este esquema en concreto no es necesaria la complejidad añadida por BGP.


Activo-Activo con IGP con IPs publicas compartidas mediante extensión de LAN

Para el encaminamiento del tráfico de salida, entre otras soluciones, se puede configurar en los firewalls políticas PBR (o diferentes pesos con un protoclo IGP entre los routers de acceso del proveedor y los propios), de manera que todo aquellas respuestas a las peticiones que se cursaron hacia las IPs públicas de servicio del ISP1, sean devueltas al router de acceso de dicho ISP dentro del mismo Data Center, tal y como puede verse en este esquema:
  

Ilustración 30 – Dos routers remotos y dos ISP en cada DC extendido – Tráfico salida

Para añadir el componente de redundancia al del balanceo mostrado antes, en lugar de dirigir las rutas PBR hacia los switches físicos, se apuntarán a IPs virtuales de los protocolos FHRP que serían configurados por pares de routers, siempre incluyendo en un mismo grupo a routers de ISPs diferentes y situados en DC contrarios (ver ilustración anterior). 

Siguiendo este método, se crearían dos grupos FHRP que serían: Router1_ISP1_DC1 contra Router1_ISP2_DC2, por un lado, y   Router2_ISP1_DC1 contra Router2_ISP2_DC2 por el otro. 

Para evitar tráficos cruzados (ya que el protocolo FHRP solo permite un router en modo activo a la vez), se crearían 4 grupos, 2 serían los comentados y los otros dos serían similares, pero con los pesos cambiados y que cada router fuese master en un grupo diferente. 

Para representar este hecho en la ilustración anterior, se añade el nombre del grupo (FHRP_1, FHRP_2, FHRP_A o FHRP_B) más cerca del router que es master para ese grupo, y para mostrar el destino de las rutas PBR se añaden flechas naranjas hacia dichos nombres.

Con esa configuración se evita el tráfico cruzado, siempre y cuando no exista ninguna incidencia y, en caso de que existiese, se enviaría el tráfico al router del otro ISP en el otro Data Center. 

Se podría haber elegido el Router del otro ISP en el mismo Data Center, pero de ese modo, aunque no existiese tráfico cruzado, no se estaría protegido ante un fallo total en el Data Center (por ejemplo que unas obras cortasen los cables de entrada al edificio). 

También se podría haber optado por que en caso de fallo, los paquetes se enviasen al router del DC parejo pero que fuesen al mismo ISP, pero en este caso tampoco se estaría completamente protegido de incidencias, ya que si fallase completamente dicho ISP se perdería la conectividad.

Para el tráfico de entrada existen varios modos de lograr la redundancia, aunque la configuración final en todo caso será la de introducir en los routers de conexión a Internet dos rutas, una principal y otra backup, que sería utilizada solo en caso de la pérdida de la principal. 

Este comportamiento se plasma en el diagrama siguiente marcando con una línea sólida la ruta principal y punteada la ruta backup.

Para introducir estas rutas se puede hacer uso de un protocolo de encaminamiento entre los clúster de firewalls y los routers de frontera, pudiendo de este modo hacer modificaciones sobre la el clúster de firewalls elegido como principal, lo que significaría mover las IPs de Data Center, sin tener que contar con los ISPs.

Para evitar, en la medida de lo posible, el tráfico cruzado, se debería acordar con los proveedores de acceso las preferencias de publicación de las rutas a las IPs públicas en su red mediante BGP, de manera que las IPs que fuesen a utilizarse, de manera habitual, en un Data Center, llegasen enrutadas por la red del ISP a los routers que se encuentran residentes en dicho Data Center, ya que si no el router lo deberá enviar a través del enlace interlink hasta el firewall que conserva la IP de servicio a la que se desea acceder en el Data Center parejo.
  

Ilustración 31 – Dos routers remotos y dos ISP en cada DC extendido – Tráfico entrada

Todo este diseño sería válido únicamente para la existencia de dos Data Centers. Si se incluyese un nuevo edificio habría que estudiar la incorporación de un protocolo IGP que eligiese tanto las rutas de salida como las de entrada.

Otro punto que podría ser estudiado, al disponer de una LAN extendida en el acceso, es la de formar entre los firewalls (en este ejemplo) un cluster extendido, es decir, que un miembro se encontrase en un DC y el otro en el DC parejo. Esto simplifica enormemente el traslado de las IPs entre los Data Centers pero incluye un punto único de fallo (el clúster) que afecta a ambos DCs, y también se tendría que tener presente las latencias entre DCs para el enlace de heartbeat, así como sopesar el mayor riesgo de split-brain dentro del cluster (ya que el heartbeat utiliza la WAN).


domingo, 16 de octubre de 2011

Arquitectura MultiDataCenter – Extensión de red L2

"Esta es la primera de una serie de entradas sobre el diseño de infraestructuras multi-DataCenter (red, almacenamiento y sistemas). En este caso se trata de aclarar la extensión de VLANs y direccionamientos a lo largo de varios Centros de Datos, o también llamado extensiones de Data Center (DCI)"
 
Aunque existen argumentos en contra de la extensión L2 de los Data Centers relacionados con las restricciones de latencia y ancho de banda que se encuentran en los enlaces inter-DC, o los costes asociados al despliegue de estas arquitecturas, se pretende dar un repaso a los principales conceptos relacionados con estas topologías.
 
Como primer paso hay que aclarar el origen de la necesidad de expandir una misma red a lo largo de varios Data Centers, entre los más destacables se encuentran:
  •   Movilidad de cargas: Pensando en un despliegue de infraestructura de servidores virtualizados, al disponer de una misma red extendida, se pueden transferir máquinas virtuales de un Data Center a otro, sin las complicaciones de terceras herramientas o complicados sistemas de reconfiguración automática de servidores virtuales, posibilitando el reparto de cargas (Data Centers activo-activo) y el máximo aprovechamiento de recursos.
  • Prevención de desastres y continuidad de sistemas: En caso de un desastre en uno de los centros, se pueden restablecer los servicios en un tiempo mínimo gracias a la posibilidad de creación de clusters extendidos entre varios Data Centers
  • ·Minimizar el tiempo de parada: Esta ventaja es, en realidad, la suma de las dos anteriores. Al disponer de varios Centros de Datos activos, se pueden balancear los servicios prestados por un Data Center a otro diferente ante posibles actuaciones programadas que requieran parada de uno de estos centros.


Aislamiento de caminos

Antes de abordar las topologías y los protocolos asociados es necesario aclarar un concepto importante, el aislamiento de caminos en los enlaces de interconexión de Data Centers.

Cada vez más a menudo es necesario llevar a cabo una virtualización de la red, desde la creación de redes paralelas que presten acceso a Internet a los usuarios “invitados”, la segmentación departamental o la provisión de redes a varios clientes bajo una misma infraestructura. Esta diferenciación es necesario que se conserve en el enlace que une los Centros de Datos distribuidos.

Para llevar a cabo esta virtualización de manera sencilla se puede realizar un diseño con varios VRFs, de manera que se crearía un VRF por cada zona, a la cual se asociarían las diferentes redes/VLANs. Para aislar cada uno de los caminos en la interconexión de los Data Center se podría utilizar un enlace físico para cada uno de ellos, pero esto no sería eficiente y en la práctica se deben utilizan otras técnicas de virtualización del enlace. Si el enlace entre los Data Centers tiene más de un salto, se debe realizar algún tipo de túnel o recurrir a funcionalidades proporcionadas por los protocolos de interconexión de los Centros de Datos. 


Protocolos y topologías

Tradicionalmente se han extendido las VLANs de cada DC mediante protocolos como Frame-Relay o ATM, ya que el concepto de VLAN puede ser similar al conseguido mediante DLCIs y PVCs. También se han utilizado las llamadas Metro-Ethernet que es una VPN L2, en la que la red del proveedor transporta tramas Ethernet y donde las direcciones MAC son usadas para determinar el encaminamiento. Estos enfoques tienen como principal problema la escalabilidad y el aporte de servicios añadidos como QoS, encriptación, etc, por lo que actualmente suelen utilizarse otros protocolos como MPLS, como se verá a continuación.

La solución adoptada depende de varios factores fuera del dominio meramente técnico, como el coste o la disponibilidad del servicio por parte del proveedor, por ello se van a plantear la tres posibilidades de interconexión que puede proporcionar el ISP, apuntando a sus ventajas y deficiencias:

  • Conectividad a nivel 1
    También llamada conectividad sobre fibra oscura, es el método más sencillo de despliegue pero no siempre está disponible, además hay que contar con el elevado coste de esta solución. 

    Al ser conectividad L1, puede ser utilizada para también extender la SAN.

    Puede ser utilizada tanto para arquitecturas de Data Center punto a punto como para topologías multipunto, gracias a la formación de anillos DWDM.
  • Conectividad a nivel 2
Este método suele ser utilizado cuando no se puede disponer de fibra oscura ya sea por precio, disponibilidad o distancia entre Data Centers.

El protocolo utilizado más extensamente es MPLS ya que permite el aislamiento de caminios en el enlace mediante la utilización de etiquetas y por su capacidad de proveer conexiones del tipo any-to-any sin tener que mantener múltiples conexiones punto a punto.

Existen dos aproximaciones para realizar la conexión a nivel L2: Ethernet over MPLS (EoMPLS), para entornos punto a punto; y Virtual Private VLAN Service (VPLS), para multipunto.

Con EoMPLS  los operadores pueden ofrecer conectividad con servicios LAN transparentes garantizados, escalables y seguros. Además con el aprovisionamiento dinámico de MPLS, se mejora la gestión y manejabilidad de los túneles, reduciendo los problemas relacionados con su despliegue a gran escala.
EoMPLS permite, además, ofrecer gran ancho de banda a un coste menor, lo que unido a los mecanismos de QoS extremo a extremo garantizan el rendimiento de los servicios desplegados.

Mientras que EoMPLS es utilizado en entornos punto a punto, cuando existen varios DC el protocolo elegido es VPLS. Este protocolo forma un grupo de virtual switch instances (VSI), conectados utilizando Ethernet over MPLS en una topología full-mesh, consiguiendo actuar como un único switch general para todos los DC.

Aun así existen varios problemas de los vpls basadas en VLAN como la limitación del número de VLANs 4094 VLANs o la limitación de direcciones MAC que pueden gestionar, así como el tiempo de convergencia ante fallos o la transmisión de tráfico multicast.
  • Conectividad de nivel 3
    Esta debería ser la última opción, debido a sus problemas de rendimiento (latencia, jitter, etc), ya que consiste en el encapsulamiento de los anteriores protocolos en un túnel GRE.

    Al existir este encapsulamiento adicional se deberá tener en cuenta que es necesario, para minimizar el efecto de la fragmentación de paquetes, disminuir el MTU de los Data Centers debido a la adicción de cabeceras que supone el protocolo GRE.

    Existen nuevas alternativas, como la nueva versión del protocolo L2TP, el denominado L2TPv3 que permite la multiplexación de enlaces punto a punto (pseudowires), del mismo modo que MPLS, además de aportar otras funcionalidades que minimizan el riesgo de creación de “blackholes” en el tráfico


Problemas a tener en cuenta

Tras abordar las topologías de Data Centers con redes expandidas, es necesario conocer los principales aspectos a tener en cuenta en el diseño de este tipo de soluciones: 

  • ·         Aislamiento de protocolo Spanning-Tree
Es importante que cualquier problema L2 quede contenido en un único Data Center, por lo que el protocolo STP sea suprimido en los enlaces inter-site.
Este aislamiento también beneficia al rendimiento, ya que se no se extenderán los paquetes TCN producidos por los cambios de topología a nivel 2,  y cuyo efecto es la disminución del temporizador de la tabla CAM, provocando aumentos en el consumo de CPU por parte de los switches e incluso la pérdida de paquetes.
  • ·         Prevención de bucles extremo a extremo
Al no disponer de protocolo Spanning-Tree  entre los DC (punto anterior) puede provocarse un bucle a nivel 2, por lo que hay que confiar en técnicas que eviten esta posibilidad, como los agregados de enlace en topologías punto a punto.
Por otro lado, aunque se eviten bucles con agregados en arquitecturas punto a punto, o  mediante los procedimientos del protocolo de interconexión (IP, MPLS, etc), puede existir un bucle global generado por la interconexión de varios DC mediante enlaces dobles, como puede verse a continuación:

Ilustración 1 – Bucle inter-DataCenter

Para evitar estos bucles existen tecnologías que pueden ser utilizadas, como por ejemplo VSS, o la utilización de la técnica de semáforos, mediante la cual solo uno de los uplinks del Data Center está activo, por lo que no pueden existir este tipo de bucles.
La metodología de semáforos utiliza la técnica de N-PE en backup, utilizando el Embedded Event Manager (EEM) para asegurarse de que solo uno de los nodos está activo por cada VLAN.
  •            Blockholes

    Es importante propagar la caída del enlace pseudowire o los enlaces externos a los nodos que forman
    parte de la capa de agregación, por ejemplo extendiendo el fallo a los puertos configurados como
    MPLS port-mode,  para que no se formen blackholes. En las plataformas Cisco existen varios
    métodos, dependiendo de la plaforma, como la funcionalidad Remote Ethernet Port Shutdown de los
    routers ASR1000 o la utilización del EEM por parte de los Catalyst 6500, a parte del track en los
    grupos HSRP.
  • ·         Optimización de rutas
Existe un problema claro al extender la capa 2 a lo largo de múltiples Data Centers y es la utilización de rutas no optimizadas al enviar paquetes al Gateway por defecto que reside en el Data Center remoto, no en al que está situado localmente, tal y como puede comprobarse en el siguiente esquema:


Ilustración 2 –Rutas sub-óptimas

Para mejorar este esquema se podrían formar grupos de VLANs y balancear entre los dos centros pero, si lo que se desea es suprimir estas rutas no optimizadas, existe la posibilidad de crear listas ACL que impidan la comunicación entre las direcciones MAC de los nodos HSRP, de tal manera que la IP virtual de default Gateway sea conservada a la vez por nodos residentes en diferentes Data Center, permitiendo que siempre el Default Gateway esté situado localmente. 


Nuevos protocolos

Debido al “fenómeno Cloud”, existe bastante innovación en tecnologías relacionadas con la interconexión de Centros de Datos, algunas de ellas provenientes del sector Open Source, aunque todavía tengan muy poco recorrido, como Quantum (http://wiki.openstack.org/Quantum) que forma parte del conglomerado de tecnologías OpenStack, pero una de las más interesantes es la desarrollada por Cisco para su gama de productos Nexus 7000 llamada Overlay Transport Virtualization (OTV).

OTV proporciona un medio de transporte L2 a lo largo de una infraestructura IP introduciendo el concepto de MAC routing mediante la compartición de un plano de control distribuido por la plataforma que actualiza la información de las direcciones MAC conectadas a cada Site, de modo que se limita el flooding de paquetes L2 por la infraestructura.

También con OTV se elimina la necesidad de creación de circuitos virtuales (pseudowires), lo que aporta cierto grado de flexibilidad e independencia de los protocolos subyacentes, tiene medios internos para evitar los bucles inter-site y mejora los tiempos de failover y el tratamiento del tráfico multicast.
También es remarcables que posee la capacidad de realizar el filtrado automático del tráfico FHRP, por lo que no hay que recurir al método mostrado en el punto anterior para evitar las rutas subóptimas al default Gateway.