1

J'ai une application qui lit les informations réseau de mes ressources EC2. L'application doit connaître les NIC (ENI), les VPC et les sous-réseaux exécutés dans AWS. Actuellement, l'application continue d'interroger les API AWS, c'est-à-dire describeNetworkInterfaces(), describeVpcs() pour voir si quelque chose est en haut ou en bas.Recevoir des notifications pour chaque changement de ressource dans l'instance EC2

Je souhaite supprimer cette fonctionnalité d'interrogation et laisser AWS me notifier si une nouvelle instance EC2 est lancée ou si une nouvelle interface ENI est créée, si une variable est modifiée sur ENI.

Existe-t-il un moyen de le faire dans AWS? J'ai jeté un coup d'œil aux services SNS et CloudWatch AWS. Mais à ma connaissance, CloudWatch n'a pas l''alarme' pour ENI, VPC, sous-réseau, balises etc. Et SNS a besoin de quelqu'un pour pousser les messages afin que mon application puisse lire à partir de là, EC2 par défaut ne pousse aucun message pour un nouvel ENI ou VPC.

Répondre

2

Il y a deux services qui sont de pertinentes: AWS Config et AWS CloudTrail.

AWS Config capture des informations sur les ressources liées à EC2. Cela inclut les instances, les sous-réseaux, les groupes de sécurité, les ENI, les tables de routage, les connexions VPC, etc. Chaque modification est enregistrée. Les configurations actuelles peuvent être récupérées et l'historique des modifications peut être visualisé.

AWS CloudTrail capture les demandes d'API effectuées sur AWS. Cela comprend les appels qui changent des ressources, telles que la modification des étiquettes, la fixation ENI, démarrage/arrêt des instances, etc.

CloudTrail peut être utilisé avec CloudWatch Events pour déclencher des notifications lorsque des appels API particulières sont faites (par exemple AttachNetworkInterface). CloudWatch Events peut ensuite déclencher une notification SNS ou envoyer un message dans une file d'attente SQS. Il peut même déclencher une fonction AWS Lambda qui pourrait, par exemple, inspecter l'événement, vérifier une condition donnée, puis envoyer une notification ou effectuer une opération. Par exemple, lorsqu'une instance EC2 est lancée, CloudTrail send the API information to CloudWatch Events peut déclencher une fonction Lambda qui inspecte les balises de l'instance et, si une valeur de balise particulière est sur l'instance (par exemple, Environnement = Production), notifier quelqu'un

Remarque: CloudWatch Events et Lambda ne se trouvent pas dans toutes les régions.