Detener e iniciar la instancia - Amazon Elastic Compute Cloud

Detener e iniciar la instancia

Puede detener e iniciar la instancia si tiene un volumen de Amazon EBS como dispositivo raíz. La instancia conserva su ID de instancia, pero puede cambiar tal y como se describe en la sección Información general.

Cuando se detiene una instancia, esta se cierra. Las instancias detenidas no suponen cargos de uso ni tarifas de transferencia de datos, pero sí se cobra por el almacenamiento de cualquier volumen de Amazon EBS. Cada vez que inicie una instancia detenida, se cobra un cargo mínimo de un minuto por uso. Después del primer minuto, solo cobramos por los segundos que utilice. Por ejemplo, si ejecuta una instancia durante 20 segundos y luego la detiene, pasaremos un cargo por un minuto completo. Si ejecuta una instancia durante 3 minutos y 40 segundos, libramos un cargo equivalente exactamente a 3 minutos y 40 segundos de uso.

Mientras la instancia está detenida, puede tratar su volumen raíz como cualquier otro volumen y modificarlo (por ejemplo, solucionar problemas de sistemas de archivos o actualizar software). Tan solo de separar el volumen de la instancia detenida, adjuntarlo a una instancia en ejecución, hacer los cambios oportunos, separarlo de la instancia en ejecución y volver a adjuntarlo a la instancia detenida. Asegúrese de volver a adjuntarlo con el nombre del dispositivo de almacenamiento que se especifica como dispositivo raíz en el mapeo de dispositivos de bloques de la instancia.

Si decide que ya no necesita una instancia, puede terminarla. En cuanto el estado de una instancia cambia a shutting-down o a terminated, se le deja de cobrar por ella. Para obtener más información, consulte Terminar una instancia. Si prefiere que la instancia hiberne, consulte Hiberne la instancia de Linux bajo demanda. Para obtener más información, consulte Diferencias entre reinicio, detención, hibernación y terminación.

Información general

Solo puede detener una instancia respaldada por Amazon EBS. Para verificar el tipo de dispositivo raíz de la instancia, describa la instancia y compruebe si el tipo de dispositivo de su volumen raíz es ebs (instancia respaldada por Amazon EBS) o instance store (instancia con respaldo en el almacén de instancias). Para obtener más información, consulte Determinar el tipo de dispositivo raíz de la AMI.

Puede modificar los siguientes atributos de una instancia solo cuando esta esté detenida:

  • Tipo de instancia

  • Datos de usuario

  • Kernel

  • Disco RAM

Si intenta modificar estos atributos cuando la instancia está ejecutándose, Amazon EC2 devuelve el error IncorrectInstanceState.

Qué ocurre cuando se detiene una instancia

Cuando se detiene una instancia de EC2 mediante la API StopInstances (por ejemplo, si elige Instance state [Estado de la instancia], Stop instance [Detener instancia] en la consola de Amazon EC2 o mediante el comando de la AWS CLI stop-instances), se registra lo siguiente en el nivel del sistema operativo:

  • La solicitud de la API envía un evento de pulsación de botón al invitado.

  • Hay varios servicios del sistema que se detienen como resultado del evento de pulsación del botón. El apagado estable se activa desde el hipervisor a través del evento de pulsación del botón de apagado de ACPI.

  • Se inicia el apagado de ACPI.

  • La instancia se apaga cuando se termina el proceso de apagado estable. El tiempo de apagado del SO no puede configurarse.

  • Si el sistema operativo de la instancia no se cierra correctamente en cuatro minutos, se realiza un cierre completo.

  • La instancia deja de ejecutarse.

  • El estado de la instancia cambia a stopping y, a continuación, a stopped.

  • (Grupo de Auto Scaling) Si la instancia pertenece a un grupo de Auto Scaling, el servicio Amazon EC2 Auto Scaling marca la instancia detenida como en mal estado y podría terminarla y lanzar una instancia de sustitución. Para obtener más información, consulte Comprobaciones de estado de las instancias de Auto Scaling en la guía del usuario de Amazon EC2 Auto Scaling.

  • (Windows) Cuando se detiene e inicia una instancia de Windows, el servicio EC2Config realiza ciertas tareas en la instancia, como cambiar las letras de unidad de los volúmenes de Amazon EBS adjuntos. Para obtener más información sobre estos valores predeterminados y sobre cómo puede cambiarlos, consulte Configuración de una instancia de Windows con el servicio EC2Config en la Guía del usuario de Amazon EC2 para instancias de Windows.

  • (ClassicLink) Cuando se detiene una instancia ClassicLink, se desvincula de la VPC a la que estaba vinculada. Tras iniciar la instancia, debe vincularla de nuevo a la VPC. Para obtener más información acerca de ClassicLink, consulte ClassicLink.

De forma predeterminada, cuando se inicia el apagado desde una estancia respaldada por Amazon EBS (por ejemplo, con el comando shutdown o poweroff), la instancia se detiene. Puede cambiar este comportamiento para que se termine. Para obtener más información, consulte Cambiar el comportamiento de apagado iniciado por la instancia.

El uso del comando halt en una instancia no inicia un cierre. Si se utiliza, la instancia no termina; en su lugar, coloca la CPU en HLT y la instancia permanece en ejecución.

Cuando se detiene una instancia, se pierde lo siguiente:
  • Datos almacenados en la memoria RAM

  • Datos almacenados en los volúmenes del almacén de instancias

  • La dirección IPv4 pública que Amazon EC2 asignó a la instancia de forma automática en el momento de lanzarla o iniciarla. (Para retener una dirección IPv4 pública que no cambie nunca, puede asociar una dirección IP elástica a su instancia).

  • (EC2-Classic) Con EC2-Classic, las direcciones IP elásticas están desvinculadas de su instancia. Para obtener más información, consulte EC2-Classic.

Cuando se detiene una instancia, se mantiene lo siguiente:
  • Datos almacenados en los volúmenes de Amazon EBS Volúmenes de EBS, que permanecen adjuntos a la instancia

  • Direcciones IPv4 privadas

  • Direcciones IPv6

  • Direcciones IP elásticas asociadas a la instancia Tenga en cuenta que, cuando la instancia se detiene, se comienzan a cobrar las direcciones IP elásticas asociadas.

Para obtener más información, consulte Diferencias entre reinicio, detención, hibernación y terminación.

Qué ocurre cuando se detiene una instancia

Cuando se detiene una instancia de EC2 mediante la API StopInstances (por ejemplo, si elige Instance state (Estado de la instancia), Start instance (Ejecutar instancia) en la consola de Amazon EC2 o mediante el comando de la AWS CLI start-instances), se registra lo siguiente en el nivel del sistema operativo:

  • En la mayoría de los casos, la instancia se migra a una nueva computadora host subyacente (aunque, en algunos casos, permanece en el host actual).

  • Amazon EC2 asigna una nueva dirección IPv4 pública a la instancia si esta se configura para recibir una dirección IPv4 pública. (Para retener una dirección IPv4 pública que no cambie nunca, puede asociar una dirección IP elástica a su instancia).

Para obtener más información, consulte Diferencias entre reinicio, detención, hibernación y terminación.

Detener y comenzar instancias

Puede iniciar y detener la estancia respaldada por Amazon EBS utilizando la consola o la línea de comandos.

Console
Detenimiento e inicio de una instancia respaldada por Amazon EBS
  1. Cuando detiene una instancia, se borran los datos contenidos en todos los volúmenes de almacén de instancias. Antes de detener una instancia, compruebe que ha copiado los datos que necesita de los volúmenes de almacén de instancias al almacenamiento persistente, como Amazon EBS o Amazon S3.

  2. En el panel de navegación, elija Instances (Instancia[s]) y seleccione la instancia.

  3. Elija Instance state (Estado de la instancia) y Stop instance (Detener instancia). Si esta opción está desactivada, la instancia ya está detenida o bien su dispositivo raíz es un volumen de almacén de instancias.

  4. Cuando se le pida que confirme, elija Stop. Puede que transcurran unos minutos hasta que la instancia se detenga.

  5. (Opcional) Cuando la instancia está detenida, puede modificar ciertos atributos de la misma. Para obtener más información, consulte modify-stopped-instance.

  6. Para reiniciar la instancia detenida, seleccione la instancia y elija Instance State (Estado de la instancia) y Start instance (Iniciar instancia).

  7. Puede que transcurran unos minutos hasta que la instancia pase al estado running.

Command line
Detenimiento e inicio de una instancia respaldada por Amazon EBS

Puede utilizar uno de los siguientes comandos. Para obtener más información acerca de estas interfaces de línea de comandos, consulte Acceder a Amazon EC2.

Para ejecutar un experimento controlado de inserción de errores

Puede usar AWS Fault Injection Simulator para probar cómo responde la aplicación cuando la instancia se interrumpe y se inicia. Para obtener más información, consulte la Guía del usuario de AWS Fault Injection Simulator.

Detención e inicio de instancias según un cronograma

Puede programar la detención y el inicio de las instancias de EC2. Las siguientes son dos opciones para configurar este proceso.

Uso del programador de instancias en AWS

Puede utilizar el programador de instancias en AWS para automatizar el inicio y la detención de instancias de EC2. Para obtener más información, consulte How do I use Instance Scheduler with CloudFormation to schedule EC2 instances? (¿Cómo usar el programador de instancias con CloudFormation para programar instancias de EC2?) Tenga en cuenta que se aplican cargos adicionales.

Uso de AWS Lambda y una regla de Amazon EventBridge

Puede utilizar Lambda y una regla de EventBridge para detener e iniciar las instancias según un cronograma. Para obtener más información, consulte ¿Cómo detengo e inicio instancias de Amazon EC2 en intervalos regulares con Lambda?

Habilitación de la protección de detención

De manera predeterminada, puede detener una instancia mediante la consola, la interfaz de la línea de comandos o la API de Amazon EC2. Para evitar que la instancia se detenga de forma accidental, puede habilitar la protección de detención para la instancia. La protección de detención también protege la instancia de una terminación accidental.

El atributo DisableApiStop controla si la instancia se puede detener mediante la consola de Amazon EC2, la AWS CLI o la API. Puede establecer el valor de este atributo cuando lanza la instancia, mientras la instancia se encuentre en ejecución o cuando está detenida.

El atributo DisableApiStop no le impide detener una instancia cuando comienza el apagado desde la instancia (con un comando del sistema operativo para el apagado del sistema).

Consideraciones
  • La habilitación de la protección de detención no impide que AWS detenga la instancia cuando la instancia tiene un evento programado que detiene la instancia.

  • La protección de detención no solo evita que la instancia se detenga accidentalmente, sino que también evita una terminación accidental cuando se utiliza la consola, la AWS CLI o la API. Sin embargo, no cambia automáticamente el atributo DisableApiTermination. Tenga en cuenta que cuando el atributo DisableApiStop se establece en False (Falso), el atributo DisableApiTermination se usa para determinar si la instancia se puede terminar mediante la consola, la AWS CLI o la API.

  • La habilitación de la protección de detención no impide que Amazon EC2 Auto Scaling termine una instancia cuando la instancia no está en buen estado o durante eventos de reducción horizontal.

  • No puede habilitar la protección de detención para instancias respaldadas por el almacén de instancias.

  • No puede habilitar la protección de detención para instancias de spot.

  • La API de Amazon EC2 sigue un modelo de coherencia final cuando habilita o deshabilita la protección de detención. Para obtener más información, consulte Coherencia final en la Referencia de la API de Amazon EC2.

Habilitar la protección de detención para una instancia en el lanzamiento

Puede habilitar la protección de detención para una instancia en el lanzamiento mediante uno de los métodos a continuación.

Console
Para habilitar la protección de detención para una instancia en el lanzamiento
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel, elija Lanzar instancia.

  3. Configure la instancia en el nuevo asistente de lanzamiento de instancias.

    Para habilitar la protección de detención, en Advanced details (Detalles avanzados), Stop protection (Protección de detención), elija Enable (Habilitar).

AWS CLI
Para habilitar la protección de detención para una instancia en el lanzamiento

Utilice el comando run-instances (Ejecutar instancias) de la AWS CLI para lanzar la instancia y especifique el parámetro disable-api-stop.

aws ec2 run-instances \ --image-id ami-a1b2c3d4e5example \ --instance-type t3.micro \ --key-name MyKeyPair \ --disable-api-stop \ ...

Para habilitar la protección de detención para una instancia en ejecución o detenida

Puede habilitar la protección de detención para una instancia mientras se encuentre en ejecución o detenida mediante uno de los métodos a continuación.

Console
Para habilitar la protección de detención para una instancia en ejecución o detenida
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el navegador izquierdo, elija Instances (Instancia[s]).

  3. Seleccione la instancia y, a continuación, elija Actions (Acciones), Instance Settings (Configuración de instancia), Change Stop Protection (Cambiar protección de detención).

  4. Seleccione la casilla de verificación Enable (Habilitar) y, luego, elija Save (Guardar).

AWS CLI
Para habilitar la protección de detención para una instancia en ejecución o detenida

Utilice el comando modify-instance-attribute de la AWS CLI y especifique el parámetro disable-api-stop.

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --disable-api-stop

Deshabilitar la protección de detención para una instancia en ejecución o detenida

Puede deshabilitar la protección de detención para una instancia en ejecución o detenida mediante uno de los métodos a continuación.

Console
Deshabilitar la protección de detención para una instancia en ejecución o detenida
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el navegador izquierdo, elija Instances (Instancia[s]).

  3. Seleccione la instancia y, a continuación, elija Actions (Acciones), Instance Settings (Configuración de instancia), Change Stop Protection (Cambiar protección de detención).

  4. Desactive la casilla de verificación Enable (Habilitar) y, luego, elija Save (Guardar).

AWS CLI
Deshabilitar la protección de detención para una instancia en ejecución o detenida

Utilice el comando modify-instance-attribute de la AWS CLI y especifique el parámetro no-disable-api-stop.

aws ec2 modify-instance-attribute \ --instance-id i-1234567890abcdef0 \ --no-disable-api-stop

Modificar una instancia detenida

Puede cambiar el tipo de instancia, los datos de usuario y los atributos de optimización de EBS de una instancia detenida mediante la AWS Management Console o la interfaz de línea de comandos. No puede utilizar la AWS Management Console para modificar los atributos DeleteOnTermination, kernel ni disco RAM.

Para modificar un atributo de una instancia
Para modificar un atributo de una instancia con la línea de comandos

Puede utilizar uno de los siguientes comandos. Para obtener más información sobre estas interfaces de la línea de comandos, consulte Acceder a Amazon EC2.

Búsqueda de todas las instancias en ejecución y detenidas

Puede encontrar todas las instancias en ejecución y paradas en las Regiones de AWS en una sola página en Amazon EC2 Global View. Esto resulta particularmente práctico para hacer un inventario y encontrar las instancias olvidadas. Para obtener información acerca de cómo utilizar Global View, consulte Enumerar y filtrar recursos entre regiones mediante Amazon EC2 Global View.

Solucionar problemas de detención de la instancia

Si ha detenido una instancia respaldada por Amazon EBS y aparece como "stuck" (bloqueada) en el estado stopping, puede forzar su detención. Para obtener más información, consulte Solucionar problemas de detención de la instancia.