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

Alibaba Cloud Service Mesh:ASMHeaderPropagation CRD

最終更新日:Mar 12, 2026

マイクロサービスアーキテクチャでは、単一のユーザー要求が複数のサービスにまたがることがよくあります。トラフィックレーンのルーティング、カナリアリリース、分散トレーシングなどは、すべて、特定のリクエストヘッダーが呼び出しチェーン全体を通過することを必要とします。デフォルトでは、Envoy サイドカープロキシはサービス間でカスタムヘッダーを転送しません。この機能を有効にするには、アプリケーション側で W3C Baggage ヘッダー を明示的に伝搬する必要があります。

ASMHeaderPropagation カスタムリソース定義 (CRD) は、呼び出しチェーンを通じてバゲージヘッダーを介して伝搬するリクエストヘッダーを宣言します。このリソースを適用すると、サービスメッシュ内のサイドカープロキシが、該当するワークロードごとに自動的にヘッダーの伝搬を処理します。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • Service Mesh (ASM) のバージョンが 1.21.6.54 以降であること

  • アプリケーションで、自動インストルメンテーションまたはコード変更によりバゲージヘッダーのサポートが有効化されていること

ASMHeaderPropagation CRD は、ヘッダーの伝搬に W3C Baggage ヘッダーに依存しています。サービスがバゲージヘッダーを転送しない場合、この CRD は一切の効果を発揮しません。設定手順については、「許容モードでトラフィックレーンを実装するための ASMHeaderPropagation CRD の設定」をご参照ください。

構成例

名前空間内のすべてのワークロードに特定のヘッダーを伝搬

以下の例では、version ヘッダーを default 名前空間内のすべてのサイドカーコンテナ注入済みワークロードに対して伝搬します。

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMHeaderPropagation
metadata:
  name: version-propagation
  namespace: default          # スコープ:この名前空間内のすべてのサイドカーコンテナ注入済みワークロード
spec:
  headers:
    - version                 # 伝搬対象となる正確なヘッダー名

プレフィックスによるヘッダーの伝搬

共通プレフィックスを持つすべてのリクエストヘッダーを伝播させるには、headerPrefix を使用します。 次の例では、名前が x-custom- で始まるヘッダーを伝播させます。

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMHeaderPropagation
metadata:
  name: custom-header-propagation
  namespace: default
spec:
  headerPrefix:
    - x-custom-              # x-custom-env、x-custom-region などをマッチ

workloadSelector を用いた特定ワークロードへのターゲティング

ヘッダーの伝搬を特定の Pod に限定するには、workloadSelector を追加します。以下の例では、ラベル app: reviews が付与された Pod のみに対して、version および env ヘッダーを伝搬します。

apiVersion: istio.alibabacloud.com/v1beta1
kind: ASMHeaderPropagation
metadata:
  name: reviews-header-propagation
  namespace: default
spec:
  workloadSelector:
    labels:
      app: reviews            # このラベルを持つ Pod にのみ適用
  headers:
    - version
    - env

フィールドリファレンス

構成階層

ASMHeaderPropagation
  spec
    workloadSelector          (任意)特定の Pod を対象とする
      labels                  キーと値のペア
    headers                   伝搬対象となる正確なヘッダー名
    headerPrefix              伝搬対象となるヘッダー名のプレフィックス

spec

フィールド必須説明
workloadSelectorWorkloadSelectorいいえラベルを用いて特定の Pod セットを対象とします。ラベルは、ASMHeaderPropagation リソースが作成された名前空間内でのみ一致します。省略した場合、伝搬ルールはその名前空間内のすべてのサイドカーコンテナ注入済みワークロードに適用されます。
headers[]stringheaderPrefix が設定されていない場合に必須呼び出しチェーンを通じて伝搬するリクエストヘッダー名のリストです。ヘッダー名がこのリスト内のいずれかのエントリと完全一致した場合に伝搬されます。
headerPrefix[]stringheaders が設定されていない場合に必須リクエストヘッダー名のプレフィックスのリストです。ヘッダー名がこのリスト内のいずれかのプレフィックスで始まる場合に伝搬されます。
headers または headerPrefix の少なくとも一方を指定する必要があります。両方を同一リソース内で併用することも可能です。

WorkloadSelector

フィールド必須説明
labelsmap<string, string>はい対象となる Pod を識別するキーと値のペア(1つ以上)。指定されたすべてのペアと完全に一致するラベルを持つ Pod のみが、この伝搬ルールの対象となります。

関連ドキュメント