Este documento forma parte de una serie en la que se describen las arquitecturas de redes y seguridad para empresas que están migrando cargas de trabajo de centros de datos aGoogle Cloud.
La serie consta de los siguientes documentos:
- Diseñar redes para migrar cargas de trabajo empresariales: enfoques de arquitectura
- Redes para un acceso seguro entre nubes: arquitecturas de referencia
- Redes para la entrega de aplicaciones orientadas a Internet: arquitecturas de referencia (este documento)
- Redes para cargas de trabajo híbridas y multinube: arquitecturas de referencia
Google ofrece un conjunto de productos y funciones que te ayudan a proteger y escalar tus aplicaciones más importantes orientadas a Internet. En la figura 1 se muestra una arquitectura que usa servicios de Google Cloud para desplegar una aplicación web con varios niveles.
Imagen 1. Aplicación web multinivel habitual desplegada en Google Cloud.
Arquitectura de lift-and-shift
A medida que las aplicaciones orientadas a Internet se trasladan a la nube, deben poder escalarse y tener controles de seguridad y visibilidad equivalentes a los controles del entorno local. Puedes proporcionar estos controles mediante las aplicaciones virtuales de red disponibles en el mercado.
Imagen 2. Aplicación desplegada con un balanceador de carga externo basado en un dispositivo.
Estos dispositivos virtuales ofrecen funciones y visibilidad coherentes con tus entornos locales. Cuando usas un dispositivo virtual de red, implementas la imagen del dispositivo de software mediante grupos de instancias gestionados con escalado automático. Tú eres quien debe monitorizar y gestionar el estado de las instancias de VM que ejecutan el dispositivo, así como mantener las actualizaciones de software del dispositivo.
Después de realizar el cambio inicial, puede que quieras pasar de las aplicaciones virtuales de red autogestionadas a los servicios gestionados. Google Cloud ofrece varios servicios gestionados para distribuir aplicaciones a gran escala.
En la figura 2 se muestra un dispositivo virtual de red configurado como frontend de una aplicación de nivel web. Para ver una lista de soluciones del ecosistema de partners, consulta la página Google Cloud Marketplace de la Google Cloud consola.
Arquitectura de servicios híbridos
Google Cloud ofrece los siguientes enfoques para gestionar aplicaciones orientadas a Internet a gran escala:
- Utiliza la red mundial de servidores de nombres de DNS Anycast de Google, que ofrece alta disponibilidad y baja latencia para traducir las solicitudes de nombres de dominio en direcciones IP.
- Usa la flota global de balanceadores de carga de aplicación externos de Google para enrutar el tráfico a una aplicación alojada en Google Cloud, on-premise o en otra nube pública. Estos balanceadores de carga se escalan automáticamente con el tráfico y aseguran que cada solicitud se dirija a un backend en buen estado. Si configuras grupos de puntos finales de red de conectividad híbrida, puedes aprovechar las ventajas de las funciones de red del balanceador de carga de aplicaciones externo en los servicios que se ejecutan en tu infraestructura fuera de Google Cloud. La red local u otras redes de nube pública se conectan de forma privada a tu Google Cloud red a través de un túnel VPN o de Cloud Interconnect.
Usa otros servicios de red perimetral, como Cloud CDN, para distribuir contenido, Google Cloud Armor para proteger tu contenido e Identity-Aware Proxy (IAP) para controlar el acceso a tus servicios.
En la figura 3 se muestra una conectividad híbrida que usa un balanceador de carga de aplicaciones externo.
Imagen 3. Configuración de la conectividad híbrida mediante un balanceador de carga de aplicaciones externo y servicios de perímetro de red.
En la figura 4 se muestra otra opción de conectividad: usar grupos de puntos finales de red de conectividad híbrida.
Imagen 4. Configuración de balanceadores de carga de aplicaciones externos con grupos de puntos finales de red de conectividad híbrida.
Usa un balanceador de carga de aplicación (HTTP/HTTPS) para enrutar solicitudes en función de sus atributos, como el identificador uniforme de recursos (URI) HTTP. Usa un balanceador de carga de red de proxy para implementar la descarga de TLS, el proxy TCP o la compatibilidad con el balanceo de carga externo en backends de varias regiones. Usa un balanceador de carga de red de tipo Pasarela para conservar las direcciones IP de origen de los clientes, evitar la sobrecarga de los proxies y admitir protocolos adicionales, como UDP, ESP e ICMP.
Protege tu servicio con Cloud Armor. Este producto es un producto de seguridad de WAF y de defensa contra ataques DDoS perimetrales que está disponible para todos los servicios a los que se accede a través de balanceadores de carga.
Usa certificados SSL gestionados por Google. Puedes reutilizar los certificados y las claves privadas que ya uses en otros productos deGoogle Cloud . De esta forma, no tendrá que gestionar certificados independientes.
Habilita el almacenamiento en caché en tu aplicación para aprovechar la cobertura de entrega de aplicaciones distribuida de Cloud CDN.
Usa Cloud Next Generation Firewall para inspeccionar y filtrar el tráfico de tus redes de VPC.
Usa Cloud IDS para detectar amenazas en el tráfico norte-sur, como se muestra en la figura 6.
Imagen 6. Configuración de Cloud IDS para reflejar e inspeccionar todo el tráfico de Internet e interno.
Arquitectura distribuida de confianza cero
Puedes ampliar la arquitectura distribuida de confianza cero para incluir la entrega de aplicaciones desde Internet. En este modelo, el balanceador de carga de aplicaciones externo de Google proporciona balanceo de carga global en clústeres de GKE que tienen mallas de Cloud Service Mesh en clústeres distintos. En este caso, adoptas un modelo de entrada compuesto. El balanceador de carga de primer nivel proporciona la selección de clústeres y, a continuación, una pasarela de entrada gestionada por Cloud Service Mesh proporciona el balanceo de carga específico del clúster y la seguridad de entrada. Un ejemplo de este ingreso multiclúster es la arquitectura de referencia de Cymbal Bank, tal como se describe en el plan técnico de la aplicación empresarial. Para obtener más información sobre el ingreso perimetral de Cloud Service Mesh, consulta el artículo Del perímetro a la malla: exponer aplicaciones en una malla de servicios a través de Ingress de GKE.
En la figura 7 se muestra una configuración en la que un balanceador de carga de aplicaciones externo dirige el tráfico de Internet a la malla de servicios a través de una puerta de enlace de entrada. La pasarela es un proxy específico de la malla de servicios.
Imagen 7. Entrega de aplicaciones en un entorno de microservicios de confianza cero.
Siguientes pasos
- Redes para un acceso seguro entre nubes: arquitecturas de referencia.
- Redes para cargas de trabajo híbridas y multinube: arquitecturas de referencia
- Usar Cloud Armor, el balanceo de carga y Cloud CDN para desplegar front-ends globales programables
- Migración a Google Cloud puede ayudarte a planificar, diseñar e implementar el proceso de migración de tus cargas de trabajo a Google Cloud.
- Diseño de la zona de aterrizaje en Google Cloud incluye directrices para crear una red de zona de aterrizaje.
- Para ver más arquitecturas de referencia, diagramas y prácticas recomendadas, consulta el centro de arquitectura de Cloud.