Descubrimiento de servicios - Automatización de la conectividad de microservicios con AWS Cloud Map
Explicamos cómo construir el descubrimiento de servicios con AWS Cloud Map. Cubrimos el registro basado en DNS y API, la integración con ECS y los health checks.
Desafíos del descubrimiento de servicios
En arquitecturas de microservicios, los servicios necesitan descubrir dinámicamente las ubicaciones de otros servicios. Las direcciones IP fijas y los archivos de configuración estáticos no funcionan en entornos donde las instancias se crean y destruyen constantemente. AWS Cloud Map proporciona un registro de servicios que permite a las aplicaciones descubrir recursos mediante llamadas API o consultas DNS, manteniendo actualizada la información de ubicación de los servicios.
Namespaces y registro de servicios
Los namespaces definen el ámbito del descubrimiento. Los namespaces DNS públicos permiten el descubrimiento desde Internet, los namespaces DNS privados funcionan dentro de una VPC, y los namespaces HTTP proporcionan descubrimiento basado en API sin DNS. Los servicios se registran dentro de un namespace con instancias que contienen atributos como dirección IP, puerto y metadatos personalizados. Cloud Map actualiza automáticamente los registros DNS cuando las instancias se registran o desregistran.
Integración con ECS y health checks
ECS se integra nativamente con Cloud Map para el descubrimiento automático de servicios. Cuando una tarea ECS se inicia, se registra automáticamente en Cloud Map, y cuando se detiene, se desregistra. Los health checks de Route 53 o los health checks personalizados verifican la disponibilidad de las instancias, eliminando automáticamente las instancias no saludables del registro. Esto garantiza que las solicitudes solo se dirijan a instancias saludables sin intervención manual.
Integración con App Mesh y precios
App Mesh utiliza Cloud Map como backend de descubrimiento de servicios para su malla de servicios. Los nodos virtuales de App Mesh referencian servicios de Cloud Map para resolver endpoints, habilitando el enrutamiento de tráfico, reintentos y circuit breakers a nivel de malla. Cloud Map cobra 0.10 USD por recurso registrado al mes y 1.00 USD por millón de llamadas API de descubrimiento. Las consultas DNS están incluidas en los precios de Route 53. Para profundizar en el diseño de microservicios, libros especializados (Amazon) son una referencia útil.
Resumen - Directrices de uso de Cloud Map
AWS Cloud Map proporciona descubrimiento de servicios para arquitecturas de microservicios mediante registro basado en DNS y API. La integración nativa con ECS automatiza el registro/desregistro de servicios, y los health checks garantizan que solo las instancias saludables sean descubribles. Combinado con App Mesh, permite una gestión completa del tráfico de la malla de servicios.