Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

198
Vistas
Solución robusta para actualizar periódicamente un archivo de datos de referencia en un clúster de servidores Nginx que se ejecutan en instancias AWS EC2

Tengo un servicio web que se ejecuta en AWS que consta de un clúster de servidores Nginx que se ejecutan en varias instancias de EC2, con equilibrio de carga mediante un Elastic Load Balancer. Cada instancia de Nginx es idéntica y el servicio se basa en un único archivo de datos de referencia que contiene filas de datos basados en texto que se utilizan para generar la respuesta a las solicitudes POST entrantes al servicio web (el contenido del archivo se lee en la memoria al inicio) .

Este archivo de datos de referencia se genera mediante un proceso independiente, se actualiza cada 24 horas y está disponible en un depósito S3 designado. Estoy tratando de decidir cuál es la forma más sólida de obtener el archivo actualizado de S3 en las instancias EC2 y hacer que Nginx los lea nuevamente (hacer que Nginx los lea nuevamente es la parte fácil: solo necesito enviar el Nginx maestro procesar un SIGHUP).

Los dos requisitos principales de la solución son que:

  1. se ejecuta completamente en la nube (es decir, utilizando solo los servicios de AWS) ya que no hay hardware físico disponible.
  2. minimiza el impacto en la disponibilidad del servicio web, al programar la actualización/recarga en cada servidor para que ocurran de manera escalonada, en lugar de todos al mismo tiempo.

Las opciones que estoy considerando actualmente son:

  1. Tener un trabajo cron en cada instancia de EC2 que extraerá el archivo actualizado de S3 y hará que Nginx lo vuelva a cargar, una vez cada 24 horas (con un desplazamiento aleatorio para escalonar la actualización).
  2. Tener un AWS Lambda activado cuando el archivo se actualiza en S3, donde Lambda copia el archivo en las instancias EC2 en ejecución y hace que Nginx lo vuelva a cargar.

¿Es viable la opción (2)? es decir, ¿es posible escribir un Lambda que pueda identificar todas las instancias EC2 en ejecución para la cuenta actual que coincidan con un patrón de nombre de instancia? Y habiendo identificado las instancias de EC2, ¿es posible que Lambda copie el archivo de S3 a cada instancia de EC2? No tengo muy claro lo que eso implica.

Suponiendo que sea posible, ¿la opción (2) me da alguna ventaja real sobre la opción (1)? Estoy abierto a escuchar otras formas de hacer esto también.

about 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda