1

Je crée un ensemble d'instantanés EBS dans le cadre d'AWS Lambda. J'ai besoin de capturer des événements lorsque ces instantanés sont terminés afin que je puisse créer une instance ec2 basée sur ceux-ci.Comment déclencher AWS Lambda lorsqu'un cliché EBS est terminé

Je pourrais utiliser snapshot waiter mais ce sondage et parfois la création d'instantanés peuvent prendre beaucoup de temps. Je ne veux pas que Lambda continue à courir pendant un moment et le temps maximum pour Lambda semble être de cinq minutes. J'ai regardé CloudWatch et AWS Config pour voir si je peux capturer des événements d'instantané mais n'ai pas eu de chance.

Répondre

1

Vous avez raison - il n'y a pas d'événement de notification qui signifie la fin d'un instantané EBS. Au lieu de cela, vous devrez vérifier l'état jusqu'à ce que le statut passe à completed.

Vous avez également raison de dire que les fonctions AWS Lambda peuvent s'exécuter pour maximum 5 minutes et qu'une fonction Lambda en attente d'un processus externe n'est pas une bonne architecture.

Au lieu de cela, vous pourriez rupture de l'architecture:

  • Demandez à votre processus existant déclenche l'EBS Photo (s) et puis poussez un message dans une file d'attente SQS
  • Calendrier d'un Lambda fonctionne (par exemple toutes les 5 minutes) pour vérifier la file d'attente SQS. Si un message existe:
    • Extrayez des détails sur l'instance et instantané (s) du message
    • Vérifiez l'état de l'instantané (s)
    • Si l'état est completed, effectuez l'étape suivante dans le processus

le bas-côté est que la fonction Lambda programmée déclenchera même quand il n'y a pas de messages dans la file d'attente. La fonction Lambda va quitter très rapidement (coût: 100ms).

L'alternative est de exécuter un cron script sur une instance Amazon EC2 (ou sur n'importe quel ordinateur connecté à Internet). Une instance t2.nano est d'environ 15.6c par jour, ce qui peut être plus cher qu'une fonction Lambda planifiée. Si vous avez déjà utilisé une instance, il n'y aurait pas de coût supplémentaire.

+0

merci, je vais essayer l'approche SQS! – user1801879