EC2 Actualizar mi AMI existente

18

Estoy utilizando Elastic Load Balancing para equilibrar la carga de mi Auto Scaling Group , para eso tengo un AMI privado que contiene mi servidor de aplicaciones (Tomcat) y mi aplicación web desplegada como guerra ... Ahora todo funciona bien ... qué si necesito cambiar mi configuración de tomcat en mi AMI . No requerirá iniciar mi AMI -> Iniciar sesión + Cambiar configuración de Tomcat -> Crear una nueva AMI -> Eliminar una AMI antigua No creo que crear una nueva AMI sea una solución ya que requerirá actualizar mi Auto Scale Grupo para agregar mi nuevo AMI

¿Hay alguna forma de actualizar los datos en mi AMI existente sin crear uno nuevo? Solo quiero tener la misma ID de AMI

Hadi Salem
fuente

Respuestas:

5

Puede actualizar su configuración con un script de datos de usuario que se ejecuta cuando inicia su instancia.

Lo que pones en el script depende de cómo administras tu configuración a nivel de sistema de archivos. Personalmente pongo mis archivos de configuración en un repositorio de Mercurial y simplemente hago una pullactualización.

David Levesque
fuente
Creo que su respuesta es válida, pero en mi opinión es una respuesta maliciosa ... ¿No hay una manera de actualizar mi imagen AMI manteniendo la misma ID de AMI?
Hadi Salem
3
Lamentablemente no creo que sea posible. De Amazon doc: "Una ID de AMI está asociada con los bits físicos de una imagen. Para proteger a los usuarios de las imágenes que se modifican, le pedimos que registre las AMI de instancia de Amazon EC2 después de volver a agruparlas".
David Levesque
No es posible modificar una imagen AMI existente. Debes crear uno nuevo.
Matt Houser
La implementación de la configuración IMO usando datos de usuario es más elegante. La gente también se inclina hacia la instalación de servicios en la creación de instancias. También es posible que desee considerar el uso de una plantilla de CloudFormation.
Edwin
Creo que usaré BeanStalk con un AMI personalizado, me hará la vida mucho más fácil, no es necesario configurar un equilibrador de carga con escala automática, y en caso de que necesite cambiar la configuración de mi servidor, crearé mi propio script .. Gracias a todos
Hadi Salem
3

No es posible actualizar una AMI existente y mantener la misma ID de AMI. Deberá crear una nueva AMI personalizada y actualizar su configuración de inicio para el grupo Auto Scaling, o cambiar su configuración para aplicar cambios a la instancia después de iniciar una instancia de la AMI base como sugiere @DavidLevesque.

Es una arquitectura común descargar aplicaciones, configuraciones y datos desde, por ejemplo, S3 en el lanzamiento.

Eric Hammond
fuente
+1 para la nota sobre la arquitectura tid-bit
Jmoney38
0

Esto parece una publicación antigua. Pero en caso de que todavía esté en la misma situación, puede considerar usar un AMI de Windows respaldado por la tienda (tarea incluida). También es similar a un AMI, pero tiene más control sobre la imagen en sí, ya que prácticamente crea la imagen y la almacena en un depósito S3. Esto le permitirá actualizar la imagen subyacente de su AMI de vez en cuando cuando lo necesite sin tener que crear una nueva AMI (al menos así lo entiendo).

https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_InstanceStoreBacked_WinAMI.html?icmpid=docs_ec2_console

Rio Bautista
fuente
FYI ... "Las únicas AMI de Windows que pueden ser respaldadas por el almacén de instancias son las de Windows Server 2003. Las instancias respaldadas por el almacén de instancias no tienen el espacio de disco disponible requerido para versiones posteriores de Windows Server".
Rich C