

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Implementa Enhanced Container Insights (Classic) con CloudFormation o Helm
<a name="container-insights-eks-classic-iac"></a>

Puoi implementare Enhanced Container Insights (Classic) come infrastruttura sotto forma di codice utilizzando CloudFormation modelli o grafici Helm. Questo approccio installa il `amazon-cloudwatch-observability` componente aggiuntivo con una versione precedente alla v6.2.0 per abilitare la pipeline metrica Classic. Scegli questo approccio se gestisci i cluster tramite pipeline IaC e desideri implementazioni ripetibili e controllate dalla versione.

**Raccomandazione**  
Per le nuove distribuzioni, consigliamo di utilizzare la versione aggiuntiva 6.2.0 o successiva con [Otel Container Insights (consigliato)](container-insights-eks-otel.md) la pipeline. OTel-based 

## Prerequisiti
<a name="container-insights-eks-classic-iac-prereqs"></a>

Prima di distribuire Enhanced Container Insights (Classic) con CloudFormation o Helm, verifica di soddisfare i seguenti requisiti.
+ Un cluster Amazon EKS esistente che esegue Kubernetes versione 1.25 o successiva
+ AWS CLI versione 2.12.0 o successiva
+ `kubectl`configurato per comunicare con il cluster di destinazione
+ Autorizzazioni IAM per la creazione di CloudFormation stack (per il CloudFormation metodo)
+ Helm v3.8 o versione successiva (per il metodo Helm)
+ Accesso a Internet in uscita dal cluster agli endpoint CloudWatch 

## Implementa con CloudFormation
<a name="container-insights-eks-classic-iac-cloudformation"></a>

Utilizza un CloudFormation modello per distribuire il componente aggiuntivo CloudWatch Observability con la configurazione Classic. Questo modello utilizza la `AWS::EKS::Addon` risorsa per installare il componente aggiuntivo con una versione precedente alla v6.2.0.

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

Il seguente modello crea le risorse necessarie per abilitare Enhanced Container Insights (Classic) sul tuo 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
```

Questo modello crea le seguenti risorse:
+ Un ruolo IAM con la policy `CloudWatchAgentServerPolicy` gestita allegata
+ Un'associazione EKS Pod Identity che associa il ruolo all'account del servizio dell' CloudWatch agente
+ Il componente aggiuntivo `amazon-cloudwatch-observability` EKS con una versione classica (precedente alla v6.2.0)

### Per distribuire il CloudFormation stack
<a name="container-insights-eks-classic-iac-cfn-deploy"></a>

Utilizzate il AWS CLI per creare lo CloudFormation stack a partire dal modello.

**Per distribuire lo stack**

1. Salvate il modello precedente in un file denominato. `classic-container-insights.yaml`

1. Eseguire il seguente comando seguente. Sostituisci {{cluster-name}} con il nome del tuo 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. Attendi il completamento della creazione dello stack.

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

1. Verifica che lo stato dello stack sia. `CREATE_COMPLETE`

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

## Distribuisci con Helm
<a name="container-insights-eks-classic-iac-helm"></a>

Usa il grafico Helm per distribuire Enhanced Container Insights (Classic) se gestisci i carichi di lavoro Kubernetes con Helm. Il grafico installa l'operatore Observability con la pipeline metrica Classic CloudWatch .

**Nota**  
Quando si utilizza Helm, è necessario creare separatamente il ruolo IAM e l'associazione Pod Identity. Il grafico Helm installa solo le risorse Kubernetes.

### Fase 1: creazione di un ruolo IAM per
<a name="container-insights-eks-classic-iac-helm-iam"></a>

Crea un ruolo IAM per l' CloudWatch agente prima di installare il grafico Helm.

**Per creare il ruolo IAM e l'associazione Pod Identity**

1. Esegui il comando seguente per creare il ruolo con una politica di fiducia per 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. Collegare la policy gestita `CloudWatchAgentServerPolicy` al ruolo.

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

1. Crea l'associazione Pod Identity. Sostituiscilo {{cluster-name}} con il nome del tuo cluster Amazon EKS e {{account-id}} con l'ID AWS del tuo account.

   ```
   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
   ```

### Passaggio 2: installa il diagramma Helm
<a name="container-insights-eks-classic-iac-helm-install"></a>

Installa il grafico CloudWatch Observability Helm con una versione classica (precedente alla v6.2.0).

**Per installare il grafico Helm**

1. Eseguire il seguente comando seguente. Sostituisci {{cluster-name}} con il nome del tuo cluster Amazon EKS e {{region}} con la tua AWS regione.

   ```
   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. Verifica che la versione Helm sia stata distribuita correttamente.

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

   Lo stato deve essere visualizzato. `deployed`

## Verifica della distribuzione
<a name="container-insights-eks-classic-iac-verify"></a>

Una volta completata la creazione CloudFormation dello stack o l'installazione di Helm, verifica che il componente aggiuntivo sia in esecuzione e che stia inviando dati a. CloudWatch

**Per verificare la distribuzione**

1. Conferma che i pod CloudWatch dell'agente siano in funzione.

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

   Tutti i pod devono mostrare lo `Running` stato.

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione, scegli **Parametri** quindi scegli **Tutti i parametri**.

1. Verifica che le metriche vengano visualizzate nello spazio dei `ContainerInsights` nomi del cluster.

Le metriche vengono in genere visualizzate CloudWatch entro 3-5 minuti dal completamento della distribuzione.

## Fasi successive
<a name="container-insights-eks-classic-iac-next"></a>

Dopo aver distribuito Enhanced Container Insights (Classic), puoi esplorare i seguenti argomenti.
+ Per la configurazione basata su console, consulta. [Abilita Enhanced Container Insights (Classic) dalla console](container-insights-eks-classic-console.md)
+ Per la configurazione AWS CLI basata su base, vedere. [Guida all'installazione (AWS CLI)](container-insights-eks-classic-setup.md)
+ Per informazioni sulle metriche raccolte da Enhanced Container Insights (Classic), consulta. [Riferimento metrico Enhanced Container Insights (Classic)](container-insights-eks-classic-metrics.md)
+ Per migrare a OTel Container Insights, consulta. [Migrazione da Enhanced Container Insights (Classic) a OTel Container Insights](container-insights-eks-migrate-from-classic.md)
+ Per ulteriori informazioni su OTel Container Insights, consulta[Otel Container Insights (consigliato)](container-insights-eks-otel.md).