¿Cómo implementar Google Cloud CDN?
Procedimiento para habilitar Google Cloud CDN (Content Delivery Network) para su sitio web.
En mi publicación anterior, hice un test y habló sobre lo rápido que es CDN de Google. Cubrí brevemente la habilitación, y muchos de ustedes pidieron una explicación detallada.
Introducción
Cloud CDN de Google es una solución de entrega de contenido de baja latencia para pequeñas y medianas empresas.
Con más de 130 POP (punto de presencia) en todo el mundo y entrega de contenido acelerada utilizando la red premium global de Google, crea el CDN SSL más rápido a nivel mundial.
El último informe de CDNPerf mostrando que Google Cloud CDN funciona mejor que Azure, AKAMAI, Cloudflare, Fastly y muchos otros.

Algunas de las características de Google Cloud CDN:
- HTTP / 2: admite el último protocolo HTTP para un mejor rendimiento
- Baja latencia: todos los contenidos se sirven a través de Anycast (IP única) en todo el mundo.
- Registro: se integra con Stackdriver para proporcionar un registro detallado de una solicitud, acierto / error de caché.
- Purgar caché al instante
- Bajo costo
Requisito previo
¿Se pregunta por qué es un requisito previo?
Bueno, Google CDN solo funciona con Balanceador de carga de Google y orígenes del almacenamiento en la nube. Esto significa que si no aloja su aplicación en GCP (Google Cloud Platform), no puede usar su CDN.
En otras palabras, todavía no admite orígenes externos. Sencillo.
Así que supongo que está alojando su aplicación en GCP y está listo para usar un balanceador de carga (LB) para usar la CDN en la nube.
Lo has adivinado bien; no puedes usar VM como origen también. Solo se puede habilitar en el equilibrador de carga.
Vamos a ponerlo en marcha…
Guión
Tengo dos VM funcionando (una en Singapur y otra en el oeste de EE. UU.). Quiero cargar solicitudes de equilibrio a ambas VM usando un balanceador de carga HTTP y activar CDN en él.
Necesito hacer lo siguiente.
- Crear una verificación de estado
- Crea un grupo de instancias
- Crea un balanceador de carga
- Habilitar CDN
Crear un control de salud
Una verificación de estado es esencial para que el equilibrador de carga determine si la máquina virtual está en buen estado. Cuando la VM no puede responder a la consulta, LB marcaría eso como insalubre y dejaría de enviar tráfico.
- Inicie sesión en GCP y vaya a Los controles de salud en Compute Engine.
- Haga clic en "Crear una verificación de estado".

- Siga el asistente e ingrese la información necesaria.
- Protocolo: seleccione HTTP si su aplicación alojada en VM escuchará en el puerto 80 y HTTPS para el puerto 443
- Ruta de solicitud: una raíz de contexto de trabajo.
- Criterios de salud: ajustar según sea necesario

- Haga clic en crear
Tardará unos segundos y notará una verificación de estado recién creada en la lista. Usaremos esto en breve.
Creando un grupo de instancias
El grupo de instancias se usa en la configuración del balanceo de cargas. Se llama servicios de backend para LB.
- Ve a Grupos de instancias en Compute Engine.
- Haga clic en "Crear grupo de instancias".

- Siga el asistente para proporcionar la información necesaria.
- Ubicación: seleccione una zona única ya que no vamos a seguir adelante con una opción de escalado automático.
- Zona: elija la zona donde se ejecuta la VM.
- Tipo de grupo: marque grupo de instancias no administrado
- Instancias de VM: seleccione la VM de la lista.
- Haga clic en Crear

Repite los pasos para crear un grupo de instancias para otra zona de VM.
Ahora, tenemos dos grupos de instancias. Cada uno mapeado con la VM en la zona respectiva.
Crear un equilibrador de carga
- Ve a Balanceo de carga en Servicios de red
- Haz clic en "Crear balanceador de carga".

- Seleccione el "Equilibrio de carga HTTP (S)".
- Ingrese el nombre de LB
- Haga clic en "Configuración de backend".
- Haga clic en "Crear un servicio de backend".
- Ingrese el nombre de los servicios de backend
- Agregue ambos grupos de instancias que creó anteriormente como backend
- Seleccione la verificación de salud que creó anteriormente
- Afinidad de sesión: seleccione si desea que la sesión sea más rígida
- Haga clic en crear

- Deje la configuración predeterminada en "Reglas de ruta y host". Sin embargo, si necesita un reenvío condicional, agregue lo que necesite.
- Haga clic en la configuración de la interfaz e ingrese el nombre.
- Seleccione "crear dirección IP" para obtener la dirección IP estática. Esto es importante ya que, de forma predeterminada, obtendrá una IP efímera.
- El protocolo, la versión de IP y el puerto lo dejan como predeterminado.
- Click Hecho

- Haga clic en revisar y finalizar, y si cree que algo está mal, cámbielo o haga clic en "Crear".

- Una vez creado, verá LB recién creado en la lista.

Esto indica que se crea LB. Hagamos algunas pruebas para asegurarnos de que LB funcione.
Entonces, trato de acceder a la IP frontend de LB, y es un comercial!

También puede generar algunas cargas para garantizar que el tráfico se enrute a ambas máquinas virtuales. Google reenviará las solicitudes a la máquina virtual más cercana desde la geolocalización del usuario.
En mi escenario, el tráfico de Asia irá a VM en Singapur, y de América, irá a US-West VM.
Activando Google Cloud CDN
Y, finalmente, es hora de habilitar la CDN.
- Ve a CDN en la nube bajo los servicios de red.
- Haga clic en "Agregar origen".

- Seleccione el balanceador de carga del menú desplegable de origen y haga clic en agregar

- Debería ver la CDN recién creada en la lista.

Esto concluye que CDN está habilitado en el balanceador de carga.
Una vez que esté satisfecho con él, puede actualizar el registro A de su dominio a la IP global del balanceador de carga.
Espero que esto te ayude. Si está buscando aprender de forma práctica sobre Google Cloud Platform, consulte este Curso Arquitectura en la nube con GCP.