Redes de servicios con Amazon VPC Lattice - Simplificación de la comunicación entre microservicios

Simplifica la comunicación entre microservicios cross-VPC y cross-cuenta con redes de servicios L7 sin necesidad de proxy Envoy. Presentamos la autenticación IAM y la diferenciación con App Mesh.

Configuración de la red de servicios

VPC Lattice proporciona redes de servicios a nivel de aplicación (L7) y simplifica la comunicación entre servicios que abarcan múltiples VPCs y cuentas. Una red de servicios es un límite lógico que agrupa servicios relacionados. Al asociar una VPC a una red de servicios, los recursos dentro de esa VPC pueden acceder a todos los servicios de la red. Cada servicio recibe un nombre DNS generado automáticamente, permitiendo la comunicación cross-VPC sin configurar VPC peering ni Transit Gateway. Con RAM (Resource Access Manager) se pueden compartir redes de servicios y servicios con otras cuentas.

Enrutamiento y autenticación

A los servicios se les configura un listener (HTTP o HTTPS) y se definen reglas de listener para el enrutamiento basado en la ruta, encabezados y método de la solicitud. En los grupos de destino se pueden registrar instancias EC2, direcciones IP, tareas ECS, funciones Lambda y ALB, tratando diferentes tipos de cómputo de forma unificada. El enrutamiento ponderado divide el tráfico entre múltiples grupos de destino para implementar canary releases y despliegues Blue/Green. Las políticas de autenticación IAM se aplican a la red de servicios o al servicio, controlando el acceso basado en el rol IAM del llamante. Las solicitudes se autentican con firma SigV4, permitiendo la comunicación solo a los servicios autorizados por la política.

Diferenciación con App Mesh

Tanto VPC Lattice como App Mesh gestionan la comunicación entre servicios, pero difieren en la capa objetivo y el modelo operativo. VPC Lattice proporciona redes de servicios L7 gestionadas por AWS, sin necesidad de desplegar ni gestionar proxies Envoy. App Mesh es un service mesh basado en Envoy que permite un control detallado de circuit breakers y políticas de reintento, pero conlleva la carga operativa de los proxies sidecar. VPC Lattice destaca en la comunicación entre servicios cross-VPC y cross-cuenta, siendo adecuado para entornos donde los microservicios están distribuidos en múltiples VPCs y cuentas. App Mesh es adecuado para el control granular del tráfico dentro de una sola VPC (canary deploy, traffic shifting). También es posible combinar ambos, usando Lattice para la comunicación entre VPCs y App Mesh para la comunicación dentro de la VPC. Para aprender sistemáticamente desde los fundamentos hasta la aplicación de service mesh, puede consultar libros (Amazon).

Precios de VPC Lattice

Los precios de VPC Lattice se componen de tres elementos: cargo por hora del servicio, número de solicitudes y volumen de datos procesados. Un servicio cuesta aproximadamente 0,025 USD/hora, las solicitudes cuestan aproximadamente 0,10 USD por millón, y el procesamiento de datos cuesta aproximadamente 0,025 USD por GB. Comparado con ALB, el costo por solicitud es menor, pero en entornos con muchos servicios, el cargo por hora se acumula. La asociación de VPC a la red de servicios es gratuita, y no se generan cargos de red adicionales aunque múltiples VPCs accedan al servicio. Se recomienda exportar los logs de acceso a S3 para analizar patrones de tráfico y optimizar costos considerando la consolidación de servicios con baja frecuencia de uso.

Resumen

VPC Lattice simplifica la configuración de red para la comunicación entre microservicios y realiza el control de acceso entre servicios mediante autenticación basada en IAM. Proporciona comunicación cross-VPC y cross-cuenta a través de redes de servicios sin proxy Envoy, reduciendo significativamente la carga operativa en comparación con App Mesh. Realiza control de tráfico basado en rutas y encabezados con reglas de enrutamiento L7, y analiza patrones de tráfico con logs de acceso.