Nota de arquivo: este artigo de 2019 contém orientações históricas, incluindo uma versão de Python sem suporte atual.
Este blog rodava em uma instância EC2. Para economizar, não usava balanceador; havia um grupo de Auto Scaling com capacidade desejada de uma instância. Às vezes, a conexão com o banco ficava instável, e a solução automática mais simples era reiniciar a instância. Sem balanceador, isso não era tão direto, então registrei o processo aqui.
- Crie um health check no Route 53.
- Selecione o alarme correspondente no CloudWatch e vincule um tópico SNS.
- Configure o tópico para enviar um e-mail e chamar uma função Lambda.
- Confira se a role IAM da função Lambda permite reiniciar a instância EC2.
Encontrei o código Lambda abaixo na internet. Quando escrevi este artigo, ele precisava de Python 2.7, não de Python 3.x.
import boto3
region = ‘us-west-1’
instances = [‘i-12345cb6de4f78g9h’, ‘i-08ce9b2d7eccf6d26’]
def lambda_handler(event, context):
ec2 = boto3.client(‘ec2’, region_name=region)
ec2.stop_instances(InstanceIds=instances)
print ‘stopped your instances: ‘ + str(instances)


cloud / sistemas