Creación de una imagen EC2 AMI desde una instancia en ejecución frente a una instantánea de volumen

22

Quiero hacer una copia de seguridad de una instancia EC2 basada en Linux mientras se ejecuta sin tiempo de inactividad, y luego lanzar una nueva instancia. (La instancia ejecuta un servidor web y una base de datos Postgres).

Descubrí que hay dos formas de hacer esto, pero estoy confundido sobre cuál es la diferencia en el resultado entre ellos.

Opción n. ° 1: crear una AMI directamente desde una instancia en ejecución:

  1. Cree una nueva AMI directamente desde la instancia original en ejecución.
  2. Lanzar una nueva instancia desde la AMI

Opción # 2: crear manualmente una AMI a partir de una instantánea:

  1. Tome una instantánea del volumen adjunto a la instancia original en ejecución
  2. Cree AMI a partir de la instantánea, ingresando manualmente detalles como la arquitectura y la ID del núcleo
  3. Inicie una nueva instancia desde la imagen creada manualmente

Ahora, lo que es confuso es que al crear una AMI directamente desde una instancia, EC2 reiniciará la instancia de forma predeterminada. Hay una casilla de verificación "No reiniciar" con la siguiente información sobre herramientas:

Cuando está habilitado, Amazon EC2 no cierra la instancia antes de crear la imagen. Cuando se utiliza esta opción, no se puede garantizar la integridad del sistema de archivos en la imagen creada.

¿Existe realmente una diferencia en el resultado de estas dos opciones? Para mí, siento que estoy haciendo manualmente las mismas cosas que el asistente automático haría de todos modos. Genera instantáneas, selecciona las ID del núcleo y las arquitecturas.

¿Por qué uno tiene un texto de advertencia y el otro no? Hacer instantáneas de una instancia en ejecución se considera relativamente seguro, y si la creación de AMI hace una instantánea en segundo plano, ¿es más peligroso que hacerlo todo a mano?

Vilsepi
fuente

Respuestas:

13

Hacen exactamente lo mismo si selecciona la no rebootopción al crear el AMI directamente desde EC2. Básicamente, esto crea una instantánea que potencialmente puede estar en un estado inconsistente. Por ejemplo, se arriesga más a tener un estado inconsistente si está haciendo muchas escrituras de disco al crear la instantánea.

Si desea crear una instantánea en un estado "coherente", primero deberá cerrar su instancia y luego tomar una instantánea y luego reiniciarla. Es por eso que la opción de creación de AMI de EC2 es bastante útil porque no tiene que detenerse y reiniciar. Amazon se encarga de eso y también la dirección IP no cambia en su instancia. (Si detiene / reinicia su instancia, su dirección IP realmente cambia)

No estoy seguro de por qué Amazon no tiene una advertencia si toma una instantánea directamente desde el volumen, pero desde el punto de vista del volumen realmente no importa si el volumen lo está utilizando una instancia en ejecución o no en ejecución ( solo le importa si se adjunta o desconecta sin efecto en la creación de instantáneas)

Rico
fuente
Estoy de acuerdo en que debe crear AMI, ya que no desea cerrar la instancia. Puede buscar soluciones que hagan esto de forma inmediata para ahorrar tiempo. Personalmente uso totalcloud.io para automatizar mis acciones en AWS.
Veer Abheek Singh Manhas