すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:NGINX Ingress コントローラーのトレースの有効化

最終更新日:Oct 10, 2026

Container Service for Kubernetes (ACK) では、NGINX Ingress コントローラーのトレースを有効にし、トレースデータをManaged Service for OpenTelemetryに送信できます。Managed Service for OpenTelemetryは、このトレースデータをリアルタイムで集約、処理、保存します。このサービスは、詳細なトレースやリアルタイムトポロジーマップなどのモニタリングデータを生成し、NGINX Ingress コントローラーの問題のトラブルシューティングと診断に役立てます。

重要

Ingress-NGINX オープンソースプロジェクトは、2026 年 3 月以降はメンテナンスされなくなります。このため、Container Service for Kubernetes も NGINX Ingress コントローラーのメンテナンスを終了します。続行する前にリスクをご理解ください。詳細については、「NGINX Ingress コントローラーコンポーネントのメンテナンス終了に関する製品発表」をご参照ください。

前提条件

バージョンの互換性

トレースのサポートは、NGINX Ingress コントローラーコンポーネントのバージョンによって異なるため、ご利用のバージョンに適した設定方法を選択する必要があります。

NGINX Ingress コントローラーのバージョン

OpenTelemetry

OpenTracing

≥ v1.10.2-aliyun.1

サポート対象

サポート対象外

v1.9.3-aliyun.1

サポート対象

サポート対象

v1.8.2-aliyun.1

サポート対象

サポート対象

< v1.8.2-aliyun.1

サポート対象外

サポート対象

手順

ご利用の NGINX Ingress コントローラーのバージョンに対応する手順を選択してください。

OpenTelemetry

ステップ 1:Managed Service for OpenTelemetryのエンドポイントの取得

新しいコンソール

  1. OpenTelemetry 向けマネージドサービスコンソールにログインします。左側のナビゲーションウィンドウで、アクセスセンター をクリックします。

  2. オープンソースフレームワーク セクションで、OpenTelemetry カードをクリックします。

  3. 表示される [OpenTelemetry] パネルで、データをレポートするリージョンを選択します。

  4. gRPC レポート方法のエンドポイントを記録します。[接続方法] を [Alibaba Cloud 内部ネットワーク] に、[レポート方法] を [gRPC] に設定します。[gRPC 経由でのデータレポート] エリアで、Alibaba Cloud VPC ネットワークエンドポイント (例:http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090) と [認証トークン] を取得します。Golang 言語を使用してデータをレポートする場合は、エンドポイントから http:// を削除します。

    説明

    NGINX Ingress コントローラーが Managed Service for OpenTelemetryのインテグレーションと同じ Alibaba Cloud リージョンにデプロイされている場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

以前のコンソール

  1. OpenTelemetry 向けマネージドサービスコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、クラスター設定 をクリックします。表示されたページで、AccessPointFeature タブをクリックします。

  3. ページの上部で、接続するリージョンを選択します。

  4. クラスター情報 セクションで、[トークンを表示] スイッチをオンにします。[クライアント] セクションで [OpenTelemetry] をクリックし、gRPC レポート方法のエンドポイントを記録します。

    gRPC レポート方法の場合、Alibaba Cloud VPC ネットワークエンドポイントは http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090 です。認証トークンは、エンドポイント情報に表示されるトークンの値です。

    説明

    NGINX Ingress コントローラーが Managed Service for OpenTelemetryのインテグレーションと同じ Alibaba Cloud リージョンにデプロイされている場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

ステップ 2:Managed Service for OpenTelemetryの NGINX Ingress コントローラーの設定

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、ワークロード > デプロイメント をクリックします。

  3. [デプロイメント] ページで、[名前空間] を kube-system に設定します。nginx-ingress-controller を検索し、[編集] をクリックします。

  4. 編集 ページの上部で [nginx-ingress-controller] コンテナを選択し、環境変数 タブで Add をクリックして、次の環境変数を設定します。

    タイプ

    変数キー

    値/値の取得元

    説明

    カスタム

    OTEL_EXPORTER_OTLP_HEADERS

    authentication=<authentication token>

    ステップ 1:エンドポイントの取得で取得した認証トークンを使用します。例:authentication=bfXXXXXXXe@7bXXXXXXX1_bXXXXXe@XXXXXXX1

    変数を追加した後、更新 ページの右側のパネルで 編集 をクリックします。表示されるダイアログボックスで、OK をクリックします。

  5. 左側のナビゲーションウィンドウで、設定 > ConfigMap を選択します。

  6. 構成 ページで、[名前空間] を kube-system に設定します。nginx-configuration を検索し、nginx-configuration ConfigMap の 編集 列の 操作 をクリックします。

  7. 編集 パネルで 追加 をクリックし、次の設定を追加してから OK をクリックします。

    パラメーター

    説明

    値

    例

    enable-opentelemetry

    OpenTelemetry トレースを有効にします。

    • true:トレースを有効にします。

    • false:トレースを無効にします。

    true

    main-snippet

    -

    env OTEL_EXPORTER_OTLP_HEADERS;

    env OTEL_EXPORTER_OTLP_HEADERS;

    otel-service-name

    サービス名。

    カスタム。

    nginx-ingress

    otlp-collector-host

    gRPC レポートエンドポイントのドメイン名。

    ステップ 1:エンドポイントの取得で取得した VPC エンドポイントを使用します。http:// プレフィックスとポート番号を削除します。例:tracing-analysis-XX-XX-XXXXX.aliyuncs.com

    tracing-analysis-XX-XX-XXXXX.aliyuncs.com

    otlp-collector-port

    gRPC レポートエンドポイントのポート。

    実際の値を入力します。

    8090

    opentelemetry-trust-incoming-span

    他のサービスからの受信トレースを信頼するかどうかを指定します。

    • true:信頼が有効になります。

    • false:信頼が無効になります。

    true

    opentelemetry-operation-name

    トレーススパンのフォーマット。

    HTTP $request_method $service_name $uri

    HTTP $request_method $service_name $uri

    otel-sampler

    サンプリング戦略。

    パラメーターの詳細については、「opentelemetry」をご参照ください。

    TraceIdRatioBased

    otel-sampler-ratio

    サンプリングレート。

    値は 0 から 1 の間で、小数点以下 2 桁まで指定できます。値 0 はリクエストがサンプリングされないことを意味し、1 はすべてのリクエストがサンプリングされることを意味します。

    パラメーターの詳細については、「opentelemetry」をご参照ください。

    0.1

    otel-sampler-parent-based

    アップストリームサービスからサンプリング決定を継承するかどうかを指定します。

    • false (デフォルト):アップストリームのサンプリング決定を継承しません。サンプリングは otel-sampler および otel-sampler-ratio パラメーターに基づきます。

    • true:アップストリームのサンプリング決定を継承します。otel-sampler および otel-sampler-ratio パラメーターは無視されます。

    パラメーターの詳細については、「opentelemetry」をご参照ください。

    false

ステップ 3:Managed Service for OpenTelemetryでのトレースデータの表示

  1. OpenTelemetry 向けマネージドサービスコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、アプリケーションリスト をクリックします。

  3. アプリケーションリスト ページの上部でリージョンを選択し、[nginx-ingress] アプリケーション名をクリックします。

    • アプリケーション概要 タブで、リクエスト数やエラー数などのメトリックを確認できます。应用概览-中.jpg

    • 呼び出しチェーン分析 タブでは、呼び出し数、エラー数、平均持続時間などのチャート、およびトレースリストを表示できます。リストには、TraceId、インターフェイス名、アプリケーション名、持続時間、ステータス、開始時刻、ホストアドレスなどのフィールドが含まれます。

    • 呼び出しチェーン分析 タブで、トレース ID をクリックしてトレース詳細を表示します。

OpenTracing

ステップ 1:Managed Service for OpenTelemetryのエンドポイントの取得

新しいコンソール

  1. OpenTelemetry 向けマネージドサービスコンソールにログインします。左側のナビゲーションウィンドウで、アクセスセンター をクリックします。

  2. オープンソースフレームワーク セクションで、[Zipkin] カードをクリックします。

    説明

    取得するエンドポイントは、使用するクライアントによって異なります。このトピックでは、Zipkin を例として使用します。

  3. 表示される [Zipkin] パネルで、データをレポートするリージョンを選択します。

  4. エンドポイント情報を記録します。

    説明

    NGINX Ingress コントローラーが Managed Service for OpenTelemetryのインテグレーションと同じ Alibaba Cloud リージョンにデプロイされている場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

以前のコンソール

  1. OpenTelemetry 向けマネージドサービスコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、クラスター設定 をクリックします。表示されたページで、AccessPointFeature タブをクリックします。

  3. ページの上部で、接続するリージョンを選択します。

  4. クラスター情報 セクションで、[トークンを表示] スイッチをオンにします。[クライアント] セクションで [Zipkin] をクリックし、エンドポイント情報を記録します。

    [Zipkin] タブには、中国 (杭州) リージョンのエンドポイント情報を示すテーブルが表示されます。テーブルには v2 エンドポイントと v1 エンドポイントが含まれ、各バージョンにはパブリックエンドポイント URL と Alibaba Cloud VPC ネットワークエンドポイント URL が提供されます。パスが /api/v1/spans で終わる v1 バージョンの [Alibaba Cloud VPC ネットワークエンドポイント] アドレスを記録します。ほとんどの場合、v2 インターフェイスを選択します。Istio や Molten などの特定のシナリオでは、v1 インターフェイスを選択します。Sleuth コンポーネントを使用する場合、baseUrl には /api/v2/spans は含まれません。

    説明

    NGINX Ingress コントローラーが Managed Service for OpenTelemetryのインテグレーションと同じ Alibaba Cloud リージョンにデプロイされている場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

ステップ 2:Managed Service for OpenTelemetryの NGINX Ingress コントローラーの設定

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。

  2. クラスターリスト ページで、クラスターの名前をクリックします。左側のナビゲーションウィンドウで、設定 > ConfigMap をクリックします。

  3. 構成 ページで、[名前空間] を kube-system に設定します。nginx-configuration を検索し、nginx-configuration ConfigMap の 編集 列の 操作 をクリックします。

  4. 編集 パネルで 追加 をクリックし、次の設定を追加してから [OK] をクリックします。

    パラメーター

    説明

    値

    例

    enable-opentracing

    トレースを有効にするかどうかを指定します。

    • true:トレースを有効にします。

    • false:トレースを無効にします。

    true

    zipkin-service-name

    サービス名。

    カスタム。

    nginx-ingress

    zipkin-collector-host

    レポートエンドポイントのドメイン名。

    ステップ 1:エンドポイントの取得で取得したエンドポイントを変更します。http:// プレフィックスを削除し、末尾に疑問符 ? を追加します。例:

    • 元のエンドポイント:http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans

    • 変更後の値:tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans?

    tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans?

    opentracing-trust-incoming-span

    他のサービスやシステムからのトレースを信頼するかどうかを指定します。

    • true:信頼が有効になります。

    • false:信頼が無効になります。

    true

    zipkin-sample-rate

    サンプリングレート。

    値は 0 から 1 の間で、小数点以下 2 桁まで指定できます。値 0 はリクエストがサンプリングされないことを意味し、1 はすべてのリクエストがサンプリングされることを意味します。

    0.1

ステップ 3:Managed Service for OpenTelemetryでのトレースデータの表示

  1. OpenTelemetry 向けマネージドサービスコンソールにログインします。

  2. 左側のナビゲーションウィンドウで、アプリケーションリスト をクリックします。

  3. アプリケーションリスト ページの上部でリージョンを選択し、[nginx] アプリケーション名をクリックします。

  4. アプリケーション詳細ページの左側のナビゲーションウィンドウで、インターフェースの呼び出し をクリックします。右側のエリアで、トレース情報を表示します。

    • 概要 タブには、トレースポロジが表示されます。

    • [トレース] タブをクリックすると、アプリケーションの持続時間が最も長いトレースが最大 100 件表示されます。トレースデータの詳細については、「インターフェイス呼び出し」をご参照ください。トレースリストには、[生成時刻]、[スパン名]、[ホスト/IP]、[持続時間]、[ステータス]、[TraceId]、[操作] の列が表示されます。上部のフィルター条件を使用して、[持続時間が指定ミリ秒より大きい] または [異常] を選択してトレースをフィルターできます。[操作] 列には [ログの表示] リンクがあります。

    • [トレース] タブで、トレース ID をクリックしてトレース詳細を表示します。トレース詳細ページには、リクエストの完全な呼び出しチェーンが表示され、階層的なネスト関係と 6 つのスパンの持続時間も含まれます:

      • HTTP GET opentelemetry-demo-frontendproxy /api/currency (nginx-otlp, cpp): 15.12 ms

      • ingress (frontendproxy): 13.82 ms

      • router frontend egress (frontendproxy): 13.64 ms

      • GET (frontend, nodejs): 8.84 ms

      • grpc.oteldemo.CurrencyService/GetSupportedCurrencies (frontend, nodejs): 6.83 ms

      • CurrencyService/GetSupportedCurrencies (currencyservice, cpp): 1.35 ms

トレース伝播プロトコルの変更 (オプション)

OpenTelemetry を使用して NGINX Ingress コントローラーのトレースを行う場合、OpenTelemetry はデフォルトで W3C トレースコンテキスト形式でトレースコンテキストを認識し、ダウンストリームに伝播します。フロントエンドおよびバックエンドアプリケーションが Jaeger や Zipkin などの他のプロトコルを使用している場合は、OpenTelemetry のトレース伝播プロトコルを変更して、フロントエンドアプリケーション、NGINX Ingress コントローラー、およびバックエンドアプリケーションからのトレースをリンクする必要があります。このトピックでは、NGINX Ingress コントローラーが使用する OpenTelemetry トレース伝播プロトコルを変更する方法について説明します。

  1. ステップ 2 のサブステップ 4 の設定に加えて、OTEL_PROPAGATORS 環境変数を追加します。変更を保存し、nginx-ingress-controller を再デプロイします。

    変数キー

    値

    説明

    OTEL_PROPAGATORS

    tracecontext,baggage,b3,jaeger

    伝播形式。詳細については、「OpenTelemetry の伝播ヘッダー形式の指定」をご参照ください。

  2. ステップ 2 のサブステップ 7 の設定に加えて、main-snippet 設定を変更して OTEL_PROPAGATORS 環境変数を適用します。

    パラメーター

    値

    説明

    main-snippet

    env OTEL_EXPORTER_OTLP_HEADERS; env OTEL_PROPAGATORS;

    環境変数をロードします。

参考

  • Managed Service for OpenTelemetryの詳細については、「OpenTelemetry 向けマネージドサービスとは」をご参照ください。

  • ACK の詳細については、「Container Service for Kubernetes (ACK) とは」をご参照ください。

  • nginx-configuration ConfigMap の必須フィールドは、トレースソリューション (Zipkin、Jaeger、SkyWalking など) によって異なります。これらのソリューションと Managed Service for OpenTelemetryとの統合の詳細については、「事前準備」をご参照ください。