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

201
Views
Ejecución de comandos tras la creación de instancias con AWS Elastic Beanstalk

He estado buscando varios métodos para ejecutar comandos al crear instancias EC2 usando Elastic Beanstalk en AWS. Me han proporcionado diferentes métodos para hacer esto a través del soporte técnico de AWS, incluidos enlaces de ciclo de vida, AMI personalizadas y extensiones .eb. He tenido problemas para que los 2 primeros métodos (ganchos de ciclo de vida y AMI personalizadas) funcionen con EB.

Actualmente estoy usando .ebextensions para ejecutar comandos al momento de la implementación, pero no estoy seguro de si hay una forma de ejecutar un conjunto de comandos solo al momento de la creación en lugar de cada vez que implemento el código. Por ejemplo, tengo un archivo .ebextensions/03-commands.config que contiene el siguiente código:

 container_commands: 01_npm_install: command: "npm install -g -f npm@latest"

Sin embargo, solo quiero que este código se ejecute en la creación de instancias, no cada vez que implemente, como lo hace actualmente. ¿Alguien sabe una manera de lograr esto?

¡Gracias por adelantado!

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Recomendaría crear un script idempotente en su aplicación que deje un archivo de marcador en la instancia en alguna ubicación, digamos /var/myapp/marker usando algo como mkdir -p /var/myapp-state/; touch /var/myapp-state/marker en ejecución exitosa. De esa manera, en su secuencia de comandos, puede verificar que, si existe el archivo de marcador, puede hacer que su secuencia de comandos no funcione.

Luego, puede llamar a su secuencia de comandos desde los comandos del contenedor, pero siempre será una operación no operativa porque en la primera ejecución exitosa creará el archivo de marcador y las ejecuciones posteriores no serán operativas.

over 4 years ago · Santiago Trujillo Report

0

Cree una AMI personalizada. De esta manera, puede configurar sus instancias como quiera y se iniciarán más rápido.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.customenv.html

Actualizar

No entiendo por qué alguien rechazaría esto. De todos modos, como también se ha dicho en los comentarios, las AMI personalizadas son una excelente manera de crear un comportamiento personalizado en sus instancias.

over 4 years ago · Santiago Trujillo Report

0

Como veo en su pregunta, está usando: container_commands, eso significa que está usando Elastic Beanstalk con Docker. ¿Derecha? En este caso, recomendaría leer: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_docker.html .

La idea es que puede crear su propio Dockerfile, donde puede especificar todos los comandos que necesita para construir un contenedor docker, por ejemplo, para instalar todas las dependencias.

Recomendaría usar .ebextensions para la personalización y configuración de Elastic Beanstalk, por ejemplo, para especificar la configuración de ELB o RDS. En Dockerfile, tiene sentido especificar todos los comandos que necesita para crear un contenedor para su aplicación, que incluye la configuración del servidor web, las dependencias, etc.

Con este enfoque, Elastic Beanstalk creará un contenedor, que cada vez que implemente, ejecutará una instancia de Docker con el código fuente implementado.

over 4 years ago · Santiago Trujillo Report
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!