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.
Créez automatiquement des CloudWatch tableaux de bord Amazon basés sur des balises
Créée par Janak Vadaria (AWS), RAJNEESH TYAGI (AWS) et Vinodkumar Mandalapu (AWS)
Dépôt de code : Goldensignals | Environnement : Production | Technologies : opérations CloudNative ; gestion et gouvernance |
Services AWS : AWS CDK ; Amazon CloudWatch ; AWS CodeBuild ; AWS CodePipeline |
Récapitulatif
La création manuelle de différents CloudWatch tableaux de bord Amazon peut prendre beaucoup de temps, en particulier lorsque vous devez créer et mettre à jour plusieurs ressources pour adapter automatiquement votre environnement. Une solution qui crée et met à jour automatiquement vos CloudWatch tableaux de bord peut vous faire gagner du temps. Ce modèle vous permet de déployer un AWS Cloud Development Kit (AWS CDK) pipeline entièrement automatisé qui crée et met à jour CloudWatch des tableaux de bord pour vos AWS ressources en fonction des événements de modification des balises, afin d'afficher les métriques Golden Signals.
Dans le domaine de l'ingénierie de fiabilité des sites (SRE), Golden Signals fait référence à un ensemble complet de mesures qui offrent une vue d'ensemble d'un service du point de vue de l'utilisateur ou du consommateur. Ces indicateurs incluent la latence, le trafic, les erreurs et la saturation. Pour plus d'informations, voir Qu'est-ce que l'ingénierie de fiabilité des sites (SRE) ?
La solution fournie par ce modèle est axée sur les événements. Une fois déployé, il surveille en permanence les événements de modification des balises et met automatiquement à jour les CloudWatch tableaux de bord et les alarmes.
Conditions préalables et limitations
Prérequis
Un actif Compte AWS
AWS Command Line Interface (AWS CLI), installé et configuré
Prérequis pour la v2 AWS CDK
Un environnement amorcé sur AWS
Node.js version 18
ou ultérieure Gestionnaire de packages de nœuds (npm), installé et configuré
pour AWS CDK Connaissance modérée (niveau 200) du et AWS CDK AWS CodePipeline
Limites
Cette solution crée actuellement des tableaux de bord automatisés pour les services AWS suivants uniquement :
Architecture
Pile technologique cible
Architecture cible
Un événement de modification de AWS balise pour les balises d'application configurées ou les modifications de code initie un pipeline AWS CodePipeline pour créer et déployer des CloudWatch tableaux de bord mis à jour.
AWS CodeBuild exécute un script Python pour rechercher les ressources dont les balises sont configurées et stocke les identifiants des ressources dans un fichier local d'un CodeBuild environnement.
CodeBuild exécute cdk synth pour générer des AWS CloudFormation modèles qui déploient des CloudWatch tableaux de bord et des alarmes.
CodePipeline déploie les AWS CloudFormation modèles dans la région spécifiée Compte AWS .
Lorsque la AWS CloudFormation pile a été déployée avec succès, vous pouvez consulter les CloudWatch tableaux de bord et les alarmes.
Automatisation et mise à l'échelle
Cette solution a été automatisée à l'aide du AWS CDK. Vous pouvez trouver le code dans les tableaux de bord GitHub Golden Signals sur le CloudWatch référentiel Amazon
Outils
Services Amazon
Amazon EventBridge
est un service de bus d'événements sans serveur qui vous permet de connecter vos applications à des données en temps réel provenant de diverses sources, notamment des AWS Lambda fonctions, des points de terminaison d'appel HTTP utilisant des destinations d'API ou des bus d'événements dans d'autres domaines. Comptes AWS AWS CodePipeline
vous permet de modéliser et de configurer rapidement les différentes étapes d'une version logicielle et d'automatiser les étapes nécessaires à la publication continue des modifications logicielles. AWS CodeBuild
est un service de génération entièrement géré qui vous aide à compiler le code source, à exécuter des tests unitaires et à produire des artefacts prêts à être déployés. AWS CodeCommit
est un service de contrôle de version qui vous permet de stocker et de gérer de manière privée des référentiels Git sans avoir à gérer votre propre système de contrôle de source. AWS Command Line Interface (AWS CLI) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.
AWS Identity and Access Management (IAM)
vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser. Amazon Simple Storage Service (Amazon S3)
est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
Bonnes pratiques
Pour des raisons de sécurité, vous pouvez utiliser le chiffrement et l'authentification pour les référentiels sources qui se connectent à vos pipelines. Pour connaître les meilleures pratiques supplémentaires, consultez les CodePipeline meilleures pratiques et les cas d'utilisation dans la CodePipeline documentation.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Configurez et déployez l'exemple d'application. |
| AWS DevOps |
Créez automatiquement des tableaux de bord et des alarmes. | Après avoir déployé l'exemple d'application, vous pouvez créer toutes les ressources prises en charge par cette solution avec les valeurs de balise attendues, ce qui créera automatiquement les tableaux de bord et les alarmes spécifiés. Pour tester cette solution, créez une AWS Lambda fonction :
| AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Supprimez la |
| AWS DevOps |
Résolution des problèmes
Problème | Solution |
---|---|
Commande Python introuvable (référence à | Vérifiez la version de votre installation Python. Si vous avez installé la version 3 de Python, |
Ressources connexes
Bootstrapping (documentation)AWS CDK
Utilisation de profils nommés (AWS CLI documentation)
Informations supplémentaires
L'illustration suivante montre un exemple de tableau de bord pour Amazon RDS créé dans le cadre de cette solution.