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

8 minutos de lectura
0

Mi grupo de Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling ha terminado una instancia. Sin embargo, no veo el motivo de la terminación en la consola de Amazon EC2.

Breve descripción

Amazon EC2 Auto Scaling se basa en comprobaciones de estado de Amazon EC2 o Elastic Load Balancing (ELB) para determinar el estado de una instancia. Todas las acciones de escalamiento de un grupo de escalamiento automático, incluidas las sustituciones de comprobación de estado, se muestran en la vista Historial de actividad en la consola de Amazon EC2.

Resolución

Para determinar los pasos de solución de problemas, utilice la descripción de la instancia en la vista Historial de actividad.

En primer lugar, busque la descripción y la causa de la terminación de la instancia:

  1. Abra la consola de Amazon EC2.
  2. En el panel de navegación, en Auto Scaling, seleccione Grupos de Auto Scaling. Luego, seleccione el grupo de su instancia.
  3. Elija la vista Actividad y, a continuación, busque el evento de terminación de la instancia en el Historial de actividad.
  4. Fíjese en la descripción y la causa correspondientes al evento de terminación de la instancia.

Para solucionar el motivo de la cancelación de la instancia, consulte los siguientes ejemplos de descripción.

«Se ha retirado una instancia del servicio en respuesta a una comprobación de estado de EC2 que indicaba que se había terminado o detenido»

Amazon EC2 Auto Scaling termina las instancias detenidas y reiniciadas. Consulte el historial de AWS CloudTrail para determinar si un usuario ha detenido o reiniciado la instancia manualmente:

  1. Abra la consola de AWS CloudTrail.
  2. En el panel de navegación, elija Historial de eventos.
  3. Consulte el historial para encontrar las llamadas a la API TerminateInstances, StopInstances o RebootInstances.

«Se ha retirado una instancia del servicio en respuesta a un error en las comprobaciones de estado de una instancia EC2»

Busque errores de comprobación de sistemas o instancias con las métricas de Amazon CloudWatch:

  1. Abra la consola de Amazon CloudWatch.
  2. En el panel de navegación, elija Métricas y, a continuación, seleccione la vista Todas las métricas.
  3. Elija EC2 en el panel de métricas y, a continuación, seleccione Métricas por instancia.
  4. Introduzca un valor para instance-id y, a continuación, seleccione StatusCheckFailed_Instance, StatusCheckFailed_System o StatusCheckFailed para ver los gráficos de métricas.

«Se ha retirado una instancia del servicio en respuesta a un error en la comprobación de estado del sistema ELB»

Si ha activado las comprobaciones de estado de Elastic Load Balancing para su grupo de escalamiento automático, Amazon EC2 Auto Scaling realiza las comprobaciones de estado de Elastic Load Balancing y de EC2. A continuación, el servicio terminará las instancias que no superen alguna de las comprobaciones de estado. Compruebe que su grupo de escalamiento automático tenga activadas las comprobaciones de estado de Elastic Load Balancing:

  1. Abra la consola de Amazon EC2.
  2. En el panel de navegación, en Auto Scaling, elija Grupos de Auto Scaling y, a continuación, seleccione el grupo de la instancia.
  3. Elija la vista Detalles y, a continuación, fíjese en Tipo de comprobación de estado.
  4. Si el tipo de comprobación de estado es «EC2, ELB», el grupo de escalamiento automático tiene habilitadas las comprobaciones de estado de Elastic Load Balancing.

Para obtener más información, consulte 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.

En algunos casos, un grupo de escalamiento automático tiene varios grupos de destino o equilibradores de carga adjuntos. En este caso, para que Amazon EC2 Auto Scaling considere que una instancia está en buen estado, todos los grupos de destino y los equilibradores de carga deben declararla en buen estado.

  1. En el panel de navegación, en Auto Scaling, seleccione Grupos de Auto Scaling.
  2. Seleccione el grupo de la instancia y, a continuación, la vista Detalles.
  3. Fíjese en si hay más de un equilibrador de carga adjunto en Equilibradores de carga o Grupos de destino.
  4. Seleccione el grupo de destino o el equilibrador de carga.
  5. En el panel de navegación, en Equilibrio de carga, elija Grupos de destino, seleccione su grupo de destino y, a continuación, elija Supervisión.
  6. Para confirmar si una instancia no pasa las comprobaciones de estado, consulte los gráficos de métricas de hosts en buen estado y en mal estado.

Consulte el historial de CloudTrail para determinar si un proceso suspendido ha retrasado la terminación de una instancia en mal estado hasta la reanudación del proceso:

  1. Abra la consola de AWS CloudTrail.
  2. En el panel de navegación, elija Historial de eventos.
  3. Consulte el historial para buscar las llamadas a la API SuspendProcesses y ResumeProcesses.

«Se ha retirado una instancia del servicio en respuesta a un aviso de interrupción de una instancia de spot de EC2»

Amazon EC2 Auto Scaling termina las instancias de spot cuando se da una de las siguientes situaciones:

  • La capacidad ya no está disponible.
  • El precio de spot supera el precio máximo que ha especificado para las instancias.

Puede que el Historial de actividad muestre que la instancia se ha retirado del servicio debido a una comprobación de estado. Para comprobar el motivo de la terminación, consulte el estado Solicitudes de spot:

  1. Abra la consola de Amazon EC2.
  2. En el panel de navegación, en Instancias, elija Solicitudes de spot.
  3. Seleccione la solicitud de spot, elija la vista Descripción y, a continuación, fíjese en el estado.

«Se ha retirado una instancia del servicio en respuesta a una solicitud de un usuario»

Revise el historial de eventos de CloudTrail para ver el período de tiempo en que la instancia se ha retirado del servicio para cualquier llamada a la API TerminateInstanceInAutoScalingGroup:

  1. Abra la consola de AWS CloudTrail.
  2. En el panel de navegación, elija Historial de eventos.
  3. Consulte el historial de llamadas a la API TerminateInstanceInAutoScalingGroup.

«Una actualización de AutoScalingGroup solicitada por el usuario limita a mínimo: 0, máximo: 2, deseado: 1, lo que cambia la capacidad deseada de 2 a 1»

Puede cambiar manualmente las restricciones de un grupo de escalamiento automático. Por ejemplo, puede reducir su capacidad. Al cambiar una restricción, Amazon EC2 Auto Scaling puede terminar las instancias para que coincidan con la nueva configuración.

«Se han lanzado instancias para equilibrar las instancias en las zonas us-east-1a con otras zonas»

De forma predeterminada, Amazon EC2 Auto Scaling equilibra las instancias entre todas las zonas de disponibilidad. Cuando agrega una nueva zona de disponibilidad a un grupo de escalado automático, Amazon EC2 Auto Scaling lanza una nueva instancia en esa zona. Cualquier reequilibrio podría terminar las instancias en otras zonas.

«Se ha retirado una instancia del servicio para equilibrar la distribución de las capacidades bajo demanda y Spot»

Cuando la distribución de una instancia bajo demanda o de spot cambia, el grupo de escalado automático asociado se reequilibra para que coincida con la distribución de opciones de compra deseada. Por lo tanto, las instancias bajo demanda o de spot pueden finalizar para que el grupo de escalado automático pueda sustituirlas y lograr la opción de compra deseada.

«Una alarma de supervisión XXX-High-CPU-Utilization con el estado ALARM ha lanzado la política AAA-scaledown, lo que ha cambiado la capacidad deseada de 2 a 1»

Amazon EC2 Auto Scaling puede terminar las instancias de un grupo en respuesta a una alarma configurada de CloudWatch. Consulte las políticas del grupo y el historial de alarmas de CloudWatch.

Para comprobar las políticas de grupo de escalamiento automático:

  1. Abra la consola de Amazon EC2.
  2. En el panel de navegación, en Auto Scaling, seleccione Grupos de Auto Scaling.
  3. Elija el grupo de la instancia.
  4. Para ver y editar las políticas, elija el panel Escalamiento automático.

Para ver el historial de alarmas de CloudWatch:

  1. Abra la consola de Amazon CloudWatch.
  2. En el panel de navegación, seleccione Alarmas.
  3. Elija la alarma y, a continuación, seleccione la vista Historial.
  4. Consulte el historial para ver los cambios de estado o de configuración de la alarma.

«Se ha retirado una instancia del servicio en respuesta a una comprobación de estado de un usuario»

Puede definir comprobaciones de estado personalizadas en Amazon EC2 Auto Scaling. Cuando una comprobación de estado personalizada determina que una instancia no está en buen estado, la comprobación inicia SetInstanceHealth de forma manual. A continuación, establece el estado de la instancia a En mal estado. Amazon EC2 Auto Scaling termina la instancia en mal estado en su próxima ejecución.

«Una actualización de acción programada de AutoScalingGroup limita a mínimo: 1, máximo: 9, deseado: 1, lo que cambia la capacidad deseada de 2 a 1»

Puede configurar acciones programadas que cambien la capacidad mínima, máxima o deseada de un grupo de escalamiento automático. Cuando la acción programada reduce la capacidad deseada, Amazon EC2 Auto Scaling termina una o varias instancias para que coincidan con la nueva capacidad deseada.

Información relacionada

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

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

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 9 meses