

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de políticas de terminación de Amazon EC2 Auto Scaling
<a name="ec2-auto-scaling-termination-policies"></a>

Una política de terminación proporciona los criterios que Amazon EC2 Auto Scaling sigue para terminar las instancias en un orden específico. De forma predeterminada, Amazon EC2 Auto Scaling utiliza una política de terminación diseñada para terminar primero las instancias que utilizan configuraciones anticuadas. Puede cambiar la política de terminación para controlar qué instancias son más importantes cancelar primero. 

Cuando Amazon EC2 Auto Scaling termina instancias, trata de mantener un equilibrio entre las zonas de disponibilidad habilitadas para el grupo de escalado automático. El mantenimiento del equilibrio entre las zonas tiene prioridad sobre las políticas de terminación. Si una zona de disponibilidad tiene más instancias que otras, Amazon EC2 Auto Scaling aplica primero la política de terminación a la zona desequilibrada. Si las zonas de disponibilidad están equilibradas, aplica la política de terminación en todas las zonas.

**Topics**
+ [Funcionamiento de la política de terminación predeterminada](#default-termination-policy)
+ [Política de terminación predeterminada y grupos de instancias mixtas](#default-termination-policy-mixed-instances-groups)
+ [Políticas de terminación predefinidas](#predefined-termination-policies)
+ [Cambio de la política de terminación de un grupo de escalado automático](custom-termination-policy.md)

**nota**  
Amazon EC2 Auto Scaling aplica políticas de terminación únicamente a las instancias que el grupo Auto Scaling no considere en mal estado. Como resultado, las instancias marcadas como insalubres por las comprobaciones de estado de Auto Scaling pasarán por alto la evaluación de la política de rescisión.  
Para obtener más información, consulte [Diseño de aplicaciones para gestionar sin problemas la terminación de instancias](gracefully-handle-instance-termination.md).

## Funcionamiento de la política de terminación predeterminada
<a name="default-termination-policy"></a>

Cuando Amazon EC2 Auto Scaling necesita terminar una instancia, primero determina qué zonas de disponibilidad tienen más instancias y busca al menos una instancia que no esté protegida frente a la reducción horizontal. A continuación, procede a evaluar las instancias desprotegidas dentro de la zona de disponibilidad identificada de la siguiente manera:

**Instancias que utilizan configuraciones anticuadas**
+ **Para los grupos que utilizan una plantilla de lanzamiento**, determine si cualquiera de las instancias utiliza configuraciones obsoletas y establezca las prioridades en el siguiente orden:

  1. En primer lugar, compruebe si hay instancias lanzadas con una configuración de lanzamiento.

  1. Luego, compruebe si hay instancias lanzadas con una plantilla de lanzamiento diferente a la plantilla de lanzamiento actual.

  1. Por último, busque instancias que utilicen la versión más antigua de la plantilla de lanzamiento actual.
+ **Para los grupos que utilizan una configuración de lanzamiento**, determine si alguna de estas instancias utiliza la configuración de lanzamiento más antigua.

Si no se encuentra ninguna instancia con configuraciones anticuadas o hay varias instancias entre las que elegir, Amazon EC2 Auto Scaling utiliza el siguiente criterio para las instancias que se acercan a su próxima hora de facturación. 

**Instancias cercanas a la próxima hora de facturación**  
Determine si cualquiera de las instancias que cumplen los criterios anteriores está más próxima que las demás a la siguiente hora de facturación. Si varias instancias están igual de próximas, cancele una al azar. Esto ayuda a maximizar el uso de las instancias que tienen un cargo por hora. Sin embargo, la mayor parte del uso de EC2 ahora se factura por segundo, por lo que esta optimización ofrece menos beneficios. Para obtener más información, consulte [Precios de Amazon EC2](https://aws.amazon.com/ec2/pricing/). 

El siguiente diagrama de flujo ilustra cómo funciona la política de terminación predeterminada para los grupos que utilizan una plantilla de lanzamiento.

![\[Un diagrama de flujo que muestra cómo un grupo de escalado automático utiliza la política de terminación predeterminada para terminar instancias.\]](http://docs.aws.amazon.com/es_es/autoscaling/ec2/userguide/images/termination-policy-default-flowchart-diagram.png)


## Política de terminación predeterminada y grupos de instancias mixtas
<a name="default-termination-policy-mixed-instances-groups"></a>

Amazon EC2 Auto Scaling aplica criterios adicionales al finalizar instancias en [grupos de instancias mixtos](ec2-auto-scaling-mixed-instances-groups.md). 

Cuando Amazon EC2 Auto Scaling necesita terminar una instancia, identifica primero qué opción de compra (spot o bajo demanda) debe ser terminada en función de la configuración del grupo. De este modo, se garantiza que el grupo tienda a alcanzar la proporción especificada de instancias de spot y bajo demanda a lo largo del tiempo.

A continuación, aplica la política de terminación en cada zona de disponibilidad individualmente. Determina qué instancia de spot o instancia bajo demanda se debe cerrar en qué zona de disponibilidad para mantener el equilibrio entre las zonas de disponibilidad. La misma lógica se aplica a los grupos de instancias mixtos que utilizan pesos definidos para los tipos de instancia. 

Dentro de cada zona, la política de terminación predeterminada funciona de la siguiente manera para determinar qué instancia desprotegida que cumple con la opción de compra identificada puede terminarse:

1. Determine si alguna de las instancias se puede terminar para mejorar la alineación con la [estrategia de asignación](allocation-strategies.md) especificada para el grupo de escalado automático. Si no se identifica ninguna instancia para la optimización o hay varias instancias entre las que elegir, la evaluación continúa.

1. Determine si cualquiera de las instancias utiliza configuraciones obsoletas y establezca las prioridades en el siguiente orden:

   1. En primer lugar, compruebe si hay instancias lanzadas con una configuración de lanzamiento.

   1. Luego, compruebe si hay instancias lanzadas con una plantilla de lanzamiento diferente a la plantilla de lanzamiento actual.

   1. Por último, busque instancias que utilicen la versión más antigua de la plantilla de lanzamiento actual.

   Si no se encuentra ninguna instancia con configuraciones desactualizadas o hay varias instancias entre las que elegir, la evaluación continúa.

1. Determine si cualquiera de las instancias está más próxima que las demás a la siguiente hora de facturación. Si varias instancias están igual de próximas, elija una al azar.

## Políticas de terminación predefinidas
<a name="predefined-termination-policies"></a>

Puede elegir entre las siguientes políticas de terminación predefinidas:
+ **`Default`**: termina las instancias de acuerdo con la política de terminación predeterminada.
+ **`AllocationStrategy`**: termina las instancias del grupo de escalado automático para alinear las instancias restantes con la estrategia de asignación para el tipo de instancias que se va a terminar (una instancia de spot o una instancia bajo demanda). Esta política es útil cuando han cambiado los tipos de instancias que prefiera. Si la estrategia de asignación de spot es `lowest-price`, puede reequilibrar gradualmente la distribución de instancias de spot en sus grupos de spot con los precios más bajos. Si la estrategia de asignación de spot es `capacity-optimized`, puede reequilibrar gradualmente la distribución de las instancias de spot en los grupos de spot donde hay más capacidad de spot disponibles. También puede reemplazar gradualmente las instancias bajo demanda de un tipo de prioridad menor por otras de un tipo de prioridad mayor.
+ **`OldestLaunchTemplate`**: termina las instancias que tienen la plantilla de lanzamiento más antigua. Con esta política, las instancias que utilizan una plantilla de lanzamiento que no es la actual terminan primero, seguidas de las instancias que utilizan la versión más antigua de la plantilla de lanzamiento actual. Esta política es útil cuando va a actualizar un grupo y eliminar progresivamente las instancias de una configuración anterior.
+ **`OldestLaunchConfiguration`**: termina las instancias que tienen la configuración de lanzamiento más antigua. Esta política es útil cuando va a actualizar un grupo y eliminar progresivamente las instancias de una configuración anterior. Con esta política, las instancias que usan la configuración de lanzamiento no actual se terminan primero.
+ **`ClosestToNextInstanceHour`**: termina las instancias que están más próximas a la siguiente hora de facturación. Esta política ayuda a maximizar el uso de las instancias que tienen un cargo por hora.
+ **`NewestInstance`**: termina la instancia más reciente del grupo. Esta política es útil cuando va a probar una nueva configuración de lanzamiento, pero no desea mantenerla en producción.
+ **`OldestInstance`**: termina la instancia más antigua del grupo. Esta opción es útil cuando va a actualizar las instancias del grupo de escalado automático a un nuevo tipo de instancias EC2. Puede sustituir gradualmente las instancias del tipo antiguo por instancias del tipo nuevo.
**nota**  
Amazon EC2 Auto Scaling siempre equilibra primero las instancias en las zonas de disponibilidad, independientemente de la política de terminación que se utilice. Como resultado, es posible que encuentre situaciones en las que algunas instancias más recientes se terminen antes de las instancias más antiguas. Por ejemplo, cuando hay una zona de disponibilidad agregada más recientemente, o cuando una zona de disponibilidad tiene más instancias que las otras zonas de disponibilidad usadas por el grupo. 

# Cambio de la política de terminación de un grupo de escalado automático
<a name="custom-termination-policy"></a>

Para cambiar la política de terminación de su grupo de escalado automático, use uno de los siguientes métodos.

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

No puede cambiar la política de terminación predeterminada cuando crea por primera vez un grupo de escalado automático en la consola de Amazon EC2 Auto Scaling. La política de terminación predeterminada se utiliza automáticamente. Una vez que cree el grupo de escalado automático, puede reemplazar la política predeterminada por una política de terminación diferente o por varias políticas de terminación enumeradas en el orden en el que deban aplicarse. 

**Cómo cambiar la política de terminación de un grupo de escalado automático**

1. Abra la consola Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)y seleccione **Auto Scaling Groups** en el panel de navegación.

1. Seleccione la casilla situada junto al grupo de escalado automático.

   Se abre un panel dividido en la parte inferior de la página.

1. En la pestaña **Details (Detalles)** elija **(Advanced configurations) Configuraciones avanzadas**, **Edit (Editar)**.

1. Para **Termination policies (Políticas de terminación)**, elija una o varias políticas de terminación. Si elige varias políticas, colóquelas en el orden en el que desea que se evalúen.

   De manera opcional, puede elegir **Custom termination policy** (Política de terminación personalizada) y luego elegir una función de Lambda que se ajuste a sus necesidades. Si ha creado versiones y alias para la función de Lambda, puede elegir una versión o un alias en el menú desplegable **Version/Alias** (Versión/Alias). Para utilizar la versión no publicada de la función de Lambda, mantenga **Version/Alias** (Versión/Alias) establecido en su valor predeterminado. Para obtener más información, consulte [Creación de una política de terminación personalizada con Lambda](lambda-custom-termination-policy.md).
**nota**  
Si se utilizan varias políticas, su orden debe establecerse correctamente:  
Si utiliza la política **Default** (Predeterminada), debe ser la última de la lista.
Si utiliza una política **Custom termination** (Terminación personalizada), debe ser la primera de la lista.

1. Elija **Actualizar**.

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

La política de terminación predeterminada se utiliza automáticamente a menos que se especifique una política diferente.

**Cómo cambiar la política de terminación de un grupo de escalado automático**  
Utilice uno de los siguientes comandos:
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html)
+ [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)

Puede utilizar políticas de terminación de manera individual o combinarlas en una lista de políticas. Por ejemplo, utilice el siguiente comando para actualizar un grupo de escalado automático para que utilice primero la política `OldestLaunchConfiguration` y después la política `ClosestToNextInstanceHour`.

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --termination-policies "OldestLaunchConfiguration" "ClosestToNextInstanceHour"
```

Si utiliza la política de terminación `Default`, colóquela la última en la lista de políticas de terminación. Por ejemplo, `--termination-policies "OldestLaunchConfiguration" "Default"`.

Para utilizar una política de rescisión personalizada, primero debe crear su política de rescisión utilizando AWS Lambda. Para especificar la función Lambda que se utilizará como política de terminación, colóquela la primera en la lista de políticas de terminación. Por ejemplo, `--termination-policies "arn:aws:lambda:us-west-2:123456789012:function:HelloFunction:prod" "OldestLaunchConfiguration"`. Para obtener más información, consulte [Creación de una política de terminación personalizada con Lambda](lambda-custom-termination-policy.md).

------