Diferencia entre reiniciar y detener el inicio de una instancia de Amazon EC2

13

Noté que llamar ec2.rebootInstancesa una instancia de Amazon EC2 fue mucho más rápido que detenerlo e iniciarlo nuevamente ( ec2.stopInstances ec2.startInstances).

También conservó la dirección IP de la instancia (no tengo una IP elástica) ¿Qué hace ec2.rebootInstance que es diferente de detener e iniciar una instancia?

Figaro
fuente

Respuestas:

23

Cuando detiene una instancia de arranque de EBS, está renunciando al hardware físico (o parte de él) en el que se estaba ejecutando el servidor y EC2 es libre de iniciar la instancia de otra persona allí.

Su volumen de arranque EBS (y otros volúmenes EBS adjuntos) aún se conservan, aunque en realidad no están vinculados a un servidor físico o virtual. Solo están asociados con una identificación de instancia que no se está ejecutando en ningún lado.

Cuando vuelve a iniciar la instancia, EC2 elige algún hardware para ejecutarlo, vincula los volúmenes de EBS y lo inicia nuevamente desde el volumen raíz.

Las cosas que cambian cuando se detiene / comienza incluyen:

  1. Nueva dirección IP interna (aunque al azar podría ser la misma).

  2. Nueva dirección IP externa (aunque al azar podría ser la misma).

  3. Si una dirección IP elástica se asoció con la instancia antes de que se detuviera, deberá volver a asociarla después del inicio.

  4. Cualquier contenido en el almacenamiento efímero anterior de la instancia se borró y se le proporciona almacenamiento efímero nuevo.

  5. Puede dejar una instancia detenida todo el tiempo que desee y no se le cobrará por el tiempo de ejecución (aunque sí se le cobra a una tasa mucho menor por el almacenamiento de volumen EBS). Ver el siguiente punto.

  6. Se inicia una nueva hora de facturación para la instancia cuando la vuelve a iniciar. Por ejemplo, si inicia una nueva instancia y luego la detiene / inicia 3 veces en los primeros 60 minutos, se le cobrará durante 4 horas en lugar de 1.

  7. Existe una pequeña posibilidad de que EC2 no tenga ranuras disponibles del tipo de instancia correcta para ejecutar su instancia cuando desee iniciarla nuevamente. Me ha sucedido esto y he cambiado temporalmente a un tipo de instancia diferente y disponible para que vuelva a funcionar.

Cuando reinicia, es un reinicio simple en el nivel del sistema operativo y la instancia permanece ejecutándose en el mismo hardware, con las mismas direcciones IP privadas y públicas, mantiene la misma dirección IP elástica (si está asociada) y mantiene el mismo almacenamiento efímero sin obtener borrado No se inicia una nueva hora de facturación al reiniciar y no renuncia al hardware de la instancia.

Mientras se detiene una instancia, puede hacer algunas cosas interesantes antes de comenzar de nuevo. Aquí hay un artículo que escribí sobre cómo cambiar el tipo de instancia de una instancia mientras está detenida:

Mover una instancia EC2 a un tamaño más grande
http://alestic.com/2011/02/ec2-change-type

Aquí hay un artículo que escribí sobre cómo cambiar el tamaño de un disco de arranque EBS de una instancia mientras está parado:

Cambiar el tamaño del disco raíz en una instancia EBS Boot EC2 en ejecución
http://alestic.com/2010/02/ec2-resize-running-ebs-root

Aquí hay un artículo que escribí sobre cómo examinar el disco raíz de una instancia (mientras está detenido) cuando no puede conectarse a él mientras se está ejecutando:

Arreglando archivos en el volumen EBS raíz de una instancia EC2
http://alestic.com/2011/02/ec2-fix-ebs-root

Dado que el ciclo detener / iniciar tiene una buena posibilidad de mover su instancia a un nuevo hardware, es una manera fácil de reemplazar su hardware de instancia si sospecha que la plataforma actual podría estar fallando y causar problemas. Aquí hay un artículo que escribí sobre eso:

Una forma más sencilla de reemplazar hardware de instancia en EC2
http://alestic.com/2011/02/ec2-move-hardware

Eric Hammond
fuente
+1 por el excelente resumen (y por ponerlo a disposición en su blog, donde lo encontré primero;) - una adición / corrección menor con respecto al tema 3: acabo de observar que las instancias iniciadas dentro de una Nube privada virtual de Amazon (VPC) se comportan diferente aquí, es decir, una dirección IP elástica (si la hay) permanece asociada incluso en el estado detenido (y no parece que se le cobre en consecuencia); Todavía no he encontrado ninguna documentación específica sobre esto, tampoco he investigado si también hay sutilezas relacionadas, pero probablemente uno debería estar al tanto de esta posibilidad.
Steffen Opel
Gracias por la nota He agregado un comentario que señala esto en la publicación del blog: alestic.com/2011/09/ec2-reboot-stop-start
Eric Hammond