Descubra cómo puede utilizar el equilibrador de carga (LB) de Cloudflare para distribuir el tráfico entre AWS (Amazon Servicios web) y GCP (Plataforma en la nube de Google).

La mayoría de las aplicaciones web requieren o equilibran la carga entre servidores/servicios en el mismo centro de datos.

Sin embargo, si está ejecutando aplicaciones de misión crítica donde se necesita tiempo de actividad todo el tiempo en todo el mundo, entonces necesita un equilibrador de carga en la nube.

No solo el tiempo de actividad pero podrían ser muchos otros factores.

por ejemplo:

  • Requisito de centro de datos activo-pasivo o activo-activo
  • Plan de recuperación en un desastre
  • Aprovechar múltiples centros de datos para atender solicitudes desde la ubicación más cercana
  • Cumplimiento

Cloudflare ofrece opciones de equilibrio de carga locales y globales, que ayudan a enrutar el tráfico a múltiples centros de datos.

Algunos de los Las funciones de Cloudflare LB son:

  • Los controles de estado están incorporados, por lo que puede eliminar rápidamente un servidor defectuoso.
  • Activar la conmutación por error cuando falla la verificación de estado
  • Reduzca la latencia enrutando el tráfico al servidor más cercano
  • Nivel de DNS y compatibilidad con HTTP(S), TCP y UDP
  • Permanencia de la sesión para garantizar que la solicitud vaya al mismo servidor

Puede configurar cosas completas a través del panel de Cloudflare o la API.

Técnicamente, las siguientes instrucciones se aplican al equilibrio de carga en cualquier plataforma en la nube como Azure, Digital Ocean, Alibaba, etc. Pero he elegido GCP y AWS para la demostración.

cloudflare-lb

AWS & GCP Setup Details

Aprovisioné un servidor en la plataforma GCP y AWS con lo siguiente.

  • Nginx instalado
  • Adicional index.html con texto personalizado para mostrar que la página se está sirviendo desde el servidor respectivo
  • Se inició Nginx y se puede acceder a la página desde ambos servidores.
página de prueba de aws-gcp

Pasemos a Cloudflare para implementar LB.

Activating Cloudflare Load Balancer

Tengo un dominio disponible (bloggerflare.com), que usaré para este laboratorio.

Nota:: El equilibrador de carga de Cloudflare no es GRATIS y cotización  comienza en $ 5 por mes.

Supongo que ya tiene una cuenta con Cloudflare; si no, puede crear y agregar el dominio, como expliqué en mi Publicación anterior.

  • Inicie sesión en Cloudflare y seleccione el dominio donde desea habilitar el equilibrio
  • Vaya a la pestaña de tráfico y habilitar el equilibrio de carga.
cloudflare-habilitar-lb
  • Configure las funciones según los requisitos. Estoy procediendo con una configuración mínima.
configuración de cloudflare-lb

Si desea que las solicitudes se redirijan a la ubicación más cercana, debe habilitar Enrutamiento geográfico.

  • Confirme la suscripción y habilítela.
suscripción a cloudflare-lb

Como puede ver, puede comenzar desde $ 5 al mes con dos servidores de origen y un intervalo de verificación de estado de un minuto.

La infraestructura es tan asequible ahora. Hace 5 años, ¿te imaginas un equilibrador de carga en la nube por $ 5?

Esto indica que Cloudflare LB está activado y listo para configurarse.

Creating Cloudflare LB

Tardará unos segundos en confirmar la suscripción y volver a la página de Tráfico.

  • Presione Crear balanceador de carga
cloudflare-lb-activado
  • Ingrese el dominio donde desea configurar el equilibrio.
  • Expandir Afinidad de sesión y seleccionar Por Cloudflare Cookie si necesita habilitar la permanencia de la sesión
cloudflare-create-lb
  • Ingrese un nombre de grupo y es el origen (servidor al que se debe redirigir el tráfico)
cloudflare-lb-piscina
  • A continuación, puede configurar una verificación de estado.

Un chequeo de salud es esencial. Cloudflare dejará de enviar tráfico al origen defectuoso cuando falle una verificación de estado.

  • Si su origen está escuchando en el puerto 80, puede seleccionar HTTP or https para el puerto 443.
cloudflare-lb-habilitar-healthcheck

Cloudflare también te permite configurar chequeo de salud avanzado configuraciones como:

  • Método GET o HEAD
  • Esperado Código de estado HTTP
  • Validación de contenido en el cuerpo de la respuesta
  • Número de intentos antes de que se consideren saludables o no saludables
  • Validación del nombre del encabezado

Y finalmente, guarde la configuración y desplegar

cloudflare-lb-final-deploy
  • LB realizará una verificación de estado y, en unos segundos, verá que el estado es Ser saludable.
cloudflare-lb-saludable

Muy bueno, esto concluye que el balanceador de carga de Cloudflare está listo para aceptar tráfico del mundo y reenviarlo a los servidores de origen configurados.

Testing Load Balancer

Realicemos una prueba básica para ver si funciona.

  • Primero, intente acceder al dominio.
página de gcp

Impresionante!

LB envió una solicitud a Google Cloud VM y obtuvo la respuesta. Puedo ver la solicitud en Nginx.

162.158.167.174 - - [19/Dec/2017:10:25:41 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
  • Déjame cerrar Nginx en GCP y acceder a la página nuevamente.
página de aws
  • Y aquí tienes. AWS proporciona una página solicitada.

Puedo ver que LB eliminó al miembro del grupo de GCP.

cloudflare-lb-health-test

De forma predeterminada, la IP de Cloudflare se mostrará en los registros de acceso de Nginx y, si necesita restaurar la IP del cliente, puede echa un vistazo a esta guía.

Conclusión

Implementar un balanceador de carga de Cloudflare es sencillo y puede comenzar en menos de 15 minutos. Si está buscando alta disponibilidad entre múltiples centros de datos o servidores de origen, pruébelo para ver cómo funciona.