Saltar al contenido
aprendeaws.dev

Módulo 4 · Redes: la Ciudad VPC/Lección 31

Comunicación entre servicios: PrivateLink, VPC Lattice y Service Connect

Conectar microservicios de distintas VPC y cuentas sin abrir redes completas, con descubrimiento, autenticación y observabilidad.

⏱ 12 min

Al terminar podrás

  • →Comparar peering, PrivateLink y VPC Lattice para conectar servicios
  • →Explicar qué resuelve una malla de servicios
  • →Elegir entre VPC Lattice y ECS Service Connect

Unir dos VPC con peering o Transit Gateway conecta redes completas: cualquier IP de un lado puede intentar hablar con cualquiera del otro. Muchas veces solo necesitas que el servicio de pagos llame al de facturación, con autenticación y métricas. Conectar servicios en lugar de redes reduce lo que expones.

Conectar redes o conectar servicios

Peering y Transit Gateway, vistos en Conectar redes, trabajan en capa 3: piden rangos que no se solapen y el control queda en Security Groups y NACL. PrivateLink y VPC Lattice publican un servicio concreto: el consumidor no ve la red del proveedor y los rangos pueden repetirse. ECS Service Connect resuelve lo mismo dentro del mundo de Amazon ECS.

PrivateLink: la ventanilla privada

Con AWS PrivateLink, el proveedor pone su servicio detrás de un Network Load Balancer y crea un endpoint service. El consumidor crea un interface endpoint en su VPC: una interfaz con IP privada de su propio rango. El tráfico va en un solo sentido, del consumidor al proveedor.

  • Funciona entre cuentas y con CIDR solapados, porque ninguno ve la red del otro.
  • El proveedor decide qué cuentas pueden conectarse y si acepta cada conexión a mano.
  • Puede publicar un nombre DNS privado propio, como api.proveedor.example.
  • Desde noviembre de 2024 un interface endpoint puede llegar a un endpoint service de otra región.

Es el modelo de los SaaS que venden por AWS Marketplace y de los equipos de plataforma que ofrecen una API interna a cientos de cuentas. Su límite: cada servicio es un endpoint service, y cada consumidor crea un endpoint por servicio.

Amazon VPC Lattice

Lattice agrupa muchos servicios en una service network. Asocias a ella servicios y VPC consumidoras; desde cualquier VPC asociada, un cliente llama al servicio por su nombre DNS y Lattice hace el resto.

  • Servicio: listeners (HTTP, HTTPS o TLS, con soporte para gRPC), reglas de enrutamiento por ruta, cabecera o método, y target groups. Los destinos pueden ser instancias EC2, IP, funciones Lambda, Application Load Balancers, tareas de ECS y pods de Kubernetes.
  • Auth policies: políticas de IAM en la service network y en cada servicio. Por ejemplo: solo el rol del servicio de pagos puede hacer POST en /facturas. Los clientes firman sus peticiones con SigV4.
  • Entre cuentas: compartes la service network o los servicios con AWS RAM. Los CIDR solapados no importan.
  • Resource configurations: exponen recursos TCP, como una base de datos RDS, a través de la service network.
  • Observabilidad: métricas por servicio y registros de acceso de cada petición en CloudWatch Logs, S3 o Firehose.

Qué resuelve una malla de servicios

Con decenas de microservicios, cada equipo termina programando lo mismo: encontrar al otro servicio, reintentar, cortar llamadas lentas, cifrar y medir. Una malla de servicios (service mesh) saca ese trabajo del código y lo pone en la red, casi siempre en un proxy junto a cada servicio:

  • Descubrimiento: llamas a facturacion y la malla sabe qué instancias están sanas.
  • Resiliencia: reintentos, tiempos de espera y sacar del grupo a una instancia que falla.
  • Seguridad: mTLS, es decir, cifrado y autenticación de ambos lados.
  • Observabilidad: latencia, errores y volumen por cada par de servicios.
  • Despliegues: mandar el 10 % del tráfico a la versión nueva.

Amazon ECS Service Connect es la opción integrada para ECS. Usa un namespace de AWS Cloud Map, inyecta un proxy administrado en cada tarea y da nombres cortos, reintentos, detección de instancias con fallas, métricas en CloudWatch y TLS con AWS Private CA. No tienes que operar el proxy, pero solo conecta servicios de ECS.

Cuál elegir

CriterioVPC PeeringTransit GatewayPrivateLinkVPC LatticeECS Service Connect
ConectaDos redesMuchas redes y la oficinaUn servicio hacia consumidoresMuchos servicios entre síServicios de ECS
CIDR solapadosNoNoSíSíNo aplica: usa la red de la VPC
TransitivoNoSíNo aplicaNo aplicaNo aplica
Control de accesoSG y NACLSG, NACL y tablas del TGWPermisos del endpoint service y SGAuth policies de IAM y SGSG; TLS opcional
CómputoCualquieraCualquieraDetrás de un NLBEC2, IP, Lambda, ALB, ECS, EKSSolo ECS
ObservabilidadFlow LogsFlow LogsFlow Logs y métricas del NLBMétricas y logs por peticiónMétricas por servicio en CloudWatch

Los contenedores están en Contenedores y Contenedores a escala; los balanceadores, en Balanceadores de carga.

Quiz

Pon a prueba lo que aprendiste

0 de 5 correctas · 5 sin responder

  1. 1.Un equipo de plataforma ofrece una API interna a 200 cuentas. Muchas usan el mismo rango 10.0.0.0/16. Los consumidores no deben ver nada más de la red del proveedor. ¿Qué usa?

  2. 2.Una empresa tiene microservicios en EC2, Lambda y EKS repartidos en varias cuentas. Quiere que solo el servicio de pedidos pueda llamar a POST /cobros del servicio de pagos, sin operar proxies. ¿Qué elige?

  3. 3.Todos los servicios de una aplicación corren en Amazon ECS, en la misma cuenta. Quieren descubrirse por nombre corto, con reintentos y métricas, con la menor configuración. ¿Qué usan?

  4. 4.Una empresa usa AWS App Mesh con EKS y debe planear su reemplazo. ¿Cuál es la recomendación correcta?

  5. 5.Tres VPC de la misma cuenta, con rangos distintos, necesitan conectividad completa entre todas sus instancias, y pronto serán quince. ¿Qué conviene?