Vérifiez la présence de balises obligatoires dans les EC2 instances au lancement - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Vérifiez la présence de balises obligatoires dans les EC2 instances au lancement

Susanne Kangnoh et l'architecte Mathur, Amazon Web Services

Récapitulatif

Amazon Elastic Compute Cloud (Amazon EC2) fournit une capacité de calcul évolutive dans le cloud Amazon Web Services (AWS). Avec Amazon, vous EC2 n'avez plus besoin d'investir dans du matériel dès le départ, ce qui vous permet de développer et de déployer des applications plus rapidement.

Vous pouvez utiliser le balisage pour classer vos ressources AWS de différentes manières. EC2 le balisage d'instance est utile lorsque votre compte comporte de nombreuses ressources et que vous souhaitez identifier rapidement une ressource spécifique en fonction des balises. Vous pouvez attribuer des métadonnées personnalisées à vos EC2 instances à l'aide de balises. Une balise se compose d'une clé et d'une valeur définies par l'utilisateur. Nous vous recommandons de créer un ensemble cohérent de balises pour répondre aux exigences de votre organisation. 

Ce modèle fournit un CloudFormation modèle AWS pour vous aider à surveiller les EC2 instances pour détecter des balises spécifiques. Le modèle crée un événement Amazon CloudWatch Events qui surveille l'AWS CloudTrail TagResourceou les UntagResourceévénements, afin de détecter le balisage ou le retrait de balises d'une nouvelle EC2 instance. Si une balise prédéfinie est absente, elle appelle une fonction AWS Lambda, qui envoie un message de violation à l'adresse e-mail que vous fournissez, à l'aide d'Amazon Simple Notification Service (Amazon SNS). 

Conditions préalables et limitations

Prérequis

  • Un compte AWS actif.

  • Un bucket Amazon Simple Storage Service (Amazon S3) pour télécharger le code Lambda fourni.

  • Adresse e-mail à laquelle vous souhaitez recevoir des notifications de violation.

Limites

  • Cette solution prend en charge CloudTrail TagResourcenos UntagResourceévénements. Il ne crée pas de notifications pour d'autres événements.

  • Cette solution vérifie uniquement les clés de balise. Il ne surveille pas les valeurs clés.

Architecture

Architecture du flux de travail

Workflow diagram showing Services AWS interaction for EC2 instance monitoring and notification.

Automatisation et mise à l'échelle

  • Vous pouvez utiliser le CloudFormation modèle AWS à plusieurs reprises pour différents comptes et régions AWS. Vous ne devez exécuter le modèle qu'une seule fois dans chaque région ou compte.

Outils

Services AWS

  • Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit une capacité de calcul sécurisée et redimensionnable dans le cloud. Il est conçu pour faciliter le cloud computing à l'échelle du Web pour les développeurs.

  • AWS CloudTrail CloudTrail est un service AWS qui vous aide en matière de gouvernance, de conformité, d'audit opérationnel et de gestion des risques de votre compte AWS. Les actions entreprises par un utilisateur, un rôle ou un service AWS sont enregistrées sous forme d'événements dans CloudTrail. 

  • Amazon CloudWatch Events — Amazon CloudWatch Events fournit un flux quasi en temps réel d'événements système décrivant les modifications apportées aux ressources AWS. CloudWatch Events prend connaissance des changements opérationnels au fur et à mesure qu'ils se produisent et prend les mesures correctives nécessaires, en envoyant des messages pour répondre à l'environnement, en activant des fonctions, en apportant des modifications et en capturant des informations d'état. 

  • AWS Lambda — Lambda est un service de calcul qui prend en charge l'exécution de code sans qu'il soit nécessaire de configurer ou de gérer des serveurs. Lambda exécute le code uniquement lorsque cela est nécessaire et se met à l’échelle automatiquement, qu’il s’agisse de quelques requêtes par jour ou de milliers de requêtes par seconde. 

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets hautement évolutif qui peut être utilisé pour un large éventail de solutions de stockage, notamment les sites Web, les applications mobiles, les sauvegardes et les lacs de données.

  • Amazon SNS — Amazon Simple Notification Service (Amazon SNS) est un service Web qui permet aux applications, aux utilisateurs finaux et aux appareils d'envoyer et de recevoir instantanément des notifications depuis le cloud.

Code

Ce modèle inclut une pièce jointe contenant deux fichiers :

  • index.zipest un fichier compressé qui inclut le code Lambda pour ce modèle.

  • ec2-require-tags.yamlest un CloudFormation modèle qui déploie le code Lambda.

Consultez la section Epics pour plus d'informations sur l'utilisation de ces fichiers.

Épopées

TâcheDescriptionCompétences requises
Téléchargez le code dans un compartiment S3.

Créez un nouveau compartiment S3 ou utilisez un compartiment S3 existant pour télécharger le index.zip fichier joint (code Lambda). Ce compartiment doit se trouver dans la même région AWS que les ressources (EC2 instances) que vous souhaitez surveiller.

Architecte du cloud
Déployez le CloudFormation modèle.

Ouvrez la console Cloudformation dans la même région AWS que le compartiment S3 et déployez le ec2-require-tags.yaml fichier fourni dans la pièce jointe. Dans l'épopée suivante, fournissez des valeurs pour les paramètres du modèle.  

Architecte du cloud
TâcheDescriptionCompétences requises
Indiquez le nom du compartiment S3.

Entrez le nom du compartiment S3 que vous avez créé ou sélectionné dans le premier épisode épique. Ce compartiment S3 contient le fichier .zip pour le code Lambda et doit se trouver dans la même région AWS que CloudFormation le modèle et EC2 les instances que vous souhaitez surveiller.

Architecte du cloud
Fournissez la clé S3.

Indiquez l'emplacement du fichier .zip de code Lambda dans votre compartiment S3, sans barres obliques (par exemple, ou). index.zip controls/index.zip

Architecte du cloud
Indiquez une adresse e-mail.

Indiquez une adresse e-mail active à laquelle vous souhaitez recevoir des notifications de violation.

Architecte du cloud
Définissez un niveau de journalisation.

Spécifiez le niveau de journalisation et la verbosité. Infodésigne des messages d'information détaillés sur la progression de l'application et ne doit être utilisé que pour le débogage. Errordésigne les événements d'erreur susceptibles de permettre à l'application de continuer à fonctionner. Warningdésigne les situations potentiellement dangereuses.

Architecte du cloud
Entrez les clés de tag requises.

Entrez les clés de tag que vous souhaitez vérifier. Si vous souhaitez spécifier plusieurs clés, séparez-les par des virgules, sans espaces. (Par exemple, ApplicationId,CreatedBy,Environment,Organization recherche quatre clés.) L'événement CloudWatch Events recherche ces clés de balise et envoie une notification si elles ne sont pas trouvées.

Architecte du cloud
TâcheDescriptionCompétences requises
Confirmez l'abonnement par e-mail.

Lorsque le CloudFormation modèle est déployé avec succès, il envoie un e-mail d'abonnement à l'adresse e-mail que vous avez fournie. Pour recevoir des notifications, vous devez confirmer cet abonnement par e-mail.  

Architecte du cloud

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip