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

Container Service for Kubernetes:MseIngressConfig の設定

最終更新日:Aug 28, 2026

MseIngressConfig は、Microservices Engine (MSE) Ingress Controller が提供するカスタムリソース定義 (CRD) です。これを使用して、MSE クラウドネイティブゲートウェイの作成、再利用、削除を行い、Ingress のリスニングオプションや、IP アクセス制御、トランスポート層セキュリティ (TLS) ハードウェアアクセラレーション、アクセスログ、分散トレーシングなどのグローバル設定を構成します。

仕組み

MSE Ingress Controller は、クラスター内の MseIngressConfig リソースを監視し、対応するクラウドネイティブゲートウェイのライフサイクルと、ACK マネージドクラスター、ACK サーバーレスクラスター、および ACS クラスターとの関連付けを動的に管理します。ゲートウェイが ACK マネージドクラスター、ACK サーバーレスクラスター、または ACS クラスターの API サーバーに関連付けられると、そのコントロールプレーンは Ingress リソースの変更を同期し、ルーティングルールをリアルタイムで更新します。ゲートウェイがリクエストを受信すると、Ingress のルーティングルールとリクエストを照合し、適切なバックエンド Pod にトラフィックを転送します。

次の図は、コンポーネント間の関係を示しています。

ingress的应用场景

主要なコンポーネントは次のとおりです:

  • Service:バックエンドサービスの抽象化です。Service は、複製された Pod のグループを表します。

  • Ingress:ホスト名とパスに基づいて HTTP または HTTPS リクエストを Service にルーティングするリバースプロキシルールが含まれます。

  • IngressClass:Ingress リソースのセットを処理する Ingress コントローラー実装を宣言します。IngressClass を MseIngressConfig に関連付けて、それらの Ingress リソースに対して MSE クラウドネイティブゲートウェイを有効化します。

  • MseIngressConfig:ゲートウェイ設定 (インスタンス仕様、ネットワーク設定、グローバルポリシー、Ingress のリスニング範囲) を提供する CRD です。

  • MSE Ingress Controller:MSE クラウドネイティブゲートウェイインスタンスとその設定を管理するコントロールプレーンです。ネットワークのデータプレーンではありません。クラスター内の MseIngressConfig リソースを監視し、Ingress リソースに記述されたトラフィック管理ルールを実装するために、MSE クラウドネイティブゲートウェイインスタンスを調整します。

1 つの MseIngressConfig は、1 つの MSE クラウドネイティブゲートウェイと 1 対 1 で対応します。複数のゲートウェイを実行するには、複数の MseIngressConfig を作成します。

MseIngressConfig リファレンス

完全な設定例

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  common:
    pay:
      payType: POSTPAY
    instance:
      spec: 4c8g
      replicas: 3
    network:
      vSwitches:
      - "vsw-1"
      - "vsw-2"
      publicSLBSpec: slb.s2.small
    securityGroupType: normal
  global:
    tls:
      enableHardwareAcceleration: true
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.2.XX.XX
  monitor:
    logging:
      sls:
        reuseProject: "xxx"   # 空欄の場合はデフォルトプロジェクトを使用します
    tracing:
      openTelemetry:
        sampleRate: "100"
  ingress:
    local:
      ingressClass: mse
      watchNamespace: ""      # 空欄の場合はすべての名前空間をリッスンします

パラメータ

パラメータ

説明

必須

デフォルト

name

ゲートウェイの名前

いいえ

mse-ingress

common.pay.payType

課金方法。 POSTPAY (従量課金) のみサポートされます。

いいえ

POSTPAY

common.instance.spec

ゲートウェイインスタンスのサイズ。有効な値: 2c4g4c8g8c16g16c32g

いいえ

4c8g

common.instance.replicas

ゲートウェイレプリカ数です。有効な値:0~30

いいえ

3

common.network.vSwitches

プライマリおよびセカンダリの vSwitch です。少なくとも 1 つ、最大 2 つ指定します。設定しない場合、MSE Ingress Controller Pod が稼働しているノード上の vSwitch が使用されます。

いいえ

なし

common.network.publicSLBSpec

インターネット向け Server Load Balancer (SLB) インスタンスの仕様。有効な値: slb.s1.smallslb.s2.smallslb.s2.mediumslb.s3.smallslb.s3.mediumslb.s3.large

いいえ

slb.s2.small

common.network.privateSLBSpec

内部向け SLB インスタンスの仕様。有効な値は publicSLBSpec と同じです。

いいえ

slb.s2.small

common.securityGroupType

セキュリティグループのタイプ。有効な値: enterprise(拡張)、 normal(基本)

いいえ

通常

global.tls.enableHardwareAcceleration

HTTPS の処理性能を向上させるために、トランスポート層セキュリティ (TLS) のハードウェアアクセラレーションを有効化します。

いいえ

true

global.ipAccessControl.whitelist

グローバル IP アドレスのホワイトリストです。個別 IP と CIDR ブロックを指定できます。

いいえ

未設定

global.ipAccessControl.blacklist

グローバル IP アドレスのブラックリストです。個別 IP と CIDR ブロックを指定できます。

いいえ

未設定

monitor.logging.sls

Simple Log Service (SLS) のアクセスログを有効化します。有効化する前に、MSE Ingress Controller に SLS 権限を付与する必要があります。

いいえ

無効

monitor.logging.sls.reuseProject

アクセスログの SLS プロジェクトです。空欄の場合はデフォルトプロジェクトを使用します。既存のプロジェクトを使用する場合は、プロジェクト名を指定します。

いいえ

空欄 (デフォルトプロジェクト)

monitor.tracing.xTrace

xTrace トレース分析を有効にします。openTelemetry とは併用できません。

いいえ

無効

monitor.tracing.xTrace.sampleRate

xTrace のサンプリングレート。文字列形式のパーセンテージです。たとえば、"100" = 100% です。

いいえ

"0"

monitor.tracing.openTelemetry

OpenTelemetry トレース分析を有効にします。xTrace とは併用できません。

いいえ

無効

monitor.tracing.openTelemetry.sampleRate

OpenTelemetry のサンプリングレートです。パーセンテージを表す文字列で指定します。

いいえ

"100"

ingress.local.ingressClass

ゲートウェイがリッスンする IngressClass です。有効な値については、次の表を参照してください。

いいえ

未設定

ingress.local.watchNamespace

監視する名前空間です。空欄の場合はすべての名前空間をリッスンします。指定できる名前空間は 1 つのみです。

いいえ

空欄 (すべての名前空間)

ingress.local.ingressClass の有効な値:

動作

未設定

Ingress リソースをリッスンしません。

mse

IngressClass が mse である Ingress リソースをリッスンします。

""(空文字列)

クラスター内のすべての Ingress リソースをリッスンします。

nginx

IngressClass が nginx であるか、または指定されていない Ingress リソースをリッスンします。

その他の任意の値

指定された IngressClass に関連付けられた Ingress リソースをリッスンします。

spec.parameters で MseIngressConfig を明示的に参照する IngressClass リソースは、ingress.local.ingressClass の値よりも優先されます。

ステータス

MseIngressConfig のステータスを確認します:

kubectl get mseingressconfig

想定される出力:

NAME   STATUS     MESSAGE
test   Listening

ステータスは、PendingRunningListening の順に遷移します。

ステータス

説明

保留中

クラウドネイティブゲートウェイを作成中です。作成には約 3 分かかります。

実行中

ゲートウェイが作成され、稼働しています。

リッスン中

ゲートウェイが稼働しており、クラスター内の Ingress リソースをリッスンしています。

失敗

ゲートウェイは無効です。ステータス出力の Message フィールドで原因を確認してください。

リソースタグ

MseIngressConfig によって作成または再利用された MSE クラウドネイティブゲートウェイは、自動的にタグ付けされます。 ゲートウェイのタグは、[MSE コンソール] のゲートウェイインスタンスの基本情報セクションで表示できます。

重要

MSE コンソールでこれらのタグを編集しないでください。変更すると、ゲートウェイの動作に影響する可能性があります。

タグ

説明

ack.aliyun.com

このゲートウェイがイングレス (Ingress) トラフィックを管理する ACK クラスターを識別します。

ingress.k8s.alibaba/MseIngressConfig

このゲートウェイに関連付けられている MseIngressConfig を識別します。

kubernetes.reused.by.user

ゲートウェイが再利用されていることを示します。関連付けられている MseIngressConfig を削除しても、タグ付きのゲートウェイは削除されません。

MSE クラウドネイティブゲートウェイの作成

  1. MseIngressConfig を適用してゲートウェイを作成します。次の例では、mse-ingress という名前のゲートウェイを、2c4g 仕様、レプリカ数 3 で作成します。

    apiVersion: mse.alibabacloud.com/v1alpha1
    kind: MseIngressConfig
    metadata:
      name: test
    spec:
      name: mse-ingress
      common:
        instance:
          spec: 2c4g
          replicas: 3
  2. IngressClass リソースを作成し、MseIngressConfig にリンクします。

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: mse
    spec:
      controller: mse.alibabacloud.com/ingress
      parameters:
        apiGroup: mse.alibabacloud.com
        kind: MseIngressConfig
        name: test

    両方のリソースを適用すると、IngressClass が mse である Ingress リソースは、関連付けられたクラウドネイティブゲートウェイによって処理されます。

  3. ゲートウェイが稼働していることを確認します。

    kubectl get mseingressconfig test

    ステータスは PendingRunningListening の順に遷移します。ステータスが Listening になると、ゲートウェイは準備完了です。

既存の MSE クラウドネイティブゲートウェイの再利用

既存のゲートウェイを再利用するには、spec.id をゲートウェイの ID (gw-xxx 形式) に設定し、spec.override でその設定を上書きするかどうかを制御します。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: reuse
spec:
  id: gw-xxxx
  override: false
  ingress:
    local:
      ingressClass: mse

spec.override の動作:

spec.override

Ingress のリスニングオプション、TLS アクセラレーション、IP アクセス制御、可観測性への影響

クラスター関連付けへの影響

false

既存のゲートウェイ設定は保持されます。

ゲートウェイがまだクラスターに関連付けられていない場合、自動的に関連付けられ、ingressClass のリッスンが設定されます。すでに関連付けられている場合、元の Ingress 設定は変更されません。

true

この MseIngressConfig で指定した値でゲートウェイ設定を上書きします。MseIngressConfig でパラメータを省略した場合、元の設定はクリアされます。

ゲートウェイをクラスターに関連付けます。

重要

spec.override: true を設定する場合、保持したいすべてのパラメーターを指定してください。MseIngressConfig から省略されたパラメーターは上書きされ、トラフィックに悪影響が及ぶ可能性があります。

MSE クラウドネイティブゲートウェイの削除

MseIngressConfig を削除すると、ほとんどの場合は関連付けられているゲートウェイも削除されます。例外は再利用シナリオで、この場合はゲートウェイが保持されます。

次のコマンドを実行して MseIngressConfig を削除します:

kubectl delete mseingressconfig <your-config-name>

シナリオ別の削除動作:

課金方法

MSE Ingress Controller によって作成されたゲートウェイ

コンソールから再利用されたゲートウェイ

従量課金

MseIngressConfig を削除すると、ゲートウェイも削除されます。

MseIngressConfig を削除しても、ゲートウェイは保持されます。

サブスクリプション

該当なし

MseIngressConfig を削除しても、ゲートウェイは保持されます。

IP アクセス制御の設定

特定の IP からのトラフィックを許可 (ホワイトリスト)

次の例では、IP アドレス 1.1.XX.XX と CIDR ブロック 2.0.XX.XX/8 のみがゲートウェイにアクセスできます。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  global:
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

特定の IP からのトラフィックをブロック (ブラックリスト)

次の例では、IP アドレス 1.1.XX.XX と CIDR ブロック 2.0.XX.XX/8 からのアクセスをブロックします。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  global:
    ipAccessControl:
      blacklist:
      - 1.1.XX.XX
      - 2.0.XX.XX/8

Simple Log Service の有効化

Simple Log Service (SLS) を有効化する前に、クラスタータイプに応じて MSE Ingress Controller に SLS 権限を付与してください:

次の例では、ゲートウェイを設定して、demo という名前の SLS プロジェクトにアクセスログを配信します。代わりにデフォルトのプロジェクトを使用する場合は、reuseProject を空にします。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  monitor:
    logging:
      sls:
        reuseProject: "demo"

Managed Service for OpenTelemetry の有効化

Managed Service for OpenTelemetry を設定すると、エンドツーエンドの分散トレーシングが有効になり、本番環境の問題の診断と特定に役立ちます。

次の例では、サンプリングレートを 100% に設定します。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: test
spec:
  name: mse-ingress
  monitor:
    tracing:
      openTelemetry:
        sampleRate: "100"

その他の設定

MSE Ingress が使用する MSE クラウドネイティブゲートウェイインスタンスは、次の追加設定をサポートしています。

これらの設定を適用するには、MSE コンソールにログオンし、Cloud-Native Gateway > ゲートウェイリスト に移動し、MSE Ingress Controller が使用する既存の、または自動的に作成されたゲートウェイインスタンス (インスタンス ID は mse_ingresspost-***** 形式) を見つけ、インスタンス ID をクリックし、次に左側のナビゲーションペインで Parameters をクリックします。

設定項目

タイプ

説明

EnableGenerateRequestId

ブール値

リクエストに適用されます。有効にすると、ゲートウェイによってリクエストヘッダーに requestId が生成され、リクエストのトレースが可能になります。

EnableGzip

ブール値

リクエストとレスポンスに適用されます。有効化すると、gzip によってリクエストとレスポンスが圧縮され、ゲートウェイのトラフィックが削減されますが、ゲートウェイの CPU 使用率は増加します。

EnableSlashMerge

ブール値

リクエストに適用されます。リクエストパス内の冗長なスラッシュ (/) をマージするかどうかを指定します。有効にすると、www.a.com//b 内の冗長なスラッシュがマージされ、パスは www.a.com/b と同様に処理されます。

DownstreamConnectionBufferLimits

整数。有効な値:[0, 2147483647]

ゲートウェイ接続に適用されます。単一接続あたりのバッファサイズです。この値はスループットとゲートウェイのメモリ使用量に影響します。

XffTrustedNum

整数。有効な値:[0, 10]

リクエストに適用されます。ゲートウェイの前段にある信頼できるプロキシの数です。この値は、ゲートウェイが x-forwarded-forx-request-id などのクライアントが生成したリクエストヘッダーを使用するかどうかを決定します。

DownstreamHttp2MaxConcurrentStream

整数。有効な値:[0, 2147483647]

リクエストに適用されます。クライアントが HTTP/2 を使用する場合に、単一接続上での同時ストリーム数の上限です。

InitialStreamWindowSize

整数。有効な値:[65535, 2147483647] (バイト)

リクエストに適用されます。HTTP/2 が使用される場合に、ゲートウェイとクライアント間でネゴシエートされる初期ストリームウィンドウサイズです。

InitialConnectionWindowSize

整数。有効な値:[65535, 2147483647] (バイト)

リクエストに適用されます。HTTP/2 が使用される場合に、ゲートウェイとクライアント間で使用される接続レベルの初期ウィンドウサイズです。

EnableHttp3

ブール値

HTTP/3 をサポートするかどうかを指定します。HTTP/3 はハードウェアアクセラレーションと互換性がありません。HTTP/3 を有効化する前に、ハードウェアアクセラレーションを無効化してください。

PathWithEscapedSlashes

文字列。有効な値:[KEEP_UNCHANGED, REJECT_REQUEST, UNESCAPE_AND_REDIRECT, UNESCAPE_AND_FORWARD]

URI パスにエスケープ文字 %2F%2f%5C、または %5c が含まれるリクエストに対して実行されるアクション。デフォルト値は KEEP_UNCHANGED で、パスは変更されません。

ZipAlgorithm

文字列のリスト。有効な値:[brotli, gzip]

圧縮を有効にした場合に使用されるアルゴリズムで、brotli または gzip を選択できます。この項目を設定する際に EnableGzip が無効な場合、EnableGzip は自動的に有効になります。

EnableProxyProtocol

ブール値

Proxy プロトコルを有効化するかどうかを指定します。ゲートウェイへのインバウンドトラフィックが Network Load Balancer (NLB) インスタンス経由で到達する場合、この項目を有効化しないと、ゲートウェイは実際のクライアント IP アドレスを取得できません。有効化しても、Proxy プロトコルを使用しないリクエストには影響しません。

EnableCustomAuthConfigPush

ブール値

セルフマネージドの認証サービスを使用するシナリオに適用されます。有効化すると、認証ルールの変更によって接続が中断されず、WebSocket やオンライン業務シナリオに適しています。

KeepaliveHeaderTimeout

整数。有効な値:[0, 600] (秒)

クライアントに返される Keep-Alive レスポンスヘッダーを生成するために使用され、クライアントに接続のキープアライブ期間を通知します。たとえば、この項目を 10 に設定すると、ゲートウェイは keep-alive: timeout=10 を返します。0 に設定すると、ヘッダーは返されません。

WebsocketTermGracePeriod

整数。有効な値:[20, 900] (秒)

ゲートウェイインスタンスのアップグレードや再起動など、接続をクローズする必要があるシナリオにおいて、WebSocket 接続のキープアライブ期間を維持します。

EnableGzipHardwareAccelerate

ブール値

専用ハードウェアを使用してデータを圧縮します。有効にすると、リクエストとレスポンスが圧縮され、ゲートウェイトラフィックが大幅に削減されます。また、ソフトウェアベースの gzip よりも高いパフォーマンスと低い CPU 使用率を実現します。これをサポートしていないリージョン、または gzip ハードウェアアクセラレーションなしで購入したインスタンスでは、この項目を有効にできません。有効にすると、EnableGzipZipAlgorithm は無効になります。

EnableK8sSourceWorkloadFilter

ブール値

サービスソースを追加する際に、指定したラベルで Ingress、Service、および Pod リソースをフィルタリングします。否定フィルタリングもサポートされています。