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 Windows bajo demanda. Para obtener más información, consulte Diferencias entre reinicio, detención, hibernación y terminación.

Información general

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.

Cuando se detiene e inicia una instancia ocurre lo siguiente.

Cuando se detiene una instancia

  • La instancia se cierra de forma normal y 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 Configurar una instancia de Windows utilizando el servicio EC2Config.

  • (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.

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.

Cuando se inicia la instancia

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

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.

De forma predeterminada, cuando se inicia el apagado desde una estancia respaldada por Amazon EBS , 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.

Detener y comenzar instancias

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

New console

Para detener e iniciar una estancia respaldada por Amazon EBS utilizando la consola

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

Old console

Para detener e iniciar una estancia respaldada por Amazon EBS utilizando la consola

  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 (Instancias) y seleccione la instancia.

  3. Elija Actions, Instance State, Stop. 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 confirmación, elija Yes, Stop (Sí, detener). 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 Actions (Acciones), Instance State (Estado de la instancia), Start (Iniciar).

  7. En el cuadro de diálogo de confirmación, elija Yes, Start (Sí, iniciar). Puede que transcurran unos minutos hasta que la instancia pase al estado running.

Para detener e iniciar una estancia respaldada por Amazon EBS utilizando la línea de comandos

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 utilizar la Guía del usuario de AWS Fault Injection Simulator para probar cómo responde la aplicación cuando la instancia se detiene 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.

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

Old 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 asistente de lanzamiento de instancias anterior.

    Para deshabilitar la protección de detención, en la página Configure Instance Details (Configuración de los detalles de la instancia), en Enable stop protection (Habilitar protección de detención), seleccione la casilla de verificación Protect against accidental stoppage (Protegerse contra la detención accidental).

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. Tenga en cuenta que la consola anterior de Instances (Instancias) no admite la habilitación de protección de detención para una instancia en ejecución o detenida.

New 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 (Instancias).

  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. Tenga en cuenta que la consola anterior de Instances (Instancias) no admite la deshabilitación de protección de detención para una instancia en ejecución o detenida.

New 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 (Instancias).

  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.

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 .