Terminología de Amazon EC2: AMI vs. EBS vs. Instantánea vs. Volumen

127

He estado hurgando en Amazon EC2, y estoy un poco confundido sobre parte de la terminología. Específicamente con respecto a AMI, instantáneas y volúmenes, y un EBS

Corríjame si estoy equivocado o complete los vacíos graves en mis siguientes declaraciones:

  • Una AMI (Amazon Machine Image) es una captura completa de 'disco' de un sistema operativo y configuración. Cuando inicia una instancia, la inicia desde una AMI

  • Un EBS (Elastic Block Storage) es una forma de persistir el estado de cualquier modificación que haya realizado una vez que se inicia desde una AMI determinada. En mi opinión, esto es como una diferencia en el estado final de su instancia frente al AMI.

  • Una instantánea es ... bueno, no estoy seguro. Solo puedo suponer que es una instantánea de una instancia específica, pero no me queda claro cómo difiere del estado almacenado en un EBS. ¿En qué se diferencia una instantánea de crear una EBS AMI a partir de una instancia existente?

  • Un volumen es ... ¿parecería un espacio de disco montado en el que se carga un par AMI / EBS? No estoy seguro de esto tampoco. Puedo ver (desde la consola de AWS) que puede crear un volumen a partir de una instantánea, y que puede adjuntar / separar volúmenes, pero no tengo claro por qué ni cuándo haría eso.

Mate
fuente

Respuestas:

150

Un AMI, como notará, es una imagen de máquina. Es una instantánea total de un sistema almacenado como una imagen que se puede iniciar como una instancia. Volveremos a las AMI en un segundo.

Veamos EBS. Sus otros dos artículos son subelementos de esto. EBS es un dispositivo de bloque virtual. Puede pensarlo como un disco duro, aunque en realidad es un montón de magia de software para vincular a otro tipo de dispositivo de almacenamiento, pero hacer que parezca un disco duro para una instancia.

EBS es solo el nombre de todo el servicio. Dentro de EBS tienes lo que se llaman volúmenes. Esta es la "unidad" que Amazon te está vendiendo. Creas un volumen y te asignan X número de gigabytes y lo usas como un disco duro que puedes conectar a cualquiera de tus computadoras (instancias). Los volúmenes se pueden crear en blanco o desde una copia instantánea del volumen anterior, lo que nos lleva al siguiente tema.

Las instantáneas son ... bueno ... instantáneas de volúmenes: una captura exacta de cómo se veía un volumen en un momento particular en el tiempo, incluyendo todos sus datos. Podrías tener un volumen, adjuntarlo a tu instancia, llenarlo con cosas y luego capturarlo, pero sigue usándolo. El contenido del volumen seguiría cambiando a medida que lo usaba como sistema de archivos, pero la instantánea se congelaría a tiempo. Puede crear un nuevo volumen utilizando esta instantánea como base. El nuevo volumen se vería exactamente igual que su primer disco cuando tomó la instantánea. Puede comenzar a usar el nuevo volumen en lugar del anterior para revertir sus datos, o tal vez adjuntar el mismo conjunto de datos a una segunda máquina. Puede seguir tomando instantáneas de volúmenes en cualquier momento. Es como una copia de seguridad de instancia de cuadro congelado que luego se puede convertir fácilmente en un nuevo disco (volumen) en vivo siempre que lo necesite.

Por lo tanto, los volúmenes pueden basarse en un nuevo espacio en blanco o en una instantánea. ¿Lo tengo? Los volúmenes se pueden conectar y desconectar de cualquier instancia, pero solo se conectan a una instancia a la vez, al igual que el disco físico del que son una abstracción virtual.

Ahora volvamos a las AMI. Estos son difíciles porque hay dos tipos. Uno crea instancias efímeras en las que el sistema de archivos raíz parece una unidad de disco para la computadora, pero en realidad se queda en la memoria en algún lugar y se vaporiza en el momento en que deja de usarse. El otro tipo se llama una instancia respaldada por EBS. Esto significa que cuando sus instancias se cargan, carga su sistema de archivos raíz en un nuevo volumen EBS, básicamente colocando la tecnología de máquina virtual EC2 sobre su tecnología EBS. Un volumen EBS normal es algo que se encuentra junto a EC2 y se puede adjuntar, pero una instancia respaldada por EBS también ES un volumen en sí mismo.

Un AMI normal es solo una gran porción de datos que se carga como una máquina. Un AMI respaldado por EBS se cargará en un volumen EBS, por lo que puede apagarlo y comenzará nuevamente desde donde lo dejó como lo haría un disco real.

Ahora ponlo todo junto. Si una instancia está respaldada por EBS, también puede capturarla. Básicamente, esto hace exactamente lo que haría una instantánea normal ... un cuadro congelado del disco raíz de su computadora en un momento dado. En la práctica, hace dos cosas diferentes. Una es que cierra su instancia para que obtenga una copia del disco como se vería en una computadora apagada, no en una encendida. Esto facilita el arranque :) Entonces, cuando tomas una instancia de una instancia, la cierra, toma la imagen del disco y luego vuelve a iniciarla. En segundo lugar, guarda esas imágenes como un AMI en lugar de una instantánea de disco normal. Básicamente es una instantánea de arranque de un volumen.

Caleb
fuente
1
Gracias por la gran información, creo que se está uniendo para mí. Una pregunta de seguimiento: ¿cuál es la diferencia entre hacer una instantánea de un EBS AMI en comparación con hacer clic derecho y seleccionar 'Crear imagen (EBS AMI) desde la consola web EC2? Según su descripción anterior, parecería que son idénticos, excepto por cómo los usa. Puede crear un volumen a partir de una instantánea y luego adjuntar ese volumen a una AMI. ¿Dónde, como la imagen EBS AMI solo ... no sé, elimina ese paso de adjuntarlo a un volumen?
Matt
En realidad, creo que la herramienta de consola para capturar una AMI hace lo mismo que la consola web. Donde los errores de descripción es la parte de los archivos adjuntos. Si toma una instantánea de una instancia, sí, se crea una instantánea del volumen raíz, pero más que eso, la instantánea se convierte en una AMI. Una instantánea regular que se convierte en un volumen y se adjunta a una instancia. Una instantánea de una instancia que convierte en una instancia (no adjunta el volumen a una instancia, ES la instancia). ¿Tiene sentido?
Caleb
Cada vez que dije consola, quise decir consola web. Todavía no he jugado con la línea de comandos ni nada. Creo que lo que me confunde es que creas un EBS AMI desde una instancia y creas una instantánea de un volumen, pero parece que el volumen es el EBS AMI. Y luego, para crear una nueva instancia, puede 1) iniciar una desde una AMI creada, o 2) Copiar la instantánea en un volumen e iniciar una AMI adjunta a ese volumen, pero al final, el resultado es el mismo. ¿Es eso correcto?
Matt
Estuviste bien hasta la parte "parece", luego deja de coincidir con la realidad. Particularmente la última parte (tu 2) no tiene sentido. No adjuntas AMI a los volúmenes. Los AMI respaldados por EBS son volúmenes especialmente etiquetados que son de arranque. Los volúmenes se adjuntan a instancias, no al revés.
Caleb
2
Cuando está capturando instantáneas algo distinto del disco raíz. Tengo muchos discos que almacenan conjuntos de datos que no son parte de una computadora determinada. Si está tomando una instantánea del disco del sistema / unidad raíz, utilice las herramientas de creación de EBS AMI. Pero a veces tiene otros volúmenes con otros conjuntos de datos que pueden o no estar conectados a un sistema determinado. Aquellos que puedes tomar instantáneas en tu propio tiempo. Se realizará una instantánea automática si se adjunta a una instancia de su instantánea, pero a veces también puede querer hacer la suya propia ... digamos duplicar un disco y adjuntarlo a otra instancia.
Caleb
9

Creo que hagámoslo simple. Cree una plantilla AMI a partir de una instancia existente (por ejemplo, instancia # 1. Tenga en cuenta que cuando cree una plantilla AMI, también tendrá una instantánea de volumen, busque en la sección de instantáneas. Cuando desee crear una nueva instancia, elija la nueva creación Plantilla AMI, luego seleccionará la instantánea en el momento en que se creó la plantilla AMI. Simple.

Ahora, si ha estado creando instantáneas desde el volumen de la instancia # 1, está bien. Cree una nueva instancia desde la plantilla AMI, luego separe el volumen que se creó automáticamente para ella, luego adjunte el volumen creado a partir de las instantáneas del volumen de la instancia # 1.

Goldwynn T
fuente
2

Para resumir cosas:

  • EBS = el servicio de AWS en sí

  • Volumen EBS = piense en él como un disco duro que puede conectar a una instancia EC2

  • Instantánea = un punto en el tiempo copia de su volumen

  • AMI = una copia de una instancia completa

TH22
fuente
0

Además de las explicaciones anteriores, aquí hay un ejemplo para aclarar todo esto.

Digamos que su "Instancia EC2 I1" tiene dos volúmenes EBS adjuntos: EBS Volumen V1a y EBS Volumen V1b.

Ahora, si crea una imagen AMI desde la instancia EC1 I1, obtendrá:

a. Una imagen AMI de la instancia EC1 I1, llamémosla AMI1

si. Una instantánea de EBS Volumen V1a, llamémoslo S1

C. Una instantánea de EBS Volumen V1b, llamémoslo S2

Luego, si inicia una nueva instancia desde la imagen AMI1, obtendrá:

a. Una nueva instancia de EC2, llamémosla I2

si. Un nuevo volumen EBS generado a partir de la instantánea S1, llamémoslo V2a

C. Un nuevo volumen EBS generado a partir de la instantánea S2, llamémoslo V2b

Para resumirlo -

  1. Una imagen AMI crea instantáneas del volumen (s) que se adjuntan a la instancia original (a partir de la cual se crea la AMI)

  2. Una nueva instancia iniciada desde una imagen AMI crea volúmenes a partir de las instantáneas adjuntas a esa AMI.

Lo expliqué en detalle en http://zilhaz.com/ebs-ami-aws-ec2/

zilhaz
fuente