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

Microservices Engine:MSE Ingress ゲートウェイでサポートされるアノテーション

最終更新日:Aug 28, 2026

MSE Ingress ゲートウェイは NGINX Ingress ゲートウェイのコアおよび共通アノテーションをサポートしており、移行が容易です。また、高度なトラフィック管理のために 40 の追加アノテーションも提供しています。

標準の Kubernetes Ingress リソースは、Transport Layer Security (TLS) 暗号化と基本的なレイヤー 7 HTTP ルーティングのみを処理します。NGINX Ingress コントローラーだけで、実際のトラフィック管理とセキュリティ要件に対応するために 100 以上のカスタムアノテーションが定義されています。MSE Ingress ゲートウェイは、最も一般的な NGINX Ingress アノテーションと互換性があるため、既存のワークロードは Ingress 構成を書き換えることなく移行できます。

概要

次の表は、アノテーションのカバー率の概要です。

NGINX Ingress アノテーションのカバー率

カテゴリ 注意
サポート対象 51 ユースケースの 90% をカバー
設定不要 15 明示的な設定なしで機能を利用可能
計画中 48 少数のユースケースに適用
サポート対象外 5 NGINX 固有のコードスニペットに関連
MSE は NGINX とは異なる方法で機能を実装しています。NGINX Ingress アノテーションやコードスニペットで使用される NGINX 変数は、NGINX の対応するものと互換性がありません。

large リクエストボディ: nginx.ingress.kubernetes.io/proxy-body-size アノテーションは、NGINX のリクエストボディの最大サイズを設定し、それを超えるリクエストを拒否します。 MSE では代わりにチャンク転送エンコーディングを使用し、large な本文をサイズ制限なく自動的に処理します。 アップストリーム接続のバッファー制限を設定するには、MSE ゲートウェイの [パラメーター設定] ペインで [DownstreamConnectionBufferLimits] パラメーターを設定します。

リダイレクトと NGINX 変数: リダイレクトアノテーション内の NGINX 変数 (例:$host$request_uri) は、一部の NGINX Ingress バージョンで動作する場合がありますが、公式にはドキュメント化されていません。NGINX Ingress でのリダイレクトに NGINX 変数を使用することは避けてください。これらは MSE と互換性がありません。

MSE 専用アノテーション

カテゴリ 注意
拡張アノテーション 40 NGINX Ingress を超えるトラフィックガバナンスとセキュリティ保護機能を追加

アノテーションのスコープ

各アノテーションは、次の 3 つのスコープのいずれかに適用されます。

  • Ingress — Ingress リソースで定義されたルーティングルールに適用されます。

  • ドメイン — Ingress リソースで定義されたホスト名に適用され、他の Ingress リソースの同じホスト名にも効果があります。

  • サービス — Ingress リソースによって参照されるバックエンドサービスに適用され、他の Ingress リソースによって参照される同じサービスにも効果があります。

アノテーションのプレフィックス

MSE 互換のアノテーションは、nginx または mse のプレフィックスのいずれかを受け入れます。例えば、nginx.ingress.kubernetes.io/ssl-redirectmse.ingress.kubernetes.io/ssl-redirect は同等です。

MSE 専用のアノテーションは mse プレフィックスのみを使用します。これらのアノテーションで msenginx に置き換えても効果はありません。

クイックリファレンスインデックス

次の表は、サポートされているすべてのアノテーションとその互換性ステータスおよびカテゴリを一覧表示しています。この表を使用して、以下の詳細を読む前に特定のアノテーションがサポートされているかどうかをすばやく確認してください。

アノテーション ステータス カテゴリ
nginx.ingress.kubernetes.io/canary 互換性あり カナリアリリース
nginx.ingress.kubernetes.io/canary-by-header 互換 カナリアリリース
nginx.ingress.kubernetes.io/canary-by-header-value 対応 カナリアリリース
nginx.ingress.kubernetes.io/canary-by-header-pattern 互換 カナリアリリース
mse.ingress.kubernetes.io/canary-by-query MSE 専用 カナリアリリース
mse.ingress.kubernetes.io/canary-by-query-value MSE 専用 カナリアリリース
mse.ingress.kubernetes.io/canary-by-query-pattern MSE 専用 カナリアリリース
nginx.ingress.kubernetes.io/canary-by-cookie 互換 カナリアリリース
mse.ingress.kubernetes.io/canary-by-cookie-value MSE 専用 (V1.2.30 以降) カナリアリリース
nginx.ingress.kubernetes.io/canary-weight 対応 カナリアリリース
nginx.ingress.kubernetes.io/canary-weight-total 対応 カナリアリリース
mse.ingress.kubernetes.io/destination MSE 専用 マルチサービスルーティング
mse.ingress.kubernetes.io/service-subset MSE 専用 (V1.2.25 以降) サービスサブセット
mse.ingress.kubernetes.io/subset-labels MSE 専用 (V1.2.25 以降) サービスサブセット
nginx.ingress.kubernetes.io/default-backend 互換 フォールバックサービス
nginx.ingress.kubernetes.io/custom-http-errors 対応 フォールバックサービス
nginx.ingress.kubernetes.io/use-regex 対応 正規表現パス照合
nginx.ingress.kubernetes.io/rewrite-target 互換性あり パス書き換え
nginx.ingress.kubernetes.io/upstream-vhost 互換 パス書き換え
nginx.ingress.kubernetes.io/ssl-redirect 互換 リダイレクト
nginx.ingress.kubernetes.io/force-ssl-redirect 互換性あり リダイレクト
nginx.ingress.kubernetes.io/permanent-redirect 互換 リダイレクト
nginx.ingress.kubernetes.io/permanent-redirect-code 対応 リダイレクト
nginx.ingress.kubernetes.io/temporal-redirect 対応 リダイレクト
nginx.ingress.kubernetes.io/app-root 互換 リダイレクト
nginx.ingress.kubernetes.io/enable-cors 対応 CORS
nginx.ingress.kubernetes.io/cors-allow-origin 対応 CORS
nginx.ingress.kubernetes.io/cors-allow-methods 対応 CORS
nginx.ingress.kubernetes.io/cors-allow-headers 対応 CORS
nginx.ingress.kubernetes.io/cors-expose-headers 互換性あり CORS
nginx.ingress.kubernetes.io/cors-allow-credentials 対応 CORS
nginx.ingress.kubernetes.io/cors-max-age 対応 CORS
mse.ingress.kubernetes.io/request-header-control-add MSE 専用 ヘッダー制御
mse.ingress.kubernetes.io/request-header-control-update MSE 専用 ヘッダー制御
mse.ingress.kubernetes.io/request-header-control-remove MSE 専用 ヘッダー制御
mse.ingress.kubernetes.io/response-header-control-add MSE 専用 ヘッダー制御
mse.ingress.kubernetes.io/response-header-control-update MSE 専用 ヘッダー制御
mse.ingress.kubernetes.io/response-header-control-remove MSE 専用 ヘッダー制御
mse.ingress.kubernetes.io/timeout MSE 専用 タイムアウト
nginx.ingress.kubernetes.io/proxy-next-upstream-tries 対応 リトライ
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout 対応 リトライ
nginx.ingress.kubernetes.io/proxy-next-upstream 対応 リトライ
mse.ingress.kubernetes.io/mirror-target-service MSE 専用 トラフィックミラーリング
mse.ingress.kubernetes.io/mirror-percentage MSE 専用 (V1.2.32 以降) トラフィックミラーリング
nginx.ingress.kubernetes.io/server-alias 部分的に互換 (V1.2.30 以降) ドメインエイリアス
mse.ingress.kubernetes.io/route-limit-rpm MSE 専用 レート制限 (単一ゲートウェイ、非推奨予定)
mse.ingress.kubernetes.io/route-limit-rps MSE 専用 レート制限 (単一ゲートウェイ、非推奨予定)
mse.ingress.kubernetes.io/route-limit-burst-multiplier MSE 専用 レート制限 (単一ゲートウェイ、非推奨予定)
mse.ingress.kubernetes.io/rate-limit MSE 専用 (V1.2.25 以降) レート制限 (グローバル)
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code MSE 専用 (V1.2.25 以降) レート制限 (グローバル)
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body-type MSE 専用 (V1.2.25 以降) レート制限 (グローバル)
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body MSE 専用 (V1.2.25 以降) レート制限 (グローバル)
mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url MSE 専用 (V1.2.25 以降) レート制限 (グローバル)
mse.ingress.kubernetes.io/concurrency-limit MSE 専用 (V1.2.25 以降) 同時実行制御
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code MSE 専用 (V1.2.25 以降) 同時実行制御
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body-type MSE 専用 (V1.2.25 以降) 同時実行制御
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body MSE 専用 (V1.2.25 以降) 同時実行制御
mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url MSE 専用 (V1.2.25 以降) 同時実行制御
nginx.ingress.kubernetes.io/backend-protocol 部分的に互換 バックエンドプロトコル
nginx.ingress.kubernetes.io/load-balance 部分的に互換 負荷分散
nginx.ingress.kubernetes.io/upstream-hash-by 部分的に互換 負荷分散
mse.ingress.kubernetes.io/warmup MSE 専用 サービスウォームアップ
nginx.ingress.kubernetes.io/affinity 互換 Cookie アフィニティ
nginx.ingress.kubernetes.io/affinity-mode 部分的に互換 Cookie アフィニティ
nginx.ingress.kubernetes.io/session-cookie-name 対応 Cookie アフィニティ
nginx.ingress.kubernetes.io/session-cookie-path 対応 Cookie アフィニティ
nginx.ingress.kubernetes.io/session-cookie-max-age 対応 Cookie アフィニティ
nginx.ingress.kubernetes.io/session-cookie-expires 対応 Cookie アフィニティ
nginx.ingress.kubernetes.io/whitelist-source-range 対応 IP アクセス制御
nginx.ingress.kubernetes.io/denylist-source-range 互換 (V1.2.31 以降) IP アクセス制御
mse.ingress.kubernetes.io/blacklist-source-range MSE 専用 IP アクセス制御
mse.ingress.kubernetes.io/domain-whitelist-source-range MSE 専用 IP アクセス制御
mse.ingress.kubernetes.io/domain-blacklist-source-range MSE 専用 IP アクセス制御
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection MSE 専用 接続プール
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection-per-endpoint MSE 専用 接続プール
mse.ingress.kubernetes.io/connection-policy-http-max-request-per-connection MSE 専用 接続プール
mse.ingress.kubernetes.io/tls-min-protocol-version MSE 専用 TLS (クライアントからゲートウェイ)
mse.ingress.kubernetes.io/tls-max-protocol-version MSE 専用 TLS (クライアントからゲートウェイ)
nginx.ingress.kubernetes.io/ssl-cipher 対応 TLS (クライアントからゲートウェイ)
mse.ingress.kubernetes.io/auth-tls-secret 部分的に互換 TLS (クライアントからゲートウェイ)
nginx.ingress.kubernetes.io/proxy-ssl-secret 対応 TLS (ゲートウェイからバックエンド)
nginx.ingress.kubernetes.io/proxy-ssl-name 対応 TLS (ゲートウェイからバックエンド)
nginx.ingress.kubernetes.io/proxy-ssl-server-name 対応 TLS (ゲートウェイからバックエンド)
nginx.ingress.kubernetes.io/auth-type 部分的に互換 認証
nginx.ingress.kubernetes.io/auth-secret 互換 認証
nginx.ingress.kubernetes.io/auth-secret-type 互換 認証
nginx.ingress.kubernetes.io/auth-realm 互換 認証

サポートされるアノテーション

トラフィックガバナンス

カナリアリリース

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/canary Ingress 対応 Ingress のカナリアリリースを有効にします。
nginx.ingress.kubernetes.io/canary-by-header Ingress 互換 リクエストヘッダーキーによってトラフィックを分割します。
nginx.ingress.kubernetes.io/canary-by-header-value Ingress 互換 リクエストヘッダー値によってトラフィックを分割します。完全一致をサポートします。
nginx.ingress.kubernetes.io/canary-by-header-pattern Ingress 対応 リクエストヘッダー値によってトラフィックを分割します。正規表現マッチングをサポートします。
mse.ingress.kubernetes.io/canary-by-query Ingress MSE 専用 URL クエリパラメーターキーによってトラフィックを分割します。
mse.ingress.kubernetes.io/canary-by-query-value Ingress MSE 専用 URL クエリパラメーター値によってトラフィックを分割します。完全一致をサポートします。
mse.ingress.kubernetes.io/canary-by-query-pattern Ingress MSE 専用 URL クエリパラメーター値によってトラフィックを分割します。正規表現マッチングをサポートします。
nginx.ingress.kubernetes.io/canary-by-cookie Ingress 互換 Cookie キーによってトラフィックを分割します。
mse.ingress.kubernetes.io/canary-by-cookie-value Ingress MSE 専用 (ゲートウェイ V1.2.30 以降が必要) Cookie 値によってトラフィックを分割します。完全一致をサポートします。
nginx.ingress.kubernetes.io/canary-weight Ingress 互換 カナリアサービスのトラフィックの重みを設定します。
nginx.ingress.kubernetes.io/canary-weight-total Ingress 互換 トラフィック分割計算に使用される合計の重みを設定します。

マルチサービスルーティング

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/destination Ingress MSE 専用 重みに基づいて複数のサービスにトラフィックを分散します。

構文: {weight}% {serviceName}.{serviceNamespace}.svc.cluster.local:{port}

このアノテーションを設定すると、Ingress 上のすべてのルーティングルールの送信先サービスがオーバーライドされます。構文が無効な場合、アノテーションは無視され、元のルーティングルールが有効なままになります。

例:

annotations:
  # トラフィックの 60% を foo に、40% を bar にルーティング
  mse.ingress.kubernetes.io/destination: |
    60% foo.default.svc.cluster.local:8080
    40% bar.default.svc.cluster.local:9090

サービスサブセット

サービスサブセットは、単一の Kubernetes Service が複数のデプロイメント (例えば、安定版とカナリア版) を管理する場合に使用します。サブセットは、特定の Pod グループにリクエストを転送します。

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/service-subset Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) リクエストをターゲットサービスの Pod サブセットにルーティングします。mse.ingress.kubernetes.io/subset-labels が設定されていない場合、ルーティングの動作はこのアノテーションの値に依存します。"" または base に設定すると、opensergo.io/canary: "" の Pod または opensergo.io/canary ラベルプレフィックスのない Pod をターゲットにします。他の値 (例えば、gray) に設定すると、ラベル opensergo.io/canary-gray: gray を持つ Pod をターゲットにします。mse.ingress.kubernetes.io/subset-labels が設定されている場合、リクエストはそこで定義されたキーと値のペアに一致するラベルを持つ Pod にのみ転送されます。ラベルに一致する Pod がない場合、リクエストはサービスのすべての Pod にフォールバックします。
mse.ingress.kubernetes.io/subset-labels Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) オプション。mse.ingress.kubernetes.io/service-subset と一緒に使用して、Pod サブセットを定義するラベルを指定します。

フォールバックサービス

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/default-backend Ingress 対応 フォールバックサービスを指定します。Ingress ルールで定義されたサービスに利用可能なノードがない場合、リクエストはこのサービスに転送されます。
nginx.ingress.kubernetes.io/custom-http-errors Ingress 互換 nginx.ingress.kubernetes.io/default-backend と連携します。バックエンドが指定された HTTP ステータスコードのいずれかを返した場合、リクエストはパスが / に書き換えられてフォールバックサービスに転送されます。

正規表現パス照合

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/use-regex Ingress 対応 Ingress ルールで定義されたパスの正規表現マッチングを有効にします。RE2 構文を使用します。

パス書き換え

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/rewrite-target Ingress 対応 バックエンドに転送する前にリクエストパスを書き換えます。キャプチャグループをサポートします。
nginx.ingress.kubernetes.io/upstream-vhost Ingress 互換 バックエンドにリクエストを転送する際に、Host ヘッダーを指定された値に書き換えます。

リダイレクト

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/ssl-redirect Ingress 対応 HTTP リクエストを HTTPS にリダイレクトします。
nginx.ingress.kubernetes.io/force-ssl-redirect Ingress 対応 HTTP リクエストを強制的に HTTPS にリダイレクトします。
nginx.ingress.kubernetes.io/permanent-redirect Ingress 対応 リクエストを指定された URL に恒久的なリダイレクトでリダイレクトします。
nginx.ingress.kubernetes.io/permanent-redirect-code Ingress 互換 恒久的なリダイレクトの HTTP ステータスコードを設定します。
nginx.ingress.kubernetes.io/temporal-redirect Ingress 対応 リクエストを指定された URL に一時的なリダイレクトでリダイレクトします。
nginx.ingress.kubernetes.io/app-root Ingress 対応 / からのリクエストを指定されたアプリケーションルートパスにリダイレクトします。

オリジン間リソース共有 (CORS)

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/enable-cors Ingress 対応 オリジン間リソース共有 (CORS) を有効にします。
nginx.ingress.kubernetes.io/cors-allow-origin Ingress 対応 CORS リクエストで許可されるオリジンを設定します。
nginx.ingress.kubernetes.io/cors-allow-methods Ingress 互換性あり CORS リクエストで許可される HTTP メソッド (GET、POST、PUT など) を設定します。
nginx.ingress.kubernetes.io/cors-allow-headers Ingress 対応 CORS リクエストで許可されるリクエストヘッダーを設定します。
nginx.ingress.kubernetes.io/cors-expose-headers Ingress 互換 CORS レスポンスでブラウザに公開されるレスポンスヘッダーを設定します。
nginx.ingress.kubernetes.io/cors-allow-credentials Ingress 互換 CORS リクエストに認証情報を含めることができるかどうかを指定します。
nginx.ingress.kubernetes.io/cors-max-age Ingress 互換 プリフライトリクエストの結果がキャッシュされる期間を設定します。

ヘッダー制御

ベースルートとカナリアルートのヘッダー制御アノテーションは独立しており、個別に検証されます。必要に応じて、ベースルートトラフィックとカナリアルートトラフィックに異なるヘッダーポリシーを設定してください。
アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/request-header-control-add Ingress MSE 専用 バックエンドに転送する前にリクエストにヘッダーを追加します。ヘッダーが既に存在する場合、新しい値が元の値に追加されます。単一のヘッダーには、キーと値のペアを使用します。複数のヘッダーには、YAML リテラルブロック (|) を使用し、1 行に 1 つのキーと値のペアを記述します。
mse.ingress.kubernetes.io/request-header-control-update Ingress MSE 専用 バックエンドに転送する前にリクエストのヘッダーを変更します。ヘッダーが存在する場合、新しい値が元の値を上書きします。request-header-control-add と同じ構文です。
mse.ingress.kubernetes.io/request-header-control-remove Ingress MSE 専用 バックエンドに転送する前にリクエストからヘッダーを削除します。単一のヘッダーには、キーを指定します。複数のヘッダーには、キーをカンマで区切ります。
mse.ingress.kubernetes.io/response-header-control-add Ingress MSE 専用 クライアントに転送する前にレスポンスにヘッダーを追加します。ヘッダーが既に存在する場合、新しい値が元の値に追加されます。request-header-control-add と同じ構文です。
mse.ingress.kubernetes.io/response-header-control-update Ingress MSE 専用 クライアントに転送する前にレスポンスのヘッダーを変更します。ヘッダーが存在する場合、新しい値が元の値を上書きします。request-header-control-add と同じ構文です。
mse.ingress.kubernetes.io/response-header-control-remove Ingress MSE 専用 クライアントに転送する前にレスポンスからヘッダーを削除します。単一のヘッダーには、キーを指定します。複数のヘッダーには、キーをカンマで区切ります。

タイムアウト

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/timeout Ingress MSE 専用 リクエストタイムアウトを秒単位で設定します。デフォルトではタイムアウトは適用されません。TCP トランスポート層ではなく、アプリケーション層で適用されます。

リトライ

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/proxy-next-upstream-tries Ingress 互換性あり 最大リトライ試行回数を設定します。デフォルト:3。
nginx.ingress.kubernetes.io/proxy-next-upstream-timeout Ingress 対応 リトライ試行のタイムアウトを秒単位で設定します。デフォルトではタイムアウトは適用されません。
nginx.ingress.kubernetes.io/proxy-next-upstream Ingress 対応 リトライをトリガーする条件を設定します。サポートされている値については、「NGINX リトライメカニズム」をご参照ください。

トラフィックミラーリング

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/mirror-target-service Ingress MSE 専用 受信トラフィックのコピーを指定されたサービスに転送します。フォーマット:namespace/name:portnamespace はデフォルトで Ingress ゲートウェイの名前空間になります。port はデフォルトでサービスの最初のポートになります。
mse.ingress.kubernetes.io/mirror-percentage Ingress MSE 専用 (ゲートウェイ V1.2.32 以降が必要) ミラーリングするトラフィックの割合を設定します。有効な値:0~100。デフォルト:100。

ドメインエイリアス

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/server-alias ドメイン 部分的に互換 — 完全一致ドメインとワイルドカードドメインのみ (ゲートウェイ V1.2.30 以降が必要) Ingress 仕様のホスト名にドメインエイリアスを定義します。エイリアスは、ソースドメインの TLS、ルーティング、およびトラフィックガバナンスの構成を継承します。

レート制限 (単一ゲートウェイ、非推奨予定)

スロットリングがトリガーされると、レスポンスボディは local_rate_limited になります。レスポンスのステータスコードはゲートウェイのバージョンによって異なります。V1.2.23 より前のゲートウェイは 503 を返し、V1.2.23 以降は 429 を返します。

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/route-limit-rpm Ingress MSE 専用 ルート上の 1 分あたりの最大リクエスト数 (RPM) を設定します。バースト制限は、この値に mse.ingress.kubernetes.io/route-limit-burst-multiplier を乗じたものになります。
mse.ingress.kubernetes.io/route-limit-rps Ingress MSE 専用 ルート上の 1 秒あたりの最大リクエスト数 (RPS) を設定します。バースト制限は、この値に mse.ingress.kubernetes.io/route-limit-burst-multiplier を乗じたものになります。
mse.ingress.kubernetes.io/route-limit-burst-multiplier Ingress MSE 専用 バースト制限の乗数を設定します。デフォルト:5。

レート制限 (グローバル、推奨)

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/rate-limit Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) ルート上のグローバルレート制限の最大 RPS を設定します。
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) レート制限がトリガーされたときに返される HTTP レスポンスコードを設定します。デフォルト:429。mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url とは排他的です。
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body-type Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) レート制限レスポンスボディのフォーマットを設定します。デフォルト:texttext を設定すると Content-Type: text/plain; charset=UTF-8 が返されます。JSON を設定すると Content-Type: application/json; charset=UTF-8 が返されます。
mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-body Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) レート制限レスポンスのボディコンテンツを設定します。デフォルト:sentinel rate limited
mse.ingress.kubernetes.io/rate-limit-fallback-redirect-url Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) レート制限がトリガーされたときにリクエストを指定された URL にリダイレクトします。mse.ingress.kubernetes.io/rate-limit-fallback-custom-response-code とは排他的です。

同時実行制御 (グローバル)

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/concurrency-limit Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) ルート上の最大同時リクエスト数を設定します。
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) 同時実行制御がトリガーされたときの HTTP レスポンスコードを設定します。デフォルト:429。mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url とは排他的です。
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body-type Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) 同時実行制限レスポンスボディのフォーマットを設定します。デフォルト:texttext を設定すると Content-Type: text/plain; charset=UTF-8 が返されます。JSON を設定すると Content-Type: application/json; charset=UTF-8 が返されます。
mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-body Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) 同時実行制限レスポンスのボディコンテンツを設定します。デフォルト:sentinel rate limited
mse.ingress.kubernetes.io/concurrency-limit-fallback-redirect-url Ingress MSE 専用 (ゲートウェイ V1.2.25 以降が必要) 同時実行制御がトリガーされたときにリクエストを指定された URL にリダイレクトします。mse.ingress.kubernetes.io/concurrency-limit-fallback-custom-response-code とは排他的です。

バックエンドプロトコル

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/backend-protocol サービス 部分的に互換 — AJP と FCGI はサポートされていません バックエンドサービスとの通信に使用するプロトコルを設定します。デフォルト:HTTP。サポートされている値:HTTPHTTP2HTTPSgRPCgRPCS

負荷分散

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/load-balance サービス 部分的に互換 — 指数加重移動平均 (EWMA) アルゴリズムはサポートされておらず、ラウンドロビンにフォールバックします 負荷分散アルゴリズムを設定します。デフォルト:round_robin。サポートされている値:round_robinleast_connrandom
nginx.ingress.kubernetes.io/upstream-hash-by サービス 部分的に互換 — NGINX 変数と定数の組み合わせはサポートされていません 一貫性ハッシュを有効にします。サポートされているハッシュキーのタイプ:$request_uri (パスパラメーターを含むリクエストパス)、$host (リクエストホスト名)、$remote_addr (クライアント IP アドレス)、$http_<headerName> (リクエストヘッダー値)、$arg_<varName> (URL クエリパラメーター値)。

サービスウォームアップ (グレースフル起動)

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/warmup サービス MSE 専用 ウォームアップ期間を秒単位で設定します。デフォルトでは無効です。round_robin および least_conn 負荷分散アルゴリズムでのみサポートされます。

Cookie アフィニティ

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/affinity サービス 互換 アフィニティタイプを設定します。唯一の有効な値は cookie です。
nginx.ingress.kubernetes.io/affinity-mode サービス 部分的に互換 — persistent モードはサポートされていません アフィニティモードを設定します。唯一の有効な値は balanced です。
nginx.ingress.kubernetes.io/session-cookie-name サービス 互換性あり セッションアフィニティのハッシュキーとして使用される Cookie 名を設定します。
nginx.ingress.kubernetes.io/session-cookie-path サービス 互換 生成されたセッションクッキーのパス属性を設定します。デフォルト:/
nginx.ingress.kubernetes.io/session-cookie-max-age サービス 互換性あり 生成されたセッションクッキーの Max-Age を秒単位で設定します。デフォルトはセッションレベルの有効期限です。
nginx.ingress.kubernetes.io/session-cookie-expires サービス 対応 生成されたセッションクッキーの Expires 属性を秒単位で設定します。デフォルトはセッションレベルの有効期限です。

IP アドレスベースのアクセス制御

ルートレベルの許可リストは、ドメインレベルの許可リストよりも優先されます。ルートレベルのブロックリストは、ドメインレベルのブロックリストよりも優先されます。

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/whitelist-source-range Ingress 対応 ルートの IP 許可リストを設定します。IP アドレスと CIDR ブロックをカンマで区切って受け入れます。
nginx.ingress.kubernetes.io/denylist-source-range Ingress 互換 (ゲートウェイ V1.2.31 以降が必要) ルートの IP ブロックリストを設定します。IP アドレスと CIDR ブロックをカンマで区切って受け入れます。mse.ingress.kubernetes.io/blacklist-source-range よりも優先されます。
mse.ingress.kubernetes.io/blacklist-source-range Ingress MSE 専用 ルートの IP ブロックリストを設定します。IP アドレスと CIDR ブロックをカンマで区切って受け入れます。
mse.ingress.kubernetes.io/domain-whitelist-source-range Ingress MSE 専用 ドメインレベルで IP 許可リストを設定します。IP アドレスと CIDR ブロックをカンマで区切って受け入れます。
mse.ingress.kubernetes.io/domain-blacklist-source-range Ingress MSE 専用 ドメインレベルで IP ブロックリストを設定します。IP アドレスと CIDR ブロックをカンマで区切って受け入れます。

コネクションプール (ゲートウェイからバックエンド)

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection サービス MSE 専用 ゲートウェイとバックエンドサービス間の最大 TCP 接続数を設定します。
mse.ingress.kubernetes.io/connection-policy-tcp-max-connection-per-endpoint サービス MSE 専用 ゲートウェイと単一のバックエンド Pod 間の最大 TCP 接続数を設定します。
mse.ingress.kubernetes.io/connection-policy-http-max-request-per-connection サービス MSE 専用 ゲートウェイとバックエンドサービス間の接続ごとの最大 HTTP リクエスト数を設定します。

セキュリティ保護

クライアントとゲートウェイ間の TLS

アノテーション スコープ サポートステータス 説明
mse.ingress.kubernetes.io/tls-min-protocol-version ドメイン MSE 専用 最小 TLS バージョンを設定します。デフォルト:TLSv1.0。有効な値:TLSv1.0TLSv1.1TLSv1.2TLSv1.3
mse.ingress.kubernetes.io/tls-max-protocol-version ドメイン MSE 専用 最大 TLS バージョンを設定します。デフォルト:TLSv1.3。有効な値:TLSv1.0TLSv1.1TLSv1.2TLSv1.3
nginx.ingress.kubernetes.io/ssl-cipher ドメイン 対応 TLS 暗号スイートをカンマで区切って設定します。TLS 1.0–1.2 のハンドシェイクにのみ有効です。デフォルトの暗号スイート:ECDHE-ECDSA-AES128-GCM-SHA256ECDHE-RSA-AES128-GCM-SHA256ECDHE-ECDSA-AES128-SHAECDHE-RSA-AES128-SHAAES128-GCM-SHA256AES128-SHAECDHE-ECDSA-AES256-GCM-SHA384ECDHE-RSA-AES256-GCM-SHA384ECDHE-ECDSA-AES256-SHAECDHE-RSA-AES256-SHAAES256-GCM-SHA384AES256-SHA
mse.ingress.kubernetes.io/auth-tls-secret ドメイン 部分的に互換 — シークレット名は <domain-certificate-secret-name>-cacert 相互 TLS (mTLS) ハンドシェイク中にゲートウェイがクライアント証明書を検証するために使用する CA 証明書を指定します。

ゲートウェイとバックエンドサービス間の TLS

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/proxy-ssl-secret サービス 対応 TLS ハンドシェイク中にゲートウェイがバックエンドサービスに提示するクライアント証明書を指定します。
nginx.ingress.kubernetes.io/proxy-ssl-name サービス 対応 バックエンドとの TLS ハンドシェイク中に使用される Server Name Indication (SNI) の値を設定します。
nginx.ingress.kubernetes.io/proxy-ssl-server-name サービス 互換 バックエンドとの TLS ハンドシェイク中の SNI を有効または無効にします。

認証

Basic 認証

アノテーション スコープ サポートステータス 説明
nginx.ingress.kubernetes.io/auth-type Ingress 部分的に互換 — basic 認証のみサポート 認証タイプを設定します。
nginx.ingress.kubernetes.io/auth-secret Ingress 互換 ルートの認証情報を含むシークレットを指定します。フォーマット:<namespace>/<name>
nginx.ingress.kubernetes.io/auth-secret-type Ingress 対応 シークレットデータのフォーマットを設定します。auth-fileauth キーは改行で区切られた username:password のペアを保持します。auth-map:各キーはユーザー名で、その値はパスワードです。
nginx.ingress.kubernetes.io/auth-realm Ingress 互換 認証レルムを設定します。認証情報はレルム内で共有されます。

NGINX Ingress アノテーションの完全なリストについては、「アノテーション」をご参照ください。