

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.

# Déployez Enhanced Container Insights (Classic) avec CloudFormation ou Helm
<a name="container-insights-eks-classic-iac"></a>

Vous pouvez déployer Enhanced Container Insights (Classic) sous forme d'infrastructure sous forme de code à l'aide de CloudFormation modèles ou de diagrammes Helm. Cette approche installe le `amazon-cloudwatch-observability` module complémentaire avec une version antérieure à la version 6.2.0 pour activer le pipeline métrique classique. Choisissez cette approche si vous gérez des clusters via des pipelines IaC et souhaitez des déploiements reproductibles et contrôlés par version.

**Recommendation**  
Pour les nouveaux déploiements, nous recommandons [OTel Container Insights (recommandé)](container-insights-eks-otel.md) d'utiliser la version complémentaire 6.2.0 ou ultérieure avec le OTel-based pipeline.

## Conditions préalables
<a name="container-insights-eks-classic-iac-prereqs"></a>

Avant de déployer Enhanced Container Insights (Classic) avec CloudFormation ou Helm, vérifiez que vous répondez aux exigences suivantes.
+ Un cluster Amazon EKS existant exécutant Kubernetes version 1.25 ou ultérieure
+ AWS CLI version 2.12.0 ou ultérieure
+ `kubectl`configuré pour communiquer avec votre cluster cible
+ Autorisations IAM pour la création de CloudFormation piles (pour la CloudFormation méthode)
+ Helm v3.8 ou version ultérieure (pour la méthode Helm)
+ Accès Internet sortant du cluster vers les points de terminaison CloudWatch 

## Déployez avec CloudFormation
<a name="container-insights-eks-classic-iac-cloudformation"></a>

Utilisez un CloudFormation modèle pour déployer le module complémentaire CloudWatch Observability avec la configuration classique. Ce modèle utilise la `AWS::EKS::Addon` ressource pour installer le module complémentaire avec une version antérieure à la version 6.2.0.

### CloudFormation modèle
<a name="container-insights-eks-classic-iac-cfn-template"></a>

Le modèle suivant crée les ressources dont vous avez besoin pour activer Enhanced Container Insights (Classic) sur votre cluster Amazon EKS.

```
AWSTemplateFormatVersion: '2010-09-09'
Description: Deploy Enhanced Container Insights (Classic) on an EKS cluster

Parameters:
  ClusterName:
    Type: String
    Description: The name of your EKS cluster

Resources:
  CloudWatchAgentRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: EKS-CloudWatch-Agent-Role
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: pods.eks.amazonaws.com
            Action:
              - sts:AssumeRole
              - sts:TagSession
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

  PodIdentityAssociation:
    Type: AWS::EKS::PodIdentityAssociation
    Properties:
      ClusterName: !Ref ClusterName
      Namespace: amazon-cloudwatch
      ServiceAccount: cloudwatch-agent
      RoleArn: !GetAtt CloudWatchAgentRole.Arn

  CloudWatchObservabilityAddon:
    Type: AWS::EKS::Addon
    DependsOn: PodIdentityAssociation
    Properties:
      ClusterName: !Ref ClusterName
      AddonName: amazon-cloudwatch-observability
      AddonVersion: v5.4.0-eksbuild.1
      ServiceAccountRoleArn: !GetAtt CloudWatchAgentRole.Arn
      ResolveConflicts: OVERWRITE
```

Ce modèle crée les ressources suivantes :
+ Un rôle IAM auquel est attachée la politique `CloudWatchAgentServerPolicy` gérée
+ Une association EKS Pod Identity qui associe le rôle au compte de service de l' CloudWatch agent
+ Le module complémentaire `amazon-cloudwatch-observability` EKS avec une version classique (antérieure à la version 6.2.0)

### Pour déployer le CloudFormation pile
<a name="container-insights-eks-classic-iac-cfn-deploy"></a>

Utilisez le AWS CLI pour créer la CloudFormation pile à partir du modèle.

**Pour déployer la pile**

1. Enregistrez le modèle précédent dans un fichier nommé`classic-container-insights.yaml`.

1. Exécutez la commande suivante. {{cluster-name}}Remplacez-le par le nom de votre cluster Amazon EKS.

   ```
   aws cloudformation create-stack \
     --stack-name classic-container-insights \
     --template-body file://classic-container-insights.yaml \
     --parameters ParameterKey=ClusterName,ParameterValue={{cluster-name}} \
     --capabilities CAPABILITY_NAMED_IAM
   ```

1. Attendez que la création de la pile soit terminée.

   ```
   aws cloudformation wait stack-create-complete \
     --stack-name classic-container-insights
   ```

1. Vérifiez que l'état de la pile est`CREATE_COMPLETE`.

   ```
   aws cloudformation describe-stacks \
     --stack-name classic-container-insights \
     --query "Stacks[0].StackStatus" \
     --output text
   ```

## Déployez avec Helm
<a name="container-insights-eks-classic-iac-helm"></a>

Utilisez le graphique Helm pour déployer Enhanced Container Insights (Classic) si vous gérez les charges de travail Kubernetes avec Helm. Le graphique installe l'opérateur CloudWatch Observability avec le pipeline métrique classique.

**Note**  
Lorsque vous utilisez Helm, vous devez créer le rôle IAM et l'association Pod Identity séparément. Le graphique Helm installe uniquement les ressources Kubernetes.

### Étape 1 : création du rôle IAM
<a name="container-insights-eks-classic-iac-helm-iam"></a>

Créez un rôle IAM pour l' CloudWatch agent avant d'installer le graphique Helm.

**Pour créer le rôle IAM et l'association Pod Identity**

1. Exécutez la commande suivante pour créer le rôle avec une politique de confiance pour EKS Pod Identity.

   ```
   aws iam create-role \
     --role-name EKS-CloudWatch-Agent-Role \
     --assume-role-policy-document '{
       "Version": "2012-10-17",
       "Statement": [{
         "Effect": "Allow",
         "Principal": { "Service": "pods.eks.amazonaws.com" },
         "Action": ["sts:AssumeRole", "sts:TagSession"]
       }]
     }'
   ```

1. Attachez la stratégie gérée par `CloudWatchAgentServerPolicy` au rôle.

   ```
   aws iam attach-role-policy \
     --role-name EKS-CloudWatch-Agent-Role \
     --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
   ```

1. Créez l'association Pod Identity. {{cluster-name}}Remplacez-le par le nom de votre cluster Amazon EKS et {{account-id}} par votre identifiant de AWS compte.

   ```
   aws eks create-pod-identity-association \
     --cluster-name {{cluster-name}} \
     --namespace amazon-cloudwatch \
     --service-account cloudwatch-agent \
     --role-arn arn:aws:iam::{{account-id}}:role/EKS-CloudWatch-Agent-Role
   ```

### Étape 2 : Installation du diagramme Helm
<a name="container-insights-eks-classic-iac-helm-install"></a>

Installez le graphique CloudWatch Observability Helm avec une version classique (antérieure à la version 6.2.0).

**Pour installer le graphique Helm**

1. Exécutez la commande suivante. {{cluster-name}}Remplacez-le par le nom de votre cluster Amazon EKS et {{region}} par votre AWS région.

   ```
   helm install amazon-cloudwatch-observability \
     oci://public.ecr.aws/cloudwatch-agent/amazon-cloudwatch-observability-helm-chart \
     --namespace amazon-cloudwatch \
     --create-namespace \
     --set clusterName={{cluster-name}} \
     --set region={{region}} \
     --version 5.4.0
   ```

1. Vérifiez que la version Helm a été déployée avec succès.

   ```
   helm list -n amazon-cloudwatch
   ```

   Le statut doit apparaître`deployed`.

## Vérification du déploiement
<a name="container-insights-eks-classic-iac-verify"></a>

Une fois la création de la CloudFormation pile ou l'installation de Helm terminée, vérifiez que le module complémentaire est en cours d'exécution et qu'il envoie des données à CloudWatch.

**Pour vérifier le déploiement**

1. Vérifiez que les modules d' CloudWatch agent sont en cours d'exécution.

   ```
   kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent
   ```

   Tous les pods doivent indiquer `Running` leur statut.

1. Ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Dans le panneau de navigation, choisissez **Metrics** (Métriques), puis choisissez **All metrics** (Toutes les métriques).

1. Vérifiez que les métriques apparaissent dans l'espace de `ContainerInsights` noms de votre cluster.

Les métriques apparaissent généralement CloudWatch dans les 3 à 5 minutes suivant la fin du déploiement.

## Étapes suivantes
<a name="container-insights-eks-classic-iac-next"></a>

Après avoir déployé Enhanced Container Insights (Classic), vous pouvez explorer les rubriques suivantes.
+ Pour une configuration basée sur la console, voir[Activez Enhanced Container Insights (Classic) depuis la console](container-insights-eks-classic-console.md).
+ Pour AWS CLI une configuration basée, voir[Guide de configuration (AWS CLI)](container-insights-eks-classic-setup.md).
+ Pour plus d'informations sur les métriques collectées par Enhanced Container Insights (Classic), consultez[Référence métrique Enhanced Container Insights (Classic)](container-insights-eks-classic-metrics.md).
+ Pour migrer vers OTel Container Insights, voir[Migrez d'Enhanced Container Insights (Classic) vers OTel Container Insights](container-insights-eks-migrate-from-classic.md).
+ Pour plus d'informations sur OTel Container Insights, consultez[OTel Container Insights (recommandé)](container-insights-eks-otel.md).