

# Terminación de las instancias de Amazon EC2
<a name="terminating-instances"></a>

**aviso**  
**La terminación de una instancia es permanente e irreversible.**  
Después de terminar una instancia, ya no podrá conectarse a esta ni recuperarla. Todos los volúmenes de Amazon EBS asociados que estén configurados para eliminarse en la terminación también se eliminan de manera permanente y no se pueden recuperar. Todos los datos almacenados en volúmenes de almacén de instancias se perderán de forma permanente. Para obtener más información, consulte [Cómo funciona la terminación de instancias](how-ec2-instance-termination-works.md).  
Antes de terminar una instancia, asegúrese de haber realizado una copia de seguridad en un almacenamiento persistente de todos los datos que necesite retener después de la terminación.

Puede eliminar la instancia cuando ya no la necesite. Esto se denomina *terminar* la instancia. En cuanto el estado de una instancia cambia a `shutting-down` o `terminated`, dejará de incurrir en gastos por ella.

Una vez se ha terminado la instancia, no es posible conectarse a ella ni iniciarla. No obstante, puede inicializar nuevas instancias utilizando la misma AMI.

Si prefiere detener o poner a hibernar su instancia, consulte [Detención e iniciación de una instancia de Amazon EC2](Stop_Start.md) o [Hibernación de la instancia de Amazon EC2](Hibernate.md). Para obtener más información, consulte [Diferencias entre los estados de las instancias](ec2-instance-lifecycle.md#lifecycle-differences).

**Topics**
+ [Cómo funciona la terminación de instancias](how-ec2-instance-termination-works.md)
+ [Métodos para terminar una instancia](instance-terminate-methods.md)
+ [Cómo terminar una instancia con un apagado controlado del sistema operativo](#terminating-instances-console)
+ [Cómo terminar una instancia y omitir el apagado controlado del sistema operativo](#terminating-instances-bypass-graceful-os-shutdown)
+ [Solucionar problemas de terminación de instancias](#troubleshoot-instance-terminate)
+ [Cambiar la protección de terminación de instancias](Using_ChangingDisableAPITermination.md)
+ [Cambiar el comportamiento de apagado iniciado por la instancia](Using_ChangingInstanceInitiatedShutdownBehavior.md)
+ [Conservación de los datos cuando se termina una instancia](preserving-volumes-on-termination.md)

# Cómo funciona la terminación de instancias
<a name="how-ec2-instance-termination-works"></a>

Cuando se termina una instancia, los cambios se registran en el nivel de sistema operativo (SO) de la instancia, algunos recursos se pierden y otros persisten.

En el siguiente diagrama se muestra lo que se pierde y lo que persiste cuando se termina una instancia de Amazon EC2. Cuando una instancia termina, los datos de cualquier volumen de almacén de instancias y los datos almacenados en la RAM de instancias se borran. Cualquier dirección IP elástica asociada a la instancia se desvincula. En el caso de los volúmenes raíz y los volúmenes de datos de Amazon EBS, el resultado depende de la configuración **Eliminar al terminar** de cada volumen.

![\[Las direcciones IP, la RAM, los volúmenes del almacén de instancias y el volumen raíz de EBS se pierden cuando se termina una instancia.\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/terminate-instance.png)


## Consideraciones
<a name="terminate-instance-overview"></a>
+ **Persistencia de datos**
  + Volúmenes de almacén de instancias: todos los datos se eliminan de forma permanente cuando se termina la instancia. 
  + Volumen raíz de EBS:
    + Cuando se adjunta en la inicialización, se elimina de forma predeterminada cuando se termina la instancia.
    + Cuando se adjunta después de la inicialización, persiste de forma predeterminada cuando la instancia termina.
  + Volúmenes de datos EBS:
    + Cuando se adjunta en el momento de la inicialización mediante la consola: persiste de forma predeterminada cuando la instancia termina.
    + Cuando se adjunta en el momento de la inicialización mediante la CLI: se elimina de forma predeterminada cuando la instancia termina.
    + Cuando se adjunta después de la inicialización mediante la consola o la CLI: persiste de forma predeterminada cuando la instancia termina.
**nota**  
Los volúmenes que no se eliminen tras la terminación de la instancia seguirán incurriendo en cargos. Puede cambiar la configuración para que un volumen se elimine o persista al terminar la instancia. Para obtener más información, consulte [Conservación de los datos cuando se termina una instancia](preserving-volumes-on-termination.md).
+ **Protección contra la terminación accidental**
  + Para evitar que alguien termine una instancia accidentalmente, [active la protección de terminación](Using_ChangingDisableAPITermination.md).
  + Para controlar si una instancia se detiene o termina cuando comienza el cierre desde la instancia, cambie el [comportamiento del cierre iniciado por la instancia](Using_ChangingInstanceInitiatedShutdownBehavior.md).
+ **Scripts de apagado**: si ejecuta un script en la terminación de la instancia, podría producirse una terminación anormal porque no hay forma de asegurarse de que se ejecuten los scripts de apagado. Amazon EC2 intenta apagar una instancia de forma limpia y ejecutar los scripts de apagado del sistema; sin embargo, algunos eventos (como error de hardware) pueden impedir que se ejecuten estos scripts de apagado del sistema.
+ **Instancias bare metal**: las instancias bare metal x86 no admiten el apagado cooperativo.

## Qué ocurre cuando se termina una instancia
<a name="what-happens-terminate"></a>

**Cambios registrados a nivel de SO**
+ 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 correcto del sistema lo proporcionan **systemd** (Linux) o el proceso del sistema (Windows). 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 después de que se termina el proceso de apagado estable. El tiempo de apagado del SO no puede configurarse. La instancia permanecerá visible en la consola durante un breve periodo y, a continuación, la entrada se eliminará automáticamente.

**Recursos perdidos**
+ Datos almacenados en los volúmenes del almacén de instancias.
+ Volumen raíz de EBS si el atributo `DeleteOnTermination` está establecido en `true`.
+ Volúmenes de datos de EBS (adjuntos en el momento de la inicialización o después) si el atributo `DeleteOnTermination` está establecido en `true`.

**Recursos que persisten**
+ Volumen raíz de EBS si el atributo `DeleteOnTermination` está establecido en `false`.
+ Volúmenes de datos de EBS (adjuntos en el momento de la inicialización o después) si el atributo `DeleteOnTermination` está establecido en `false`.

## Respuesta de la aplicación de prueba a la terminación de la instancia
<a name="test-terminate-instance"></a>

Puede usar AWS Fault Injection Service para probar cómo responde la aplicación cuando la instancia se termina. Para obtener más información, consulte la [Guía del usuario de AWS Fault Injection Service](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html).

# Métodos para terminar una instancia
<a name="instance-terminate-methods"></a>

**aviso**  
**La terminación de una instancia es permanente e irreversible.**  
Después de terminar una instancia, ya no podrá conectarse a esta ni recuperarla. Todos los volúmenes de Amazon EBS asociados que estén configurados para eliminarse en la terminación también se eliminan de manera permanente y no se pueden recuperar. Todos los datos almacenados en volúmenes de almacén de instancias se perderán de forma permanente. Para obtener más información, consulte [Cómo funciona la terminación de instancias](how-ec2-instance-termination-works.md).  
Antes de terminar una instancia, asegúrese de haber realizado una copia de seguridad en un almacenamiento persistente de todos los datos que necesite retener después de la terminación.

Hay cuatro métodos para terminar una instancia por iniciativa del usuario: la terminación predeterminada, la terminación que omite el apagado del sistema operativo, la terminación forzada y la terminación forzada que omite el apagado del sistema operativo. La siguiente tabla compara las diferencias clave entre los métodos de terminación:

**nota**  
No se puede finalizar una instancia si está activada la protección contra cancelación. Para obtener más información, consulte [Cómo cambiar la protección contra terminación de instancias](Using_ChangingDisableAPITermination.md).


| Método de combinación | Propósito clave | Caso de uso | Command de la CLI | 
| --- | --- | --- | --- | 
| Terminación predeterminada | Apagado normal de la instancia con intento de apagado controlado del sistema operativo. | Terminación típica de la instancia. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0</pre> | 
| Terminación que omite el apagado del sistema operativo | Omite el apagado controlado del sistema operativo al terminar una instancia. | Cuando se requiere omitir el apagado controlado del sistema operativo. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--skip-os-shutdown</pre> | 
| Terminación forzada | Gestiona instancias bloqueadas. Primero intenta una terminación predeterminada; si la instancia no se termina, se termina forzosamente. | Cuando la instancia queda bloqueada en el estado de shutting-down. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force</pre> | 
| Terminación forzada que omite el apagado del sistema operativo | Termina forzosamente y omite el apagado controlado del sistema operativo al terminar una instancia. | Cuando se requiere la terminación forzada y la omisión el apagado controlado del sistema operativo. | <pre>aws ec2 terminate-instances \<br />--instance-id i-1234567890abcdef0 \<br />--force \<br />--skip-os-shutdown</pre> | 

Para obtener instrucciones sobre cómo utilizar cada método, consulte lo siguiente:
+ [Cómo terminar una instancia con un apagado controlado del sistema operativo](terminating-instances.md#terminating-instances-console)
+ [Cómo terminar una instancia y omitir el apagado controlado del sistema operativo](terminating-instances.md#terminating-instances-bypass-graceful-os-shutdown)
+ [Terminación forzada de una instancia](TroubleshootingInstancesShuttingDown.md#force-terminate-ec2-instance)

## Cómo terminar una instancia con un apagado controlado del sistema operativo
<a name="terminating-instances-console"></a>

Puede terminar una instancia mediante el método de terminación predeterminado, que incluye un intento de apagado controlado del sistema operativo. Para obtener más información, consulte [Métodos para terminar una instancia](instance-terminate-methods.md).

------
#### [ Console ]

**Para terminar una instancia mediante el método de terminación predeterminado**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia y elija **Estado de la instancia** y **Terminar (eliminar) instancia**.

1. Cuando se le indique que confirme, elija **Terminar (eliminar)**.

1. Tras terminar una instancia, ésta permanece visible durante un breve periodo de tiempo, con un estado `terminated`.

   Si se produce un error en la terminación o si una instancia terminada permanece visible durante más de unas horas, consulte [Las instancias que han terminado se siguen mostrando](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying).

------
#### [ AWS CLI ]

**Para terminar una instancia mediante el método de terminación predeterminado**  
Utilice el comando [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html).

```
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
```

------
#### [ PowerShell ]

**Para terminar una instancia mediante el método de terminación predeterminado**  
Utilice el cmdlet [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html).

```
Remove-EC2Instance -InstanceId i-1234567890abcdef0
```

------

## Cómo terminar una instancia y omitir el apagado controlado del sistema operativo
<a name="terminating-instances-bypass-graceful-os-shutdown"></a>

Puede omitir el apagado controlado del sistema operativo al terminar una instancia. Para obtener más información, consulte [Métodos para terminar una instancia](instance-terminate-methods.md).

------
#### [ Console ]

**Para terminar una instancia y omitir el apagado controlado del sistema operativo**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione la instancia y elija **Estado de la instancia** y **Terminar (eliminar) instancia**.

1. En **Omitir apagado del sistema operativo**, seleccione la casilla **Omitir apagado del sistema operativo**. Si no ve esta opción en la consola, significa que aún no está disponible en la consola para la región actual. Sin embargo, puede acceder a esta característica mediante la AWS CLI o el SDK, o intentar con otra región desde la consola.

1. Elija **Terminar (eliminar)**.

1. Tras terminar una instancia, ésta permanece visible durante un breve periodo de tiempo, con un estado `terminated`.

   Si se produce un error en la terminación o si una instancia terminada permanece visible durante más de unas horas, consulte [Las instancias que han terminado se siguen mostrando](TroubleshootingInstancesShuttingDown.md#terminated-instance-still-displaying).

------
#### [ AWS CLI ]

**Para terminar una instancia y omitir el apagado controlado del sistema operativo**  
Use el comando [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) con `--skip-os-shutdown`.

```
aws ec2 terminate-instances \
    --instance-ids i-1234567890abcdef0 \
    --skip-os-shutdown
```

------
#### [ PowerShell ]

**Para terminar una instancia y omitir el apagado controlado del sistema operativo**  
Use el cmdlet [Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) con `-SkipOsShutdown $true`.

```
Remove-EC2Instance `
    -InstanceId i-1234567890abcdef0 `
    -SkipOsShutdown $true
```

------

## Solucionar problemas de terminación de instancias
<a name="troubleshoot-instance-terminate"></a>

El solicitante debe tener permiso para llamar a `ec2:TerminateInstances`. Para obtener más información, consulte [Ejemplos de políticas para trabajar con instancias](ExamplePolicies_EC2.md#iam-example-instances).

Si termina la instancia y comienza otra instancia, lo más probable es que haya configurado el escalado automático a través de una característica como flota de EC2 o Amazon EC2 Auto Scaling. Para obtener más información, consulte [Instancias lanzadas o terminadas automáticamente](TroubleshootingInstancesShuttingDown.md#automatic-instance-create-or-delete).

**nota**  
No se puede finalizar una instancia si está activada la protección contra cancelación. Para obtener más información, consulte [Cómo cambiar la protección contra terminación de instancias](Using_ChangingDisableAPITermination.md).

Si la instancia se encuentra en estado `shutting-down` durante más tiempo del habitual, puede intentar forzar su terminación. Si permanece en estado `shutting-down`, se limpiará (terminará) mediante procesos automatizados dentro del servicio Amazon EC2. Para obtener más información, consulte [Retrasar la terminación de una instancia](TroubleshootingInstancesShuttingDown.md#instance-stuck-terminating).

# Cambiar la protección de terminación de instancias
<a name="Using_ChangingDisableAPITermination"></a>

Para evitar que la instancia se termine por accidente mediante la API de Amazon EC2, ya sea que llame a `TerminateInstances` directamente o utilice otra interfaz, como la consola de Amazon EC2, habilite la *protección de terminación* para la instancia. El atributo `DisableApiTermination` controla si la instancia puede terminarse. De forma predeterminada, la protección contra terminación de la instancia está deshabilitada. Puede establecer el valor de este atributo cuando lanza la instancia o mientras la instancia se encuentre en ejecución o detenida.

El atributo `DisableApiTermination` no impide que termine una instancia al iniciar el apagado desde la instancia (por ejemplo, mediante un comando del sistema operativo para el apagado del sistema) cuando el atributo `InstanceInitiatedShutdownBehavior` está configurado en `terminate`. Para obtener más información, consulte [Cambiar el comportamiento de apagado iniciado por la instancia](Using_ChangingInstanceInitiatedShutdownBehavior.md).

**Consideraciones**
+ La habilitación de la protección contra terminación no impide que AWS termine la instancia cuando hay un [evento programado](monitoring-instances-status-check_sched.md) para terminar la instancia.
+ La habilitación de la protección contra terminació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. Es posible controlar si un grupo de escalado automático puede terminar una instancia en particular durante el proceso de escalado al usar la [protección contra reducción horizontal de instancias](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html). Puede controlar si un grupo de escalado automático puede terminar las instancias en mal estado al [suspender el proceso de escalado de ReplaceUnhealthy](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html).
+ No puede habilitar la protección contra terminación para instancias de spot.

------
#### [ Console ]

**Habilitación de la protección de terminación para una instancia durante el lanzamiento**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel, elija **Iniciar instancia**.

1. Amplíe **Advanced details** (Detalles avanzados). Para la **Protección contra terminación**, seleccione **Habilitar**.

1. Cuando termine de especificar los detalles de la instancia, seleccione **Lanzar instancia**.

**Para cambiar la protección de terminación para una instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances** (Instancia[s]).

1. Seleccione la instancia.

1. Seleccione **Acciones**, **Configuración de la instancia**, **Cambiar protección contra terminación**.

1. Para la **Protección contra terminación**, seleccione o desactive **Habilitar**.

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Habilitación de la protección de terminación para una instancia**  
Utilice el comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

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

**Para deshabilitar la protección de terminación para una instancia**  
Utilice el comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

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

------
#### [ PowerShell ]

**Habilitación de la protección de terminación para una instancia**  
Utilice el cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $true
```

**Para deshabilitar la protección de terminación para una instancia**  
Utilice el cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiTermination $false
```

------

## Terminación de varias instancias con la protección contra la terminación
<a name="terminate-multiple"></a>

Si termina varias instancias en varias zonas de disponibilidad en la misma solicitud, y una o más de las instancias especificadas están habilitadas para la protección de terminación, la solicitud falla con los siguientes resultados:
+ Las instancias especificadas que se encuentran en la misma zona de disponibilidad que la instancia protegida no se terminan.
+ Las instancias especificadas que se encuentran en diferentes zonas de disponibilidad, en las que no hay otras instancias especificadas protegidas, se terminan correctamente.

**Ejemplo**  
Suponga que tiene las siguientes cuatro instancias en dos zonas de disponibilidad.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html)

Si se intenta terminar todas estas instancias en la misma solicitud, se informa de un error en la solicitud con los siguientes resultados:
+ La **instancia 1** y la **instancia 2** se terminan con éxito porque ninguna de las instancias está habilitada para la protección de terminación.
+ La **instancia 3** y la **instancia 4** no terminan porque la **instancia 3** está habilitada para la protección de terminación.

# Cambiar el comportamiento de apagado iniciado por la instancia
<a name="Using_ChangingInstanceInitiatedShutdownBehavior"></a>

**aviso**  
**La terminación de una instancia es permanente e irreversible.**  
Después de terminar una instancia, ya no podrá conectarse a esta ni recuperarla. Todos los volúmenes de Amazon EBS asociados que estén configurados para eliminarse en la terminación también se eliminan de manera permanente y no se pueden recuperar. Todos los datos almacenados en volúmenes de almacén de instancias se perderán de forma permanente. Para obtener más información, consulte [Cómo funciona la terminación de instancias](how-ec2-instance-termination-works.md).  
Antes de terminar una instancia, asegúrese de haber realizado una copia de seguridad en un almacenamiento persistente de todos los datos que necesite retener después de la terminación.

De manera predeterminada, cuando se inicia un cierre desde una instancia respaldada por Amazon EBS (mediante comandos como **shutdown** o **poweroff**), la instancia se detiene. Puede cambiar este comportamiento para que la instancia termine en su lugar al cambiar el atributo `InstanceInitiatedShutdownBehavior` de la instancia. Puede cambiar este atributo mientras la instancia está en ejecución o detenida.

El comando **halt** no inicia un cierre. Si se usa, la instancia no termina; en su lugar, coloca la CPU en `HLT` y la instancia permanece en ejecución.

**nota**  
El atributo `InstanceInitiatedShutdownBehavior` solo se aplica cuando se realiza un cierre desde el sistema operativo de la instancia en sí. No se aplica cuando se detiene una instancia mediante la API `StopInstances` o la consola de Amazon EC2.

------
#### [ Console ]

**Para cambiar el comportamiento de cierre iniciado por la instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instancias**.

1. Seleccione la instancia.

1. Elija **Actions (Acciones)**, **Instance settings (Configuración de instancia)**, **Change shutdown behavior (Cambiar comportamiento de cierre)**.

   **El comportamiento de cierre** muestra el comportamiento actual.

1. Para cambiar el comportamiento, en **Comportamiento de cierre**, seleccione **Detener** o **Terminar**. 

1. Seleccione **Save**.

------
#### [ AWS CLI ]

**Para cambiar el comportamiento de cierre iniciado por la instancia**  
Utilice el comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --instance-initiated-shutdown-behavior terminate
```

------
#### [ PowerShell ]

**Para cambiar el comportamiento de cierre iniciado por la instancia**  
Utilice el cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -InstanceInitiatedShutdownBehavior terminate
```

------

# Conservación de los datos cuando se termina una instancia
<a name="preserving-volumes-on-termination"></a>

Cuando se termina la instancia de Amazon EC2, puede conservar los datos del volumen de su almacén de instancias o del volumen de Amazon EBS. En este tema se explica cómo garantizar que sus datos persistan más allá de la terminación de la instancia.

## Cómo afecta la terminación de una instancia a los volúmenes raíz y de datos
<a name="how-instance-termination-affects-root-and-data-volumes"></a>

**Volúmenes de almacén de instancias**  
Cuando una instancia termina, los volúmenes de almacenes de instancias se eliminas de forma automática y se pierden los datos. Para conservar estos datos más allá de la vida útil de la instancia, antes de terminar la instancia, debe copiarlos manualmente a un almacenamiento persistente, como un volumen de Amazon EBS, un bucket de Amazon S3 o un sistema de archivos de Amazon EFS. Para obtener más información, consulte [Opciones de almacenamiento para sus instancias de Amazon EC2](Storage.md).

**Volúmenes de Amazon EBS**  
Cuando se termina una instancia, los volúmenes de EBS se eliminan o se conservan, según el valor del atributo `DeleteOnTermination` para cada volumen:
+ **Sí** (consola) / `true` (CLI): el volumen se elimina cuando se termina la instancia.
+ **No** (consola) / `false` (CLI): el volumen se conserva cuando se termina la instancia. Los volúmenes conservados siguen generando cargos.
**nota**  
Después de que una instancia se termine, puede hacer una instantánea del volumen conservado o adjuntarlo a otra instancia. Para evitar incurrir en más cargos, debe eliminar el volumen.

## Comportamiento de eliminación predeterminado para los volúmenes de EBS
<a name="default-deletion-behavior-for-ebs-volumes"></a>

El valor `DeleteOnTermination` predeterminado varía según el tipo de volumen, si el volumen se adjuntó al inicio o después, y el método (consola o CLI) utilizado para adjuntar el volumen:


| Tipo de volumen | Adjuntado cuando | Método para adjuntar | Comportamiento predeterminado al terminar la instancia | 
| --- | --- | --- | --- | 
| Volumen raíz | En la inicialización: | Consola o CLI | Eliminar | 
| Volumen raíz | After launch | Consola o CLI | Conservar | 
| Volumen de datos | En la inicialización: | Consola | Conservar | 
| Volumen de datos | En la inicialización: | CLI | Eliminar | 
| Volumen de datos | After launch | Consola y CLI | Conservar | 

## Comprobar la configuración de persistencia del volumen
<a name="check-ebs-volume-persistence-settings"></a>

El valor predeterminado en la inicialización para un volumen de EBS viene determinado por el atributo `DeleteOnTermination` establecido en la AMI. Puede cambiar el valor al inicializar la instancia, anulando la configuración de la AMI. Es recomendable que verifique la configuración predeterminada del atributo `DeleteOnTermination` después de inicializar una instancia.

**Cómo comprobar si un volumen de Amazon EBS se eliminará al terminar la instancia**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instancias**.

1. Seleccione la instancia.

1. Elija la pestaña **Almacenamiento**.

1. En **Dispositivos de bloque**, desplácese hacia la derecha para comprobar la columna **Eliminar al terminar**.
   + Si la respuesta es **Sí**, el volumen se elimina cuando se termina la instancia.
   + Si la respuesta es **No**, el volumen no se elimina cuando se termina la instancia. Los volúmenes que no se eliminen seguirán generando cargos.

## Cambio del volumen raíz para que persista en la inicialización
<a name="delete-on-termination-ebs-volume"></a>

Puede cambiar el atributo `DeleteOnTermination` de un volumen raíz de EBS cuando lanza una instancia. También puede usar el siguiente procedimiento para un volumen de datos.

------
#### [ Console ]

**Para cambiar el volumen raíz de una instancia a persistente en la inicialización**

1. Siga el procedimiento para [iniciar una instancia](ec2-launch-instance-wizard.md), pero no la lance hasta que haya completado los siguientes pasos para cambiar el volumen raíz de modo que persista.

1. En el panel **Configurar almacenamiento**, elija **Avanzado**.

1. En **Volúmenes de EBS**, expanda la información sobre el volumen raíz.

1. En **Eliminar al terminar**, elija **No**.

1. En el panel **Resumen**, revise la configuración de la instancia y, a continuación, elija **Iniciar instancia**. Para obtener más información, consulte [Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola](ec2-launch-instance-wizard.md).

------
#### [ AWS CLI ]

**Para cambiar el volumen raíz de una instancia a persistente en la inicialización**  
Use el comando [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) para cambiar el valor de `DeleteOnTermination` en la asignación de dispositivos de bloques.

Añada la opción `--block-device-mappings`:

```
--block-device-mappings file://mapping.json
```

En `mapping.json`, especifique el nombre del dispositivo (por ejemplo, `/dev/sda1` o `/dev/xvda`), y en lo que respecta a `DeleteOnTermination`, especifique `false`.

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

------
#### [ PowerShell ]

**Para cambiar el volumen raíz de una instancia a persistente en la inicialización**  
Utilice el cmdlet [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) para cambiar el valor de `DeleteOnTermination` en la asignación de dispositivos de bloques.

Añada la opción `-BlockDeviceMapping`:

```
-BlockDeviceMapping $bdm
```

En `bdm`, especifique el nombre del dispositivo (por ejemplo, `/dev/sda1` o `/dev/xvda`), y en lo que respecta a `DeleteOnTermination`, especifique `false`.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------

## Cambio del volumen raíz de una instancia en ejecución para que persista
<a name="delete-on-termination-running-instance"></a>

Puede cambiar el volumen raíz de EBS de una instancia en ejecución para que persista. También puede usar el siguiente procedimiento para un volumen de datos.

------
#### [ AWS CLI ]

**Para cambiar el volumen raíz para que persista**  
Utilice el comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0  \
    --block-device-mappings file://mapping.json
```

En `mapping.json`, especifique el nombre del dispositivo (por ejemplo, `/dev/sda1` o `/dev/xvda`), y en lo que respecta a `--DeleteOnTermination`, especifique `false`.

```
[
  {
    "DeviceName": "device_name",
    "Ebs": {
      "DeleteOnTermination": false
    }
  }
]
```

------
#### [ PowerShell ]

**Para cambiar el volumen raíz para que persista**  
Utilice el cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

Añada la opción `-BlockDeviceMapping`:

```
-BlockDeviceMapping $bdm
```

En `bdm`, especifique el nombre del dispositivo (por ejemplo, `/dev/sda1` o `/dev/xvda`), y en lo que respecta a `DeleteOnTermination`, especifique `false`.

```
$ebd = New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice
$ebd.DeleteOnTermination = false
$bdm = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$bdm.DeviceName = "/dev/sda1"
$bdm.Ebs = $ebd
```

------