Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

200
Views
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.

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!