Enhanced Container Insights(Classic)에서 OTel 컨테이너 인사이트로 마이그레이션
Enhanced Container Insights(Classic)와 OTel Container Insights는 모두 동일한 amazon-cloudwatch-observability Amazon EKS 추가 기능을 사용합니다. 마이그레이션은 15~30분 내에 완료할 수 있는 제자리 추가 기능 버전 업데이트입니다.
주의
Classic 지표 이름으로 구성된 CloudWatch 경보는 OTel 지표에서 자동으로 작동하지 않습니다. PromQL 기반 경보 규칙을 사용하여 경보를 다시 생성해야 합니다.
사전 조건
시작하기 전에 다음 요구 사항을 충족하는지 확인합니다.
-
Kubernetes 버전 1.28 이상을 실행하는 Amazon EKS 클러스터
-
amazon-cloudwatch-observability추가 기능이 설치되어 있고ACTIVE상태임 -
AWS CLI 버전 2.15.0 이상
-
대상 클러스터와 통신하도록 구성된
kubectl -
CloudWatchAgentServerPolicy관리형 정책이 연결된 IAM 역할
호환성에 영향을 미치는 변경 사항
마이그레이션을 시작하기 전에 다음과 같은 주요 변경 사항을 검토합니다.
제거된 기능
다음 기능은 OTel Container Insights에서 사용할 수 없습니다.
-
StatsD 사용자 지정 지표 - 대신 OTel StatsD 수신기를 사용합니다.
-
collectd 플러그인 - OTel 네이티브 계측으로 마이그레이션합니다.
변경된 기본값
다음 표에는 Classic과 OTel Container Insights 간에 변경되는 기본값이 나와 있습니다.
| 설정 | Classic 기본값 | OTel CI 기본값 |
|---|---|---|
| 수집 간격 | 60초 | 60초 |
| 향상된 관찰성 | 활성화됨 | 활성화됨 |
| 에이전트 CPU 요청 | 200m | 100m |
| 에이전트 메모리 요청 | 200Mi | 128Mi |
마이그레이션 단계
이 마이그레이션은 단계별 접근 방식을 사용하여 모니터링 격차를 최소화합니다. Classic 및 OTel 지표 스트림을 모두 병렬로 실행하고 데이터를 검증한 후 Classic 스트림을 비활성화합니다.
1단계: 현재 상태 확인(Classic만 해당)
변경하기 전에 현재 추가 기능 상태를 확인하고 롤백할 버전을 기록합니다.
현재 추가 기능 구성 확인
-
다음 명령을 실행하여 현재 추가 기능 상태를 확인합니다.
aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability -
status필드가ACTIVE인지 확인합니다. -
addonVersion값을 기록합니다. 롤백해야 하는 경우 이 값이 필요합니다.
2단계: 이중 게시 활성화(Classic + OTel)
Enhanced Container Insights(Classic)와 함께 OTel Container Insights를 활성화합니다. 이를 통해 두 지표 스트림이 동시에 게시되므로 데이터 동등성을 검증할 수 있습니다.
중요
두 지표 스트림 모두 이 단계에서 요금이 발생합니다. 비용을 최소화하려면 이중 게시 기간을 최대한 짧게 유지하는 것이 좋습니다.
이중 게시 활성화
-
다음 명령을 실행하여 두 스트림이 모두 활성화된 상태에서 추가 기능을 업데이트합니다.
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --addon-versionlatest-version\ --configuration-values '{"containerInsights":{"enabled":true},"otelContainerInsights":{"enabled":true}}' \ --resolve-conflicts OVERWRITE -
추가 기능이
ACTIVE상태로 돌아갈 때까지 기다립니다.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.status" -
PromQL을 통해 알려진 지표를 쿼리하여 OTel 지표가 CloudWatch에 나타나는지 확인합니다.
3단계: 경보 다시 생성 및 대시보드 업데이트
기존 Classic 경보 및 대시보드에 대한 OTel 교체를 빌드합니다. 이 단계에서는 Classic 경보를 안전망으로 활성 상태로 유지합니다.
OTel 지표에 대한 경보 다시 생성
-
Classic Container Insights 지표 이름을 참조하는 모든 CloudWatch 경보를 식별합니다.
-
OTel 지표 이름을 참조하는 PromQL 기반 지표 수학 표현식을 사용하여 동등한 경보를 생성합니다.
-
새 경보가
OK상태이고 동등한 임계값 평가를 생성하는지 확인합니다. -
기존 Classic 위젯과 함께 OTel 지표를 기반으로 하는 위젯을 포함하도록 CloudWatch 대시보드를 업데이트합니다.
4단계: Classic 비활성화(OTel로만 전환)
OTel 지표, 경보 및 대시보드가 올바르게 작동하는지 확인한 후 Classic 스트림을 비활성화합니다.
Classic 비활성화 및 OTel만 유지
-
다음 명령을 실행하여 Classic 지표 게시를 비활성화합니다.
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}' \ --resolve-conflicts OVERWRITE -
추가 기능이
ACTIVE상태로 돌아갈 때까지 기다립니다. -
3단계에서 교체한 Classic 경보를 제거합니다.
Verification(확인)
마이그레이션을 완료한 후 관찰성 스택이 올바르게 작동하는지 확인합니다.
-
Query Studio에서 지표 확인 - PromQL 쿼리를 사용하여 지표가 OTel 파이프라인에서 흐르는지 확인합니다.
-
기준 값과 비교 - 지표 값이 2단계에서 기록한 Classic 지표와 일치하는지 확인합니다.
-
Container Insights 대시보드 확인 - Container Insights 콘솔에 클러스터에 대한 데이터가 표시되는지 확인합니다.
-
로그 전송 확인 - 컨테이너 로그가 CloudWatch Logs에 계속 표시되는지 확인합니다.
-
경보 확인 -
INSUFFICIENT_DATA상태인 경보가 없는지 확인합니다.
롤백
마이그레이션 후 문제가 발생하면 이전 Classic 구성을 복원할 수 있습니다.
Enhanced Container Insights(Classic)로 롤백
-
1단계에서 기록한 이전 추가 기능 버전을 식별합니다.
-
다음 명령을 실행하여 추가 기능을 다운그레이드합니다.
aws eks update-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --addon-versionprevious-version\ --resolve-conflicts OVERWRITE -
추가 기능이
ACTIVE상태로 돌아갈 때까지 기다립니다.aws eks describe-addon \ --cluster-namecluster-name\ --addon-name amazon-cloudwatch-observability \ --query "addon.status" -
이전 버전에서 사용한 사용자 지정 구성 값을 다시 적용합니다.