

# Migración de Información de contenedores mejorada (versión clásica) a Información de contenedores de OTel
<a name="container-insights-eks-migrate-from-classic"></a>

Tanto Información de contenedores mejorada (versión clásica) como Información de contenedores de OTel utilizan el mismo complemento `amazon-cloudwatch-observability` de Amazon EKS. La migración es una actualización interna de la versión del complemento que puede completar en 15 a 30 minutos.

**aviso**  
Las alarmas de CloudWatch configuradas con nombres de métricas clásicas no funcionan automáticamente con las métricas de OTel. Debe volver a crear las alarmas mediante reglas de alarma basadas en PromQL.

## Requisitos previos
<a name="container-insights-eks-migrate-from-classic-prereqs"></a>

Antes de comenzar la migración, compruebe que cumple con los siguientes requisitos.
+ Un clúster de Amazon EKS que ejecuta la versión 1.28 de Kubernetes o una posterior
+ El complemento `amazon-cloudwatch-observability` está instalado y tiene el estado `ACTIVE`
+ AWS CLI versión 2.15.0 o posterior
+ `kubectl` configurado para comunicarse con el clúster de destino
+ Un rol de IAM con la política administrada `CloudWatchAgentServerPolicy` adjunta

## Cambios bruscos
<a name="container-insights-eks-migrate-from-classic-breaking"></a>

Revise los siguientes cambios importantes antes de comenzar la migración.

### Características eliminadas
<a name="container-insights-eks-migrate-from-classic-removed"></a>

Las siguientes características no están disponibles en Información de contenedores de OTel:
+ **Métricas personalizadas de StatsD**: en su lugar, utilice el receptor StatsD de OTel.
+ **Complemento collectd**: migre a la instrumentación nativa de OTel.

### Se modificaron los valores predeterminados
<a name="container-insights-eks-migrate-from-classic-defaults"></a>

En la siguiente tabla se muestran los valores predeterminados que cambian entre la versión clásica e Información de contenedores de OTel.


| Opción | Valor predeterminado de la versión clásica | Valor predeterminado de los componentes de inferencia de OTel | 
| --- | --- | --- | 
| Intervalo de recopilación | 60 segundos | 60 segundos | 
| Observabilidad mejorada | Habilitado | Habilitado | 
| Solicitud de CPU del agente | 200m | 100 m | 
| Solicitud de memoria del agente | 200 Mi | 128 Mi | 

## Pasos para realizar la migración
<a name="container-insights-eks-migrate-from-classic-steps"></a>

Esta migración utiliza un enfoque gradual para minimizar las brechas de supervisión. Debe ejecutar los flujos de métricas de la versión clásica y de OTel en paralelo, validar los datos y, a continuación, desactivar el flujo de la versión clásica.

### Fase 1: confirmación del estado actual (solo en versión clásica)
<a name="container-insights-eks-migrate-from-classic-phase1"></a>

Antes de realizar cambios, confirme el estado actual del complemento y grabe la versión para revertirla.

**Confirmación de la configuración actual del complemento**

1. Ejecute el siguiente comando para comprobar el estado actual del complemento.

   ```
   aws eks describe-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability
   ```

1. Compruebe que el campo `status` sea `ACTIVE`.

1. Registre el valor de `addonVersion`. Necesita este valor si debe revertirlo.

### Fase 2: activación de la publicación dual (versión clásica \+ OTel)
<a name="container-insights-eks-migrate-from-classic-phase2"></a>

Active Información de contenedores de OTel junto con Información de contenedores mejorada (versión clásica). Esto publica ambos flujos de métricas simultáneamente para que pueda validar la equivalencia de los datos.

**importante**  
Ambos flujos de métricas incurren en cargos durante esta fase. Recomendamos mantener la ventana de publicación dual lo más corta posible para minimizar los costos.

**Activación de la publicación dual**

1. Ejecute el siguiente comando para actualizar el complemento con los dos flujos activados.

   ```
   aws eks update-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --addon-version {{latest-version}} \
     --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}' \
     --resolve-conflicts OVERWRITE
   ```

1. Espere a que el estado del complemento vuelva a ser `ACTIVE`.

   ```
   aws eks describe-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --query "addon.status"
   ```

1. Compruebe que las métricas de OTel aparecen en CloudWatch consultando una métrica conocida con PromQL.

### Fase 3: nueva creación de las alarmas y actualización de los paneles
<a name="container-insights-eks-migrate-from-classic-phase3"></a>

Cree reemplazos de OTel para sus alarmas y paneles actuales de la versión clásica. Mantenga las alarmas de la versión clásica activas como red de seguridad durante esta fase.

**Nueva creación de las alarmas para las métricas de OTel**

1. Identifique todas las alarmas de CloudWatch que hacen referencia a los nombres de las métricas de Información de contenedores (versión clásica).

1. Cree alarmas equivalentes mediante expresiones matemáticas de métricas basadas en PromQL que hagan referencia a los nombres de las métricas de OTel.

1. Compruebe que las nuevas alarmas entren en estado `OK` y produzcan evaluaciones de umbral equivalentes.

1. Actualice todos los paneles de CloudWatch para incluir widgets basados en las métricas de OTel junto con los widgets actuales de la versión clásica.

### Fase 4: desactivación de la versión clásica (solo el cambio a OTel)
<a name="container-insights-eks-migrate-from-classic-phase4"></a>

Tras comprobar que las métricas, las alarmas y los paneles de OTel funcionan correctamente, desactive el flujo de la versión clásica.

**Desactivación de la versión clásica y conservación solamente de OTel**

1. Ejecute el siguiente comando para desactivar la publicación de métricas de la versión clásica.

   ```
   aws eks update-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}' \
     --resolve-conflicts OVERWRITE
   ```

1. Espere a que el estado del complemento vuelva a ser `ACTIVE`.

1. Elimine las alarmas de la versión clásica que sustituyó en la fase 3.

## Verificación
<a name="container-insights-eks-migrate-from-classic-verify"></a>

Tras completar la migración, compruebe que la pila de observabilidad funcione correctamente.
+ **Comprobación de las métricas en Query Studio**: utilice las consultas de PromQL para confirmar que las métricas provengan de la canalización de OTel.
+ **Comparación con los valores de referencia**: compruebe que los valores de las métricas sean coherentes con las métricas de la versión clásica que registró durante la fase 2.
+ **Verifique los paneles de Información de contenedores**: confirme que la consola de Información de contenedores muestre los datos del clúster.
+ **Verificación de la entrega de registros**: compruebe que los registros del contenedor sigan apareciendo en Registros de CloudWatch.
+ **Verificación de las alarmas**: confirme que no haya ninguna alarma con el estado `INSUFFICIENT_DATA`.

## Reversión
<a name="container-insights-eks-migrate-from-classic-rollback"></a>

Si tiene problemas después de la migración, puede restaurar la configuración anterior de la versión clásica.

**Regresión a Información de contenedores mejorada (versión clásica)**

1. Identifique la versión anterior del complemento que grabó en la fase 1.

1. Ejecute el siguiente comando para reducir la versión del complemento.

   ```
   aws eks update-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --addon-version {{previous-version}} \
     --resolve-conflicts OVERWRITE
   ```

1. Espere a que el estado del complemento vuelva a ser `ACTIVE`.

   ```
   aws eks describe-addon \
     --cluster-name {{cluster-name}} \
     --addon-name amazon-cloudwatch-observability \
     --query "addon.status"
   ```

1. Vuelva a aplicar los valores de configuración personalizados que utilizó en la versión anterior.