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).