Saltar al contenido

¿Por qué Amazon EC2 Auto Scaling ha terminado una instancia?

10 minutos de lectura
0

Quiero saber por qué mi grupo de Amazon EC2 Auto Scaling ha terminado mi instancia de Amazon Elastic Compute Cloud (Amazon EC2).

Descripción corta

Amazon EC2 Auto Scaling supervisa el estado de la instancia con las comprobaciones de estado de Amazon EC2, las comprobaciones de estado de Elastic Load Balancing (ELB) y las comprobaciones de volumen. Si la instancia no supera la comprobación, Amazon EC2 Auto Scaling termina y reemplaza la instancia.

Revisa por qué Amazon EC2 Auto Scaling ha terminado tu instancia en el panel de Amazon EC2 de la consola de administración de AWS. A continuación, soluciona el problema que encuentres.

Resolución

Comprueba por qué tu instancia no ha superado la comprobación de estado y, a continuación, soluciona los problemas en función del motivo.

Solución de problemas de instancias que Amazon EC2 Auto Scaling terminó o detuvo

Amazon EC2 Auto Scaling termina las instancias detenidas y reiniciadas. El siguiente mensaje indica que Amazon EC2 Auto Scaling ha detenido, reiniciado o terminado una instancia:

"An instance was taken out of service in response to an EC2 health check indicating it has been terminated or stopped"

Para obtener instrucciones sobre cómo solucionar este problema, consulta Se quitó del servicio una instancia en respuesta a una comprobación de estado de EC2 que indicaba que se había terminado o detenido.

Solución de problemas en las instancias que no superen las comprobaciones de estado de Amazon EC2

El siguiente mensaje indica que tu instancia no ha superado la comprobación de estado de Amazon EC2:

"An instance was taken out of service in response to an EC2 instance status checks failure"

Para obtener instrucciones sobre cómo solucionar este problema, consulta Se quitó del servicio una instancia en respuesta a un error de comprobación del estado de la instancia de EC2.

Solución de problemas en las instancias que no superan las comprobaciones de estado de ELB

Si has activado las comprobaciones de estado de ELB para tu grupo, Amazon EC2 Auto Scaling realizará las comprobaciones de estado de ELB y Amazon EC2. Amazon EC2 Auto Scaling termina las instancias que no superan ninguna de las comprobaciones de estado.

Si tu grupo tiene varios grupos objetivo o equilibradores de carga adjuntos, todos los grupos objetivo y equilibradores de carga deben superar las comprobaciones de estado. Si algún grupo objetivo o equilibrador de carga de tu grupo no supera una comprobación de estado, Amazon EC2 Auto Scaling termina la instancia.

El siguiente mensaje indica que tu instancia no ha superado una comprobación de estado de ELB:

"An instance was taken out of service in response to a ELB system health check failure"

Para obtener instrucciones sobre cómo solucionar este problema, consulta Se quitó del servicio una instancia en respuesta a un error de comprobación de estado del sistema ELB.

Solución de problemas de instancias de spot de EC2 terminadas

Amazon EC2 Auto Scaling termina las instancias de spot de EC2 cuando la capacidad no está disponible o el precio de spot supera el precio máximo que has especificado para tus instancias.

Los mensajes similares al siguiente ejemplo indican que Amazon EC2 Auto Scaling terminó la instancia:

"An instance was taken out of service in response to an EC2 Spot Instance interruption notice."

Para evitar que este problema vuelva a ocurrir, toma una de las siguientes medidas para aumentar la capacidad de la instancia:

Solución de problemas de instancias que los usuarios terminan

Los mensajes parecidos al ejemplo siguiente indican que un usuario o servicio termina tu instancia con la operación de API TerminateInstanceInAutoScalingGroup:

"An instance was taken out of service in response to a user request"

Para evitar que se repita este problema, sigue estos pasos:

  1. Abre la consola de AWS CloudTrail.
  2. En el panel de navegación, elige Historial de eventos.
  3. Consulta el historial de llamadas a la API TerminateInstanceInAutoScalingGroup.
  4. Revisa las operaciones de la API del usuario o servicio al que se ha realizado la llamada y, a continuación, investiga por qué el usuario o el servicio ha terminado la instancia.

Solución de los mensajes de error "A user request update of AutoScalingGroup constraints"

Si actualizas manualmente la restricción de tu grupo, Auto Scaling podría terminar las instancias de ese grupo para que coincidan con la configuración actualizada.

Los mensajes similares al ejemplo siguiente indican que Amazon EC2 Auto Scaling terminó la instancia porque actualizaste la restricción de un grupo:

"A user request update of AutoScalingGroup constraints to min: 0, max: 2, desired: 1 changing the desired capacity from 2 to 1"

Para evitar que se repita este problema, sigue estos pasos:

  1. Abre la consola de CloudTrail.
  2. En el panel de navegación, elige Historial de eventos.
  3. Consulta el historial de las llamadas a la API UpdateAutoScalingGroup y SetDesiredCapacity y, a continuación, investiga por qué el usuario realizó la llamada que actualizó la restricción de un grupo.

Solución de problemas de instancias en las que Amazon EC2 Auto Scaling termina para equilibrar las instancias con otras zonas

De forma predeterminada, Amazon EC2 Auto Scaling equilibra las instancias entre todas las zonas de disponibilidad. Cuando agregas una nueva zona de disponibilidad a un grupo, Amazon EC2 Auto Scaling inicia una nueva instancia en esa zona. Cuando Amazon EC2 Auto Scaling reequilibra las instancias, es posible que termine las instancias de otras zonas. Amazon EC2 Auto Scaling también reequilibra las instancias entre zonas de disponibilidad cuando no puede iniciar una instancia en una zona de disponibilidad que especifiques.

Los mensajes que se parecen al siguiente ejemplo indican que Amazon EC2 Auto Scaling terminó la instancia para reequilibrar las instancias en las zonas de disponibilidad:

"Instances were launched to balance instances in zones us-east-1a with other zones"

Para evitar que se repita este error, suspende el proceso de reequilibrio de la zona de disponibilidad para el grupo que Amazon EC2Auto Scaling ha terminado.

Importante: Se recomienda no suspender el proceso de reequilibrio de AZ. Si suspendes el proceso, es posible que una zona de disponibilidad tenga más capacidad que otra. Como resultado, la disponibilidad de esa zona de disponibilidad disminuye.

Si debes suspender el proceso, sigue estos pasos:

  1. Abre la consola de administración de AWS.
  2. En el panel de navegación, selecciona Grupos de escalamiento automático.
  3. Selecciona la casilla de verificación situada junto al grupo que Amazon EC2 Auto Scaling ha terminado. Al hacerlo, se abre un panel dividido en la parte inferior de la página.
  4. En la pestaña Detalles, elige Configuraciones avanzadas y, a continuación, elige Editar.
  5. En Procesos suspendidos, selecciona Reequilibrio de AZ.
  6. Selecciona Actualizar.

Solución de problemas de instancia en las que Amazon EC2 Auto Scaling termina al actualizar tus opciones de compra

Cuando solicitas una distribución de opciones de compra actualizada, Amazon EC2 Auto Scaling reequilibra tu grupo.

Los mensajes similares al ejemplo siguiente indican que Amazon EC2 Auto Scaling terminó las instancias de spot o bajo demanda para que coincidieran con tu opción de compra actualizada:

"An instance was taken out of service to balance the distribution of On-Demand and Spot capacities."

Importante: Se recomienda revisar la configuración de la nueva distribución de opciones de compra y modificarla para evitar que se repita este problema.

Solución de problemas de alarmas de supervisión que desencadenan eventos de desescalamiento horizontal de políticas

Los mensajes similares al siguiente ejemplo indican que Amazon EC2 Auto Scaling terminó la instancia en respuesta a una alarma de Amazon CloudWatch que configuraste:

"A monitor alarm triggered a policy scaledown changing the desired capacity"

Para evitar que se repita este error, modifica la política de escalamiento automático o la alarma de CloudWatch que la activó, o ambas.

Para modificar la política de grupo que cambió la capacidad de tu grupo, sigue estos pasos:

  1. Abre la consola de administración de AWS.
  2. En el panel de navegación, selecciona Grupos de escalamiento automático.
  3. Selecciona la casilla de verificación situada junto a tu grupo.
  4. Para ver y editar las políticas, elige la pestaña Escalamiento automático.
  5. Modifica la política que activó la alarma de CloudWatch.

Para modificar la alarma de CloudWatch, sigue estos pasos:

  1. Abre la consola de CloudWatch.
  2. En el panel de navegación, selecciona Alarmas.
  3. Elige la alarma y, a continuación, selecciona la pestaña Historial.
  4. Consulta tu historial para ver si hay cambios de estado en la alarma o modificaciones en la configuración de la alarma.
  5. Si el estado de la alarma cambió, comprueba el historial de métricas en el momento del cambio de estado. Comprueba si el valor de una métrica ha cambiado a un valor superior o inferior al umbral que especificaste en ese periodo de tiempo. Si una métrica ha cambiado, investiga qué ha cambiado el valor de la métrica.

Soluciona los problemas en las instancias que no superen las comprobaciones personalizadas.

Cuando una instancia no supera una comprobación de estado personalizada, Amazon EC2 Auto Scaling llama a la operación de la API SetInstanceHealth y, a continuación, establece el estado de la instancia en Mal estado. Amazon EC2 Auto Scaling termina la instancia en mal estado en su próxima ejecución.

Los mensajes similares al siguiente ejemplo indican que Amazon EC2 Auto Scaling terminó la instancia porque no superó una comprobación de estado personalizada:

"An instance was taken out of service in response to a user health-check"

Para identificar el usuario que creó la comprobación de estado personalizada que terminó tu instancia, consulta el historial de eventos para ver las llamadas a la API SetInstanceHealth. Busca el usuario que ejecutó la operación de la API SetInstanceHealth antes de la comprobación de estado en la que la instancia produjo un error.

Solución de problemas relacionados con las actualizaciones de acciones programadas que cambien las restricciones del grupo

Si una acción programada reduce la capacidad de tu grupo, Amazon EC2 Auto Scaling termina una o más instancias para que coincidan con la capacidad actualizada.

Los mensajes similares al ejemplo siguiente indican que una acción programada redujo las restricciones de tu grupo:

"A scheduled action update of AutoScalingGroup constraints changed the desired capacity"

Para evitar que este problema vuelva a ocurrir, suspende el proceso de acciones programadas que redujo las restricciones de tu grupo. Cuando lo hagas, comprueba las acciones programadas para ver si hay acciones recurrentes que den por terminadas tus instancias y elimínalas o especifica una nueva programación para ellas. Después de modificar las acciones programadas, asegúrate de reactivar el proceso de acciones programadas.

Información relacionada

¿Por qué mi grupo de escalamiento automático se ha desescalado horizontalmente?

¿Por qué Amazon EC2 Auto Scaling no ha detenido una instancia en mal estado?

OFICIAL DE AWSActualizada hace 7 meses