Article d’archive : ce texte de 2019 contient des indications anciennes, dont une version de Python qui n’est plus prise en charge.
Ce blog tournait sur une instance EC2. Pour limiter les coûts, je n’avais pas de load balancer, mais un groupe Auto Scaling avec une capacité souhaitée d’une seule instance. La connexion à la base de données devenait parfois instable ; la réponse automatisée la plus simple était alors de redémarrer l’instance. Sans load balancer, ce n’était pas tout à fait immédiat, d’où ces notes.
- Créer une sonde de disponibilité Route 53.
- Sélectionner l’alarme CloudWatch correspondante et lui associer un topic SNS.
- Configurer le topic pour envoyer un e-mail et appeler une fonction Lambda.
- Vérifier que le rôle IAM de la fonction Lambda l’autorise à redémarrer l’instance EC2.
Voici le code Lambda que j’avais trouvé en ligne. À l’époque, il nécessitait Python 2.7 et non 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 / systèmes