htmlAWS: reinicie EC2 en caso de error — Bernd Kuhlen
BK BERND KUHLENTodas las notas ↗
← Volver a las notas de campo

AWS: reinicie EC2 en caso de error

Nota de archivo: Este artículo de 2019 contiene información histórica, incluida una versión de Python que ya no es compatible.

Este blog publicó en una instancia de EC2. Para reducir los costes, no usé un balanceador de carga, sino un grupo de Auto Scaling con la capacidad deseada de una instancia. La conexión a la base de datos de vez en cuando dejaba de ser fiable, en cuyo caso la solución automática más sencilla era reiniciar la instancia. Sin un balanceador de cargas, no era del todo sencillo, así que he documentado el proceso aquí.

  • Cree un chequeo de estado de la Ruta 53.
  • Seleccione la alarma de CloudWatch resultante y adjunte un tema de SNS.
  • Configurar el tema para enviarle un correo electrónico e invocar una función Lambda.
  • Asegúrese de que la función de IAM de la función Lambda le permita reiniciar la instancia EC2.

Este es el código Lambda que encontré en Internet. Cuando se escribió este artículo, se necesitaba Python 2.7 en lugar de Python 3.x.

importar boto3

región = «Estados Unidos-West-1»

instancias = ['i-12345cb6de4f78g9h', 'i-08ce9b2d7eccf6d26']

def lambda_handler (evento, contexto):

ec2 = boto3.client ('ec2', nombre_región=región)

ec2.stop_instances (ID de instancia = instancias)

print «detuvo sus instancias:» + str (instancias)

BERND KUHLEN · NOTAS DE CAMPO SOBRE INGENIERÍA EN LA NUBE
ES
EnglishENDeutschDEEspañolES中文ZH