View a markdown version of this page

Enhanced Container Insights (Classic) から OTel Container Insights に移行する - Amazon CloudWatch

Enhanced Container Insights (Classic) から OTel Container Insights に移行する

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 plugin — OTel ネイティブの計測に移行します。

デフォルトの変更

次の表に、Classic と OTel Container Insights の間で変化するデフォルト値を示します。

設定 Classic のデフォルト OTel CI のデフォルト
収集間隔 60 秒 60 秒
オブザーバビリティの強化 有効 有効
エージェント CPU リクエスト 200m 100m
エージェントメモリリクエスト 200Mi 128Mi

移行手順

この移行では、段階的なアプローチを使用してモニタリングのギャップを最小限に抑えます。Classic メトリクスストリームと OTel メトリクスストリームの両方を並行して実行し、データを検証してから Classic ストリームを無効にします。

フェーズ 1: 現在の状態を確認する (Classic のみ)

変更する前に、現在のアドオンの状態を確認し、ロールバックに備えてバージョンを記録します。

現在のアドオン設定を確認するには
  1. 現在のアドオンのステータスを確認するには、次のコマンドを実行します。

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability
  2. status フィールドが ACTIVE であることを確認します。

  3. addonVersion の値を記録します。ロールバックする必要がある場合は、この値が必要です。

フェーズ 2: デュアル発行を有効にする (Classic + OTel)

Enhanced Container Insights (Classic) とともに OTel Container Insights を有効にします。これにより、両方のメトリクスストリームが同時に発行されるため、データの同等性を検証できます。

重要

このフェーズでは、両方のメトリクスストリームに料金が発生します。コストを最小限に抑えるため、デュアル発行の時間枠はできるだけ短くすることをお勧めします。

デュアル発行を有効にするには
  1. 次のコマンドを実行して、両方のストリームを有効にしてアドオンを更新します。

    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
  2. アドオンのステータスが ACTIVE に戻るまで待ちます。

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --query "addon.status"
  3. PromQL で既知のメトリクスをクエリして、OTel メトリクスが CloudWatch に表示されることを確認します。

フェーズ 3: アラームを再作成し、ダッシュボードを更新する

既存の Classic アラームとダッシュボードの OTel 置換を構築します。このフェーズでは、セーフティネットとして Classic アラームをアクティブに保ちます。

OTel メトリクスのアラームを再作成するには
  1. Classic Container Insights メトリクス名を参照するすべての CloudWatch アラームを特定します。

  2. OTel メトリクス名を参照する PromQL ベースのメトリクスの数式を使用して、同等のアラームを作成します。

  3. 新しいアラームが OK 状態になり、同等のしきい値評価が生成されていることを確認します。

  4. CloudWatch ダッシュボードを更新して、OTel メトリクスに基づくウィジェットを既存の Classic ウィジェットとともに含めます。

フェーズ 4: Classic を無効にする (OTel のみに切り替える)

OTel メトリクス、アラーム、ダッシュボードが正しく動作することを検証したら、Classic ストリームを無効にします。

Classic を無効にして OTel のみを保持するには
  1. 次のコマンドを実行して、 Classic メトリクスの発行を無効にします。

    aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --configuration-values '{"containerInsights":{"enabled":false},"otelContainerInsights":{"enabled":true}}' \ --resolve-conflicts OVERWRITE
  2. アドオンのステータスが ACTIVE に戻るまで待ちます。

  3. フェーズ 3 で置き換えた Classic アラームを削除します。

検証

移行が完了したら、オブザーバビリティスタックが正しく動作していることを確認します。

  • Query Studio でメトリクスを確認 — PromQL クエリを使用して、メトリクスが OTel パイプラインから流れていることを確認します。

  • ベースライン値と比較 — メトリクス値が、フェーズ 2 で記録した Classic メトリクスと矛盾がないことを確認します。

  • Container Insights ダッシュボードを確認 — Container Insights コンソールにクラスターのデータが表示されていることを確認します。

  • ログ配信を確認 — コンテナログが CloudWatch Logs に引き続き表示されることを確認します。

  • アラームを確認INSUFFICIENT_DATA 状態になっているアラームがないことを確認します。

ロールバック

移行後に問題が発生した場合は、以前の Classic 設定を復元できます。

Enhanced Container Insights (Classic) にロールバックするには
  1. フェーズ 1 で記録した以前のアドオンバージョンを特定します。

  2. 次のコマンドを実行して、アドオンをダウングレードします。

    aws eks update-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --addon-version previous-version \ --resolve-conflicts OVERWRITE
  3. アドオンのステータスが ACTIVE に戻るまで待ちます。

    aws eks describe-addon \ --cluster-name cluster-name \ --addon-name amazon-cloudwatch-observability \ --query "addon.status"
  4. 以前のバージョンで使用したカスタム設定値を再適用します。