Gestion des fichiers de configuration des CloudWatch agents - AWS Conseils prescriptifs

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.

Gestion des fichiers de configuration des CloudWatch agents

Nous vous recommandons de créer une configuration d' CloudWatch agent Amazon standard qui inclut les journaux système et les métriques que vous souhaitez capturer sur toutes vos instances Amazon Elastic Compute Cloud (Amazon EC2) et sur tous vos serveurs sur site. Vous pouvez utiliser l'assistant du fichier de configuration de l' CloudWatch agent pour vous aider à créer le fichier de configuration. Vous pouvez exécuter l'assistant de configuration plusieurs fois afin de générer des configurations uniques pour différents systèmes et environnements. Vous pouvez également modifier le fichier de configuration ou créer des variantes à l'aide du schéma du fichier de configuration. Le fichier de configuration de l' CloudWatch agent peut être stocké dans les paramètres d'AWS Systems Manager Parameter Store.  Vous pouvez créer des paramètres de magasin de paramètres distincts si vous disposez de plusieurs fichiers de configuration d' CloudWatch agent. Si vous utilisez plusieurs comptes AWS ou régions AWS, vous devez gérer et mettre à jour les paramètres du magasin de paramètres dans chaque compte et région. Vous pouvez également gérer vos CloudWatch configurations de manière centralisée sous forme de fichiers dans Amazon S3 ou dans un outil de contrôle de version de votre choix. 

Le amazon-cloudwatch-agent-ctl script inclus dans l' CloudWatchagent vous permet de spécifier un fichier de configuration, un paramètre Parameter Store ou la configuration par défaut de l'agent. La configuration par défaut s'aligne sur l'ensemble de mesures de base prédéfini et configure l'agent pour qu'il communique les métriques de mémoire et d'espace disque à. CloudWatch Cependant, il n'inclut aucune configuration de fichier journal. La configuration par défaut est également appliquée si vous utilisez la configuration rapide de Systems Manager pour l' CloudWatch agent.

Étant donné que la configuration par défaut n'inclut pas la journalisation et n'est pas personnalisée en fonction de vos besoins, nous vous recommandons de créer et d'appliquer vos propres CloudWatch configurations, personnalisées en fonction de vos besoins.

Gestion des CloudWatch configurations

Par défaut, les CloudWatch configurations peuvent être stockées et appliquées sous forme de paramètres de magasin de paramètres ou de fichiers CloudWatch de configuration.  Le meilleur choix dépendra de vos besoins.  Dans cette section, nous discutons des avantages et des inconvénients de ces deux options.  Une solution représentative est également détaillée pour gérer les fichiers CloudWatch de configuration pour plusieurs comptes AWS et régions AWS.

Paramètres du magasin de paramètres de Systems Manager

L'utilisation des paramètres du magasin de paramètres pour gérer les CloudWatch configurations fonctionne bien si vous avez un seul fichier de configuration d' CloudWatch agent standard que vous souhaitez appliquer et gérer dans un petit ensemble de comptes et de régions AWS. Lorsque vous stockez vos CloudWatch configurations sous forme de paramètres de magasin de paramètres, vous pouvez utiliser l'outil de configuration de l' CloudWatch agent (sous Linux) pour lire et appliquer la configuration depuis le magasin de paramètres sans avoir à copier le fichier de configuration amazon-cloudwatch-agent-ctl sur votre instance. Vous pouvez utiliser le document de commande AmazonCloudWatch- ManageAgent Systems Manager pour mettre à jour la CloudWatch configuration sur plusieurs instances EC2 en une seule fois. Les paramètres du magasin de paramètres étant régionaux, vous devez mettre à jour et gérer les CloudWatch paramètres du magasin de paramètres dans chaque région AWS et chaque compte AWS. Si vous souhaitez appliquer plusieurs CloudWatch configurations à chaque instance, vous devez personnaliser le document AmazonCloudWatch- ManageAgent Command pour inclure ces paramètres.

CloudWatch fichiers de configuration

La gestion de vos CloudWatch configurations sous forme de fichiers peut fonctionner correctement si vous possédez de nombreux comptes et régions AWS et si vous gérez plusieurs fichiers CloudWatch de configuration. Grâce à cette approche, vous pouvez les parcourir, les organiser et les gérer dans une structure de dossiers.  Vous pouvez appliquer des règles de sécurité à des dossiers ou à des fichiers individuels afin de limiter et d'accorder l'accès, par exemple des autorisations de mise à jour et de lecture. Vous pouvez les partager et les transférer en dehors d'AWS à des fins de collaboration.  Vous pouvez contrôler les versions des fichiers pour suivre et gérer les modifications.  Vous pouvez appliquer des CloudWatch configurations collectivement en copiant les fichiers de configuration dans le répertoire de configuration de l' CloudWatch agent sans appliquer chaque fichier de configuration individuellement. Pour Linux, le répertoire CloudWatch de configuration se trouve à l'adresse/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.d. Pour Windows, le répertoire de configuration se trouve à l'adresseC:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs.

Lorsque vous démarrez l' CloudWatch agent, celui-ci ajoute automatiquement chaque fichier présent dans ces répertoires pour créer un fichier de configuration CloudWatch composite. Les fichiers de configuration doivent être stockés dans un emplacement central (par exemple, un compartiment S3) auquel les comptes et régions requis peuvent accéder.  Un exemple de solution utilisant cette approche est fourni.

Organisation des CloudWatch configurations

Quelle que soit l'approche utilisée pour gérer vos CloudWatch configurations, CloudWatch organisez-les. Vous pouvez organiser vos configurations en chemins de fichier ou de magasin de paramètres en utilisant une approche telle que la suivante.

/config/standard/windows/ec2

Stockez les fichiers de CloudWatch configuration standard spécifiques à Windows pour Amazon EC2. Vous pouvez également classer les configurations standard de votre système d'exploitation (OS) pour différentes versions de Windows, différents types d'instances EC2 et différents environnements dans ce dossier.

/config/standard/windows/onpremises

Stockez des fichiers de CloudWatch configuration standard spécifiques à Windows pour les serveurs locaux. Vous pouvez également classer plus en détail vos configurations de système d'exploitation standard pour les différentes versions de Windows, les différents types de serveurs et les différents environnements dans ce dossier.

/config/standard/linux/ec2

Stockez vos fichiers de CloudWatch configuration standard spécifiques à Linux pour Amazon EC2. Vous pouvez également classer votre configuration de système d'exploitation standard pour différentes distributions Linux, types d'instances EC2 et environnements dans ce dossier.

/config/standard/linux/onpremises

Stockez vos fichiers de CloudWatch configuration standard spécifiques à Linux pour les serveurs locaux. Vous pouvez également classer votre configuration de système d'exploitation standard pour différentes distributions Linux, types de serveurs et environnements dans ce dossier.

/config/ecs

Stockez les fichiers de CloudWatch configuration spécifiques à Amazon Elastic Container Service (Amazon ECS) si vous utilisez des instances de conteneur Amazon ECS. Ces configurations peuvent être ajoutées aux configurations standard d'Amazon EC2 pour la journalisation et la surveillance au niveau des systèmes spécifiques à Amazon ECS.

/configuration/ <application_name>

Stockez les fichiers de CloudWatch configuration spécifiques à votre application. Vous pouvez mieux classer vos applications à l'aide de dossiers et de préfixes supplémentaires pour les environnements et les versions.

Exemple : stockage des fichiers CloudWatch de configuration dans un compartiment S3

Cette section fournit un exemple d'utilisation d'Amazon S3 pour stocker les fichiers de CloudWatch configuration et un runbook personnalisé de Systems Manager pour récupérer et appliquer les fichiers CloudWatch de configuration. Cette approche permet de relever certains des défis liés à l'utilisation des paramètres du magasin de paramètres de Systems Manager pour une CloudWatch configuration à grande échelle :

  • Si vous utilisez plusieurs régions, vous devez synchroniser les mises à jour CloudWatch de configuration dans le magasin de paramètres de chaque région. Parameter Store est un service régional et le même paramètre doit être mis à jour dans chaque région qui utilise l' CloudWatch agent.

  • Si vous avez plusieurs CloudWatch configurations, vous devez lancer la récupération et l'application de chaque configuration du magasin de paramètres. Vous devez récupérer chaque CloudWatch configuration individuellement dans le magasin de paramètres et également mettre à jour la méthode de récupération chaque fois que vous ajoutez une nouvelle configuration. En revanche, CloudWatch fournit un répertoire de configuration pour stocker les fichiers de configuration et applique chaque configuration du répertoire, sans qu'il soit nécessaire de les spécifier individuellement.

  • Si vous utilisez plusieurs comptes, vous devez vous assurer que chaque nouveau compte possède les CloudWatch configurations requises dans son magasin de paramètres. Vous devez également vous assurer que toute modification de configuration sera appliquée à ces comptes et à leurs régions à l'avenir.

Vous pouvez stocker CloudWatch les configurations dans un compartiment S3 accessible depuis tous vos comptes et régions. Vous pouvez ensuite copier ces configurations depuis le compartiment S3 vers le répertoire de CloudWatch configuration à l'aide des runbooks Systems Manager Automation et de Systems Manager State Manager. Vous pouvez utiliser le modèle CloudFormation AWS cloudwatch-config-s3-bucket.yaml pour créer un compartiment S3 accessible depuis plusieurs comptes au sein d'une organisation dans AWS Organizations. Le modèle inclut un OrganizationID paramètre qui accorde un accès en lecture à tous les comptes de votre organisation.

L'exemple augmenté du runbook Systems Manager, fourni dans la section Set up State Manager and Distributor pour le déploiement et la configuration des CloudWatch agents de ce guide, est configuré pour récupérer des fichiers à l'aide du compartiment S3 créé par le modèle AWS cloudwatch-config-s3-bucket.yaml. CloudFormation

Vous pouvez également utiliser un système de contrôle de version (par exemple, GitHub ou AWS CodeCommit) pour stocker vos fichiers de configuration. Si vous souhaitez récupérer automatiquement les fichiers de configuration stockés dans un système de contrôle de version, vous devez gérer ou centraliser le stockage des informations d'identification et mettre à jour le runbook Systems Manager Automation utilisé pour récupérer les informations d'identification entre vos comptes et régions.