¿Cómo funcionan las imágenes de máquina de Amazon?


9

He visto muchos tutoriales y cosas sobre la creación de AMI, pero nunca he entendido realmente el concepto completo de una AMI. Es un enlace a la instancia, o se almacena y nunca cambia. Además, una imagen incluye el almacenamiento local y todos los paquetes, etc. instalados en esa instancia, o es simplemente una copia de la configuración de una instancia en particular. Gracias

Respuestas:


10

En su forma más simple, un AMI es una descripción de una máquina virtual: el tipo de virtualización, la arquitectura (32/64 bit), el kernel y el dispositivo raíz. En palabras de Amazon:

Un AMI es una plantilla que contiene una configuración de software (sistema operativo, servidor de aplicaciones y aplicaciones) que puede ejecutar en el probado entorno informático de Amazon.

Las instancias EC2 son máquinas virtuales que se ejecutan en el hardware de Amazon. Para que se inicie la instancia, se requiere cierta cantidad mínima de información. Además, los diferentes tipos de instancias admiten diferentes configuraciones (por ejemplo, algunos no admiten AMI de 32 bits).

Cada AMI tiene un identificador (por ejemplo, ami-a1b2c3d4), y la configuración de ese AMI no se puede cambiar después de la creación. (Sin embargo, puede anular muchas de las configuraciones en el momento del lanzamiento, o en algunos casos, incluso después de que se inicie una instancia).

En términos del volumen raíz, las AMI contienen una referencia a un volumen existente (por ejemplo, hacen referencia a una instantánea para instancias respaldadas por EBS, o a las partes de la imagen en el caso de una instancia respaldada por S3).

Las AMI también contienen cierto grado de verificación de errores, generalmente una identificación de usuario para indicar la propiedad, las claves de cifrado (que cifran la imagen) y una firma (para verificar la integridad de la imagen). Puede obtener una buena idea de lo que es un AMI al mirar el archivo de manifiesto creado al hacer una instancia respaldada por S3: es solo un archivo que contiene datos y referencias a otros elementos (almacenamiento, kernel, etc.).

Una imagen hace referencia a ella como un mapeo de dispositivo de bloque: especifica el dispositivo (por ejemplo, / dev / sda1) y la fuente de datos (efímero (y las partes S3 si es relevante) o ebs-snapshot). Dado que las partes S3 están firmadas y las instantáneas de ebs no se pueden cambiar (solo eliminar), el lanzamiento de una instancia desde un AMI (sin anular su configuración) siempre debe dar como resultado una instancia con la misma configuración de software. (Tenga en cuenta que todavía es posible que las instancias lanzadas desde la misma AMI difieran en sus estados de ejecución debido a los datos de usuario o diferentes asignaciones de dispositivos de bloque (por ejemplo, las micro instancias no tienen almacenamiento efímero, mientras que otros tipos de instancias sí). aquí, los volúmenes adjuntos se almacenan separados de la AMI, pero la AMI hace referencia de tal manera que los volúmenes no se pueden cambiar.

Antes de iniciar una instancia desde una AMI, puede anular la asignación del dispositivo de bloque (por ejemplo, para agregar un volumen EBS adicional u otro volumen efímero si el tipo de instancia lo admite). En el caso de los volúmenes EBS, después de que se inicie la instancia, puede separar el volumen raíz y adjuntar un volumen EBS completamente diferente.

Entonces, para responder brevemente a sus preguntas: es un enlace a la instancia, o se almacena y nunca cambia. Se almacena y nunca se cambia.

Además, una imagen incluye el almacenamiento local y todos los paquetes, etc. instalados en esa instancia, o es simplemente una copia de la configuración de una instancia en particular. La imagen incluye el almacenamiento local y todos los paquetes, etc. instalados en esa instancia. (Por lo general, este es solo el volumen raíz, pero se puede configurar un AMI para iniciar una instancia con múltiples volúmenes poblados).


Entonces, son referencias al EBS de la instancia, por lo que si el estado de EBS cambia después de la creación de AMI, ¿también cambiará el estado de AMI?
Wiz

No, hacen referencia a instantáneas de EBS, no a los volúmenes de EBS en sí. Las instantáneas de EBS no pueden cambiar, incluso si el volumen de EBS cambia. Si inicia una AMI determinada, cargará la instantánea EBS a la que hace referencia. Si lo desea, puede especificar una instantánea de EBS diferente para usar cuando inicie la instancia, o puede reemplazar el volumen de EBS utilizado después de que la instancia se haya iniciado.
cyberx86

3

Un AMI es efectivamente la copia maestra de un sistema de archivos raíz que se utiliza para lanzar nuevas instancias EC2, junto con algunos metadatos como la arquitectura. Contiene el sistema operativo completo y los paquetes de software que normalmente encontraría cuando inicie una copia nueva de esa distribución, además de lo que el creador de AMI consideró apropiado agregar.

Si crea una AMI a partir de una instancia, básicamente está creando una copia del sistema de archivos raíz de esa instancia, que luego puede usarse para crear nuevas instancias.

Mi respuesta aquí también podría ayudar: https://stackoverflow.com/a/7895489/111286

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.