Este documento forma parte de una serie en la que se describen las arquitecturas de redes y seguridad para las empresas que migran cargas de trabajo de centros de datos a Google Cloud.
La serie consiste en los siguientes documentos:
- Diseña redes para migrar cargas de trabajo empresariales: enfoques arquitectónicos
- Herramientas de redes para el acceso seguro dentro de la nube: Arquitecturas de referencia
- Herramientas de redes para la entrega de aplicaciones orientadas a Internet: arquitecturas de referencia (este documento)
- Herramientas de redes para cargas de trabajo de nubes híbridas y múltiples: arquitecturas de referencia
Google ofrece un conjunto de productos y funciones que ayudan a proteger y escalar tus aplicaciones más esenciales conectadas a Internet. En la Figura 1, se muestra una arquitectura que usa servicios de Google Cloud para implementar una aplicación web con varios niveles.
Figura 1. Aplicación web típica de varios niveles implementada en Google Cloud
Arquitectura lift-and-shift
A medida que las aplicaciones orientadas a Internet se trasladan a la nube, deben poder escalar y deben tener controles de seguridad y visibilidad que sean equivalentes a los controles en el entorno local. Puedes proporcionar estos controles mediante dispositivos virtuales de red que están disponibles en el mercado.
Figura 2. Aplicación implementada con un balanceador de cargas externo basado en dispositivos.
Estos dispositivos virtuales proporcionan una funcionalidad y visibilidad que son coherentes con tus entornos locales. Cuando usas un dispositivo virtual de red, implementas la imagen del dispositivo de software mediante grupos de instancias administrados con ajuste de escala automático. Depende de ti supervisar y administrar el estado de las instancias de VM que ejecutan el dispositivo y, además, mantener las actualizaciones de software para el dispositivo.
Después de realizar el cambio inicial, te recomendamos que realices la transición de dispositivos virtuales de red autoadministrados a servicios administrados. Google Cloud ofrece una serie de servicios administrados para la entrega de 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 obtener una lista de las soluciones del ecosistema de socios, consulta la página Google Cloud Marketplace en la consola de Google Cloud.
Arquitectura de servicios híbridos
Google Cloud ofrece los siguientes enfoques para administrar aplicaciones orientadas a Internet a gran escala:
- Usa la red global de Google de los servidores de nombres DNS Anycast que proporcionan alta disponibilidad y baja latencia a fin de traducir solicitudes de nombres de dominio a direcciones IP.
- Usa la flota global de balanceadores de cargas de aplicaciones externos de Google para enrutar el tráfico a una aplicación alojada en Google Cloud, alojada de forma local o en otra nube pública. Estos balanceadores de cargas escalan de forma automática con tu tráfico y garantizan que cada solicitud se dirija a un backend en buen estado. Si configuras los grupos de extremos de red de conectividad híbrida, puedes aportar los beneficios de las capacidades de las herramientas de redes del balanceador de cargas de aplicaciones externo a los servicios que se ejecutan en tu infraestructura existente fuera de Google Cloud La red local o las otras redes de nube pública están conectadas de forma privada a la red de Google Cloud a través de un túnel VPN o a través de Cloud Interconnect.
Usa otros servicios de red perimetral, como Cloud CDN para distribuir contenido, Google Cloud Armor para proteger tu contenido y Identity-Aware Proxy (IAP) para controlar el acceso a tus servicios.
En la Figura 3, se muestra la conectividad híbrida que usa el balanceador de cargas de aplicaciones externo.
Figura 3. Configuración de conectividad híbrida mediante el uso del balanceador de cargas de aplicaciones externo y los servicios perimetrales de red.
En la figura 4, se muestra una opción de conectividad diferente: con grupos de extremos de red de conectividad híbrida.
Figura 4. Configuración del balanceador de cargas de aplicaciones externo mediante grupos de extremos de red de conectividad híbrida.
Usa un balanceador de cargas de aplicaciones (HTTP/HTTPS) para enrutar las solicitudes según sus atributos, como el identificador de recursos uniforme (URI) HTTP. Usa un balanceador de cargas de red de proxy para implementar la descarga de TLS, el proxy TCP o la compatibilidad con el balanceo de cargas externo en backends en varias regiones. Usa un balanceador de cargas de red de traspaso para conservar las direcciones IP de origen del cliente, evitar la sobrecarga de los proxies y admitir protocolos adicionales como UDP, ICMP y ESP.
Protege el servicio con Google Cloud Armor. Este producto es un producto de seguridad WAF y protección contra DSD perimetral que está disponible para todos los servicios a los que se accede a través de un balanceador de cargas de aplicaciones externo global.
Usa certificados SSL administrados por Google. Puedes volver a usar certificados y claves privadas que ya usas para otros productos de Google Cloud. Esto quita la necesidad de administrar certificados separados.
Habilita el almacenamiento en caché en tu aplicación para aprovechar la huella de entrega de aplicaciones distribuida de Cloud CDN.
Usa dispositivos virtuales de red para inspeccionar y filtrar el tráfico de norte a sur (desde y hacia Internet) y de este a oeste (desde y hacia las redes de VPC o redes locales), como se muestra en la figura 5.
Figura 5. Configuración del dispositivo virtual de red con alta disponibilidad mediante un balanceador de cargas de red de paso interno y un intercambio de tráfico entre redes de VPC para inspeccionar el tráfico.
Usa IDS de Cloud para detectar amenazas en el tráfico de norte a sur, como se muestra en la figura 6.
Figura 6. Configuración de IDS de Cloud para duplicar e inspeccionar todo el tráfico interno y de Internet.
Arquitectura distribuida de confianza cero
Puedes expandir la arquitectura distribuida de confianza cero para incluir la entrega de aplicaciones desde Internet. En este modelo, el balanceador de cargas de aplicaciones externo de Google proporciona un balanceo de cargas global en los clústeres de GKE que tienen mallas de Cloud Service Mesh en clústeres distintos. En esta situación, adoptas un modelo de entrada compuesto. El balanceador de cargas de primer nivel proporciona la selección de clústeres y, luego, una puerta de enlace de entrada administrada por Cloud Service Mesh proporciona balanceo de cargas específico del clúster y seguridad de entrada. Un ejemplo de este Ingress de varios clústeres es la arquitectura de referencia de Cymbal Bank, como se describe en el plano de la aplicación empresarial. Para obtener más información sobre la entrada de perímetro de Cloud Service Mesh, consulta Del perímetro a la malla: Exposición de aplicaciones de la 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 cargas de aplicaciones externo dirige el tráfico desde Internet a la malla de servicios a través de una puerta de enlace de entrada. La puerta de enlace es un proxy dedicado en la malla de servicios.
Figura 7. Entrega de aplicaciones en un entorno de microservicios de confianza cero.
¿Qué sigue?
- Herramientas de redes para el acceso seguro dentro de la nube: Arquitecturas de referencia.
- Herramientas de redes para cargas de trabajo de nubes híbridas y múltiples: arquitecturas de referencia.
- La migración a Google Cloud puede ayudarte a planificar, diseñar y, luego, implementar el proceso de migración de tus cargas de trabajo a Google Cloud.
- El documento Diseño de zonas de destino en Google Cloud tiene orientación para crear una red de zona de destino.
- Para obtener más información sobre las arquitecturas de referencia, los diagramas y las prácticas recomendadas, explora Cloud Architecture Center.