

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.

# Installez l'agent SSM et l' CloudWatch agent sur les nœuds de travail Amazon EKS à l'aide de preBootstrapCommands
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands"></a>

*Akkamahadevi Hiremath, Amazon Web Services*

## Résumé
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-summary"></a>

Ce modèle fournit des exemples de code et des étapes pour installer l'agent AWS Systems Manager (agent SSM) et l' CloudWatch agent Amazon sur les nœuds de travail Amazon Elastic Kubernetes Service (Amazon EKS) dans le cloud Amazon Web Services (AWS) lors de la création du cluster Amazon EKS. Vous pouvez installer l'agent SSM et l' CloudWatch agent en utilisant la `preBootstrapCommands` propriété du [schéma du fichier de `eksctl` configuration (documentation](https://eksctl.io/usage/schema/) Weaveworks). Vous pouvez ensuite utiliser l'agent SSM pour vous connecter à vos nœuds de travail sans utiliser de paire de clés Amazon Elastic Compute Cloud (Amazon EC2). En outre, vous pouvez utiliser l' CloudWatch agent pour surveiller l'utilisation de la mémoire et du disque sur vos nœuds de travail Amazon EKS.

## Conditions préalables et limitations
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ L'[utilitaire de ligne de commande eksctl](https://docs.aws.amazon.com/eks/latest/userguide/eksctl.html), installé et configuré sur macOS, Linux ou Windows
+ L'[utilitaire de ligne de commande kubectl](https://docs.aws.amazon.com/eks/latest/userguide/install-kubectl.html), installé et configuré sur macOS, Linux ou Windows

**Limites**
+ Nous vous recommandons d'éviter d'ajouter des scripts de longue durée à la `preBootstrapCommands`**** propriété, car cela retarde l'adhésion du nœud au cluster Amazon EKS pendant les activités de dimensionnement. Nous vous recommandons plutôt de créer une [Amazon Machine Image (AMI) personnalisée](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.customenv.html).
+ Ce modèle s'applique uniquement aux instances Amazon EC2 Linux.

## Architecture
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-architecture"></a>

**Pile technologique**
+ Amazon CloudWatch
+ Amazon Elastic Kubernetes Service (Amazon EKS)
+ AWS Systems Manager Parameter Store

**Architecture cible**

Le schéma suivant montre un exemple d'utilisateur se connectant aux nœuds de travail Amazon EKS à l'aide de l'agent SSM installé à l'aide du`preBootstrapCommands`.

![\[User connecting to Amazon EKS worker nodes via Systems Manager, with SSM Agent and CloudWatch agent on each node.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/b37a3cdb-204f-4014-8317-3600a793dac7/images/9a5760af-23bb-4616-97b0-b401a9d080cf.png)


Le schéma suivant illustre le flux de travail suivant :

1. L'utilisateur crée un cluster Amazon EKS en utilisant le fichier `eksctl` de configuration avec la `preBootstrapCommands` propriété, qui installe l'agent SSM et CloudWatch l'agent.

1. Toute nouvelle instance qui rejoint le cluster ultérieurement en raison d'activités de dimensionnement est créée avec l'agent SSM et CloudWatch l'agent préinstallés.

1. L'utilisateur se connecte à Amazon à l'aide EC2 de l'agent SSM, puis surveille l'utilisation de la mémoire et du disque à l'aide de l' CloudWatch agent.

## Outils
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-tools"></a>
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) vous CloudWatch aide à surveiller les indicateurs de vos ressources AWS et des applications que vous exécutez sur AWS en temps réel.
+ [Amazon Elastic Kubernetes Service (Amazon](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) EKS) vous aide à exécuter Kubernetes sur AWS sans avoir à installer ou à gérer votre propre plan de contrôle ou vos propres nœuds Kubernetes.
+ [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) fournit un stockage hiérarchique sécurisé pour la gestion des données de configuration et la gestion des secrets.
+ [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) vous aide à gérer vos EC2 instances, vos instances sur site et vos machines virtuelles via un shell interactif basé sur un navigateur en un clic ou via l'interface de ligne de commande AWS (AWS CLI).
+ [eksctl](https://eksctl.io/usage/schema/) est un utilitaire de ligne de commande permettant de créer et de gérer des clusters Kubernetes sur Amazon EKS.
+ [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) est un utilitaire de ligne de commande permettant de communiquer avec le serveur API du cluster.

## Épopées
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-epics"></a>

### Création d’un cluster Amazon EKS
<a name="create-an-amazon-eks-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Stockez le fichier de configuration de l' CloudWatch agent. | Stockez le fichier de configuration de l' CloudWatch agent dans le [AWS Systems Manager Parameter Store](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) de la région AWS dans laquelle vous souhaitez créer votre cluster Amazon EKS. Pour ce faire, [créez un paramètre](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) dans AWS Systems Manager Parameter Store et notez le nom du paramètre (par exemple,`AmazonCloudwatch-linux`).Pour plus d'informations, consultez l'*exemple de code de fichier de configuration de l' CloudWatch agent* dans la section [Informations supplémentaires](#install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-additional) de ce modèle. | DevOps ingénieur | 
| Créez le fichier de configuration et le cluster eksctl.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands.html) | AWS DevOps | 

### Vérifiez que l'agent SSM et l' CloudWatch agent fonctionnent
<a name="verify-that-the-ssm-agent-and-cloudwatch-agent-work"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Testez l'agent SSM. | Utilisez SSH pour vous connecter à vos nœuds de cluster Amazon EKS en utilisant l'une des méthodes décrites dans la [section Démarrer une session](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#start-ec2-console%20%20or%20https:%2F%2Fdocs.aws.amazon.com%2Fsystems-manager%2Flatest%2Fuserguide%2Fsession-manager-working-with-sessions-start.html%23sessions-start-cli) dans la documentation AWS Systems Manager. | AWS DevOps | 
| Testez l' CloudWatch agent. | Utilisez la CloudWatch console pour valider l' CloudWatch agent :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands.html) | AWS DevOps | 

## Ressources connexes
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-resources"></a>
+ [Installation et exécution de l' CloudWatch agent sur vos serveurs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html) ( CloudWatch documentation Amazon)
+ [Création d'un paramètre Systems Manager (console)](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-create-console.html) (documentation AWS Systems Manager)
+ [Création du fichier de configuration de l' CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file.html) ( CloudWatch documentation Amazon)
+ [Démarrage d'une session (AWS CLI)](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#sessions-start-cli) (documentation AWS Systems Manager)
+ [Démarrage d'une session ( EC2 console Amazon)](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html#start-ec2-console) (documentation AWS Systems Manager)

## Informations supplémentaires
<a name="install-the-ssm-agent-and-cloudwatch-agent-on-amazon-eks-worker-nodes-using-prebootstrapcommands-additional"></a>

**Exemple de fichier CloudWatch de configuration de l'agent**

Dans l'exemple suivant, l' CloudWatch agent est configuré pour surveiller l'utilisation du disque et de la mémoire sur les instances Amazon Linux :

```
{
    "agent": {
        "metrics_collection_interval": 60,
        "run_as_user": "cwagent"
    },
    "metrics": {
        "append_dimensions": {
            "AutoScalingGroupName": "${aws:AutoScalingGroupName}",
            "ImageId": "${aws:ImageId}",
            "InstanceId": "${aws:InstanceId}",
            "InstanceType": "${aws:InstanceType}"
        },
        "metrics_collected": {
            "disk": {
                "measurement": [
                    "used_percent"
                ],
                "metrics_collection_interval": 60,
                "resources": [
                    "*"
                ]
            },
            "mem": {
                "measurement": [
                    "mem_used_percent"
                ],
                "metrics_collection_interval": 60
            }
        }
    }
}
```

**Exemple de fichier de configuration eksctl**

```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: test
  region: us-east-2
  version: "1.24"
managedNodeGroups:
  - name: test
    minSize: 2
    maxSize: 4
    desiredCapacity: 2
    volumeSize: 20
    instanceType: t3.medium
    preBootstrapCommands:
    - sudo yum install amazon-ssm-agent -y
    - sudo systemctl enable amazon-ssm-agent
    - sudo systemctl start amazon-ssm-agent
    - sudo yum install amazon-cloudwatch-agent -y
    - sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c ssm:AmazonCloudwatch-linux
    iam:
      attachPolicyARNs:
        - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
        - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
        - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
        - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
        - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
```

**Informations supplémentaires sur le code**
+ Dans la dernière ligne de la `preBootstrapCommands` propriété `AmazonCloudwatch-linux` se trouve le nom du paramètre créé dans le magasin de paramètres AWS System Manager. Vous devez l'inclure `AmazonCloudwatch-linux` dans Parameter Store dans la même région AWS où vous avez créé le cluster Amazon EKS. Vous pouvez également spécifier un chemin de fichier, mais nous vous recommandons d'utiliser Systems Manager pour faciliter l'automatisation et la réutilisation.
+ Si vous les utilisez `preBootstrapCommands` dans le fichier `eksctl` de configuration, deux modèles de lancement s'affichent dans l'AWS Management Console. Le premier modèle de lancement inclut les commandes spécifiées dans`preBootstrapCommands`. Le second modèle inclut les commandes spécifiées dans les données utilisateur Amazon EKS par défaut `preBootstrapCommands` et les contient. Ces données sont nécessaires pour que les nœuds rejoignent le cluster. Le groupe Auto Scaling du groupe de nœuds utilise ces données utilisateur pour créer de nouvelles instances.
+ Si vous utilisez l'`iam`attribut dans le fichier de `eksctl` configuration, vous devez répertorier les politiques Amazon EKS par défaut ainsi que toutes les politiques supplémentaires requises dans les politiques AWS Identity and Access Management (IAM) jointes. Dans l'extrait de code issu de l'étape *Créer le fichier de configuration et le cluster eksctl*, `CloudWatchAgentServerPolicy` des politiques supplémentaires `AmazonSSMMangedInstanceCore` sont ajoutées pour garantir que l' CloudWatch agent et l'agent SSM fonctionnent comme prévu. Les `AmazonEC2ContainerRegistryReadOnly` politiques `AmazonEKSWorkerNodePolicy``AmazonEKS_CNI_Policy`, sont des politiques obligatoires requises pour que le cluster Amazon EKS fonctionne correctement.