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

Microservices Engine:MseIngressConfig の構成

最終更新日:Nov 09, 2025

MseIngressConfig は、MSE Ingress Controller によって提供されるカスタムリソース定義 (CRD) であり、MSE クラウドネイティブゲートウェイインスタンスのライフサイクルを管理し、Ingress リスナーオプションとグローバル設定を構成します。このトピックでは、MSE クラウドネイティブゲートウェイインスタンスの作成、再利用、削除、アクセス制御のためのグローバルなインスタンスレベルの IP ブラックリストとホワイトリストの構成、Simple Log Service (SLS) ログの有効化、OpenTelemetry トレースの有効化など、MseIngressConfig の一般的な使用方法について説明します。

背景情報

MSE Ingress Controller は、クラスターで作成された MseIngressConfig リソースをリッスンします。対応するクラウドネイティブゲートウェイインスタンスのライフサイクルと、ACK マネージドクラスター、Serverless Kubernetes クラスター、または ACS クラスターとの関連付けを動的に維持します。

MSE クラウドネイティブゲートウェイのコントロールプレーンは、ACK マネージドクラスター、Serverless Kubernetes クラスター、または ACS クラスターの API サーバーと関連付けることで、Ingress リソースの変更を検出し、ゲートウェイのルーティングルールを動的に更新できます。リクエストを受信すると、MSE クラウドネイティブゲートウェイは Ingress 転送ルールに一致させ、リクエストをバックエンド Service に対応する Pod に転送します。

次のリストは、Kubernetes における Service、Ingress、IngressClass、MseIngressConfig、および MSE Ingress Controller の関係を説明しています。

  • Service: 実際のバックエンドサービスの抽象化です。Service は、複数の同一のバックエンドサービスを表すことができます。

  • Ingress: HTTP または HTTPS リクエストをどの Service に転送すべきかを指定するリバースプロキシルールです。たとえば、リクエストのホストと URL パスに基づいて、リクエストを異なる Service に転送できます。

  • IngressClass: Kubernetes クラスターで Ingress プロセッサーの実装を宣言するために使用される Ingress プロセッサーの説明です。この IngressClass に関連付けられた Ingress リソースは、宣言された Ingress プロセッサーによって解析されます。解析された Ingress リソースで定義されたトラフィック管理ルールを適用するには、IngressClass の Parameter フィールドを介して MseIngressConfig (MSE クラウドネイティブゲートウェイ) を関連付ける必要もあります。

  • MseIngressConfig: MSE Ingress Controller によって提供される CRD で、クラウドネイティブゲートウェイインスタンスの基本情報を記述します。

  • MSE Ingress Controller: MSE クラウドネイティブゲートウェイインスタンスと構成を管理するコントロールプレーンです。これはネットワークデータプレーンではありません。クラスター内の MseIngressConfig リソースをリッスンし、MSE クラウドネイティブゲートウェイインスタンスを調整して、Ingress リソースで定義されたトラフィック管理ルールを適用します。

次の図は、MSE Ingress Controller の仕組みを示しています。ingress的应用场景

MseIngressConfig の説明

構成の説明

MseIngressConfig は、MSE Ingress Controller によって提供される CRD であり、MSE クラウドネイティブゲートウェイインスタンスのライフサイクルとグローバル構成を管理します。

説明

1 つの MseIngressConfig は 1 つの MSE クラウドネイティブゲートウェイインスタンスに対応します。複数の MSE クラウドネイティブゲートウェイインスタンスを使用するには、複数の MseIngressConfig 構成を作成する必要があります。再利用シナリオを除き、MseIngressConfig 構成を削除すると、カスケード削除によって対応する MSE クラウドネイティブゲートウェイインスタンスも削除されます。

次のサンプルコードは、完全な 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:
    downstreamIdleTimeout: 15
    enableHttp2: true
    enableXffTrustedCidrs: |-
      {"enable":true,"ipListContent":"x.x.x.x/24
      x.x.x.x"}
    preserveHeaderFormat: true
    upstreamIdleTimeout: 30
    tls:
      enableHardwareAcceleration: true
    ipAccessControl:
      whitelist:
      - 1.1.XX.XX
      - 2.2.XX.XX
  monitor:
    logging:
      sls:
        reuseProject: "xxx" # 空の値は、デフォルトのプロジェクトが使用されることを示します。
        compatibleNginx: false
    tracing:
      openTelemetry:
        sampleRate: "100"
  ingress:
    local:
      ingressClass:  mse
      watchNamespace: "" # 空の値は、すべての名前空間を示します。

パラメーター

説明

オプション

デフォルト値

name

ゲートウェイの名前。

オプション

mse-ingress

common.pay.payType

課金方法。

現在、従量課金のみがサポートされています。

オプション

構成されていない場合、システムはデフォルトで従量課金になります。

POSTPAY

common.instance.spec

ゲートウェイインスタンスタイプ。

有効な値:

  • 2c4g

  • 4c8g

  • 8c16g

  • 16c32g

オプション

4c8g

common.instance.replicas

ゲートウェイインスタンスのレプリカ数。

レプリカ数の有効範囲は 0 から 30 です。

オプション

3

common.network.vSwitches

プライマリおよびスタンバイ vSwitch。プライマリ vSwitch が最初にリストされ、次にスタンバイがリストされます。

少なくとも 1 つ、最大で 2 つの vSwitch を指定します。指定しない場合、vSwitch はコントローラー Pod が配置されているノードから取得されます。

オプション

なし

common.network.publicSLBSpec

ゲートウェイによって購入されたインターネット向け SLB インスタンスの仕様。

有効な値:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

オプション

slb.s2.small

common.network.privateSLBSpec

ゲートウェイによって購入されたイントラネット SLB インスタンスの仕様。

有効な値:

  • slb.s1.small

  • slb.s2.small

  • slb.s2.medium

  • slb.s3.small

  • slb.s3.medium

  • slb.s3.large

オプション

slb.s2.small

common.securityGroupType

セキュリティグループのタイプ。

有効な値:

  • enterprise: 高度セキュリティグループ

  • normal: 基本セキュリティグループ

オプション

normal

global.tls.enableHardwareAcceleration

TLS ハードウェアアクセラレーションのスイッチ。

これにより、HTTPS トラフィックのパフォーマンスが大幅に向上します。

オプション

有効

global.ipAccessControl.whitelist

グローバル IP アクセスホワイトリスト。

オプション

未構成

global.ipAccessControl.blacklist

グローバル IP アクセスブラックリスト。

オプション

未構成

global.downstreamIdleTimeout

ダウンストリームクライアントとゲートウェイ間の接続のアイドルタイムアウト。この期間内に読み取りまたは書き込みアクティビティがない場合、ゲートウェイは接続をアクティブに閉じます。単位: 秒。

オプション

15

global.enableHttp2

ゲートウェイの HTTP/2 プロトコルサポートを有効にするかどうかを指定します。

オプション

false

global.enableXffTrustedCidrs

Alibaba Cloud WAF や CDN などの信頼できる中間プロキシ IP アドレス範囲を CIDR 形式で構成します。この構成により、ゲートウェイは X-Forwarded-For (XFF) リクエストヘッダーを解析する際に、これらの信頼できるプロキシの IP をスキップし、クライアントの最終的な送信元 IP アドレスを正確に取得できます。

オプション

未構成

global.preserveHeaderFormat

クライアントリクエストヘッダーの元の大文字と小文字の形式を保持するかどうかを指定します。

オプション

false

global.upstreamIdleTimeout

ゲートウェイとアップストリームバックエンドサービス間の接続のアイドルタイムアウト。この期間内にアクティビティがない場合、ゲートウェイはアクティブに接続を閉じます。単位: 秒。

オプション

30

monitor.logging.sls

SLS ログサービスのスイッチ。

これを有効にするには、コントローラーに SLS 関連の権限を付与します。

オプション

無効

monitor.logging.sls.reuseProject

SLS ログサービスでアクセスログを配信する先のプロジェクト。

有効な値:

  • 空: デフォルトのプロジェクトを使用します (新しいものが作成されます)。

  • 指定された値: 既存のプロジェクトを使用します。

オプション

Empty

monitor.tracing.xTrace.sampleRate

OpenTelemetry トレースのサンプルレート。

オプション

0

monitor.tracing.openTelemetry

OpenTelemetry トレースのスイッチ。

オプション

デフォルトでは無効です。これは OpenTelemetry と相互排他的です。

monitor.tracing.openTelemetry.sampleRate

OpenTelemetry トレースのサンプルレート。

オプション

100

ingress.local.ingressClass

クラウドネイティブゲートウェイは、クラスター内の特定の IngressClass の下にある Ingress リソースをリッスンします。

有効な値:

  • 未構成: Ingress リソースをリッスンしません。

  • mse に設定: IngressClass が mse に設定された Ingress リソースをリッスンします。

  • 空の文字列 "" に設定: すべての Ingress リソースをリッスンします。

  • nginx に設定: IngressClass が nginx に設定された Ingress リソース、またはどの IngressClass にも関連付けられていない Ingress リソースをリッスンします。

  • 別の値に設定: IngressClass が指定された値に設定された Ingress リソースをリッスンします。

説明

この構成は、IngressClass リソースを介して MseIngressConfig を関連付けるよりも優先度が低くなります。

オプション

未構成

ingress.local.watchNamespace

クラウドネイティブゲートウェイが Ingress リソースをリッスンするクラスター内の名前空間。

有効な値:

  • 空: すべての名前空間をリッスンします。

  • 指定された値: 指定された名前空間をリッスンします。1 つの名前空間のみ指定できます。

オプション

Empty

ステータスの説明

MseIngressConfig リソースを作成した後、kubectl get mseingressconfig コマンドを実行してそのステータスを表示できます。MseIngressConfig のステータスは、Pending > Running > Listening の順に変化します。ステータスは次のように説明されます。

  • Pending: クラウドネイティブゲートウェイが作成中です。このプロセスには約 3 分かかります。

  • Running: クラウドネイティブゲートウェイが作成され、実行中です。

  • Listening: クラウドネイティブゲートウェイが実行中で、クラスター内の Ingress リソースをリッスンしています。

  • Failed: クラウドネイティブゲートウェイが無効な状態です。失敗の原因については、Status フィールドの Message を確認してください。

タグの説明

MseIngressConfig を介して作成または再利用される MSE クラウドネイティブゲートウェイインスタンスには、リソースタグが自動的に割り当てられます。MSE コンソールの基本情報セクションでゲートウェイのタグを表示できます。

重要

MSE クラウドネイティブゲートウェイコンソールで次の表のタグを編集しないでください。これらのタグを編集すると、ゲートウェイインスタンスに問題が発生する可能性があります。

タグ名

説明

ack.aliyun.com

MSE クラウドネイティブゲートウェイによって管理される Container Service for Kubernetes (ACK) クラスターの Ingress トラフィック。

ingress.k8s.alibaba/MseIngressConfig

MSE クラウドネイティブゲートウェイを MseIngressConfig に関連付けます。

kubernetes.reused.by.user

MSE クラウドネイティブゲートウェイが再利用されているかどうかを示します。再利用されている場合、関連付けられた MseIngressConfig が削除されても、MSE クラウドネイティブゲートウェイインスタンスは削除されません。

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

  1. MseIngressConfig を構成します。

    次のサンプルコードを使用して、3 つのレプリカと 2 コア 4 GB のインスタンスタイプを持つ mse-ingress という名前の MSE クラウドネイティブゲートウェイインスタンスを作成します。必要に応じて、他の MseIngressConfig 設定を変更します。

    apiVersion: mse.alibabacloud.com/v1alpha1
    kind: MseIngressConfig
    metadata:
      name: test
    spec:
      name: mse-ingress
      common:
        instance:
          spec: 2c4g
          replicas: 3
  2. ACK クラスターに IngressClass リソースを作成し、それを MseIngressConfig に関連付けます。

    ACK クラスターに IngressClass リソースを作成し、spec.parameters を使用して前のステップの MseIngressConfig に関連付けます。これにより、ACK クラスターに Ingress プロセッサーが宣言されます。その結果、この IngressClass に関連付けられたクラスター内の Ingress リソースは、MseIngressConfig に関連付けられた MSE クラウドネイティブゲートウェイインスタンスによって処理されます。

    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

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

既存の MSE クラウドネイティブゲートウェイインスタンスを再利用したい場合は、MseIngressConfig を作成する際に、spec.id に `gw-xxx` 形式でその一意の ID を指定します。spec.override パラメーターを使用して、再利用される MSE クラウドネイティブゲートウェイインスタンスの構成を MseIngressConfig の構成で上書きするかどうかを制御できます。

次のサンプルコードは、MseIngressConfig を使用して既存の MSE クラウドネイティブゲートウェイインスタンスを再利用します。ゲートウェイインスタンスをコンテナークラスターに関連付け、そのクラスター内で `ingressClass` が `mse` に設定されている Ingress リソースをリッスンするように構成します。

重要
  • 次の構成では、spec.overridefalse に設定されています。これは、MSE クラウドネイティブゲートウェイの既存の Ingress リスナーオプションとグローバル構成が上書きされないことを意味します。既存のゲートウェイインスタンスがこのコンテナークラスターに関連付けられていない場合、インスタンスは自動的にクラスターに関連付けられます。その後、その Ingress リスナーオプションは、`ingressClass` が spec.ingress.local.ingressClass の値 (この場合は `mse`) と一致する Ingress リソースをリッスンするように設定されます。既存のゲートウェイインスタンスがすでにコンテナークラスターに関連付けられている場合、元の Ingress リスナーオプションは上書きされません。

  • MSE クラウドネイティブゲートウェイの既存の Ingress リスナーオプションとグローバル構成を上書きしたい場合は、spec.override を `true` に設定する前に、MseIngressConfig のゲートウェイパラメーター構成が正しいことを確認する必要があります。これらの構成には、Ingress リスナーオプション、ハードウェアアクセラレーション、グローバルブラックリストとホワイトリスト、および可観測性が含まれます。これらの構成が MseIngressConfig で指定されていない場合、spec.override を `true` に設定すると、ゲートウェイの元のパラメーター構成が空の値で上書きされ、トラフィックが中断される可能性があります。

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

パラメーター

説明

spec.id

再利用するターゲット MSE クラウドネイティブゲートウェイインスタンスの ID。gw- で始まります。

spec.override

MseIngressConfig に基づいて、再利用される MSE クラウドネイティブゲートウェイインスタンスの構成を上書きするかどうかを指定します。

  • true に設定: ゲートウェイの元のパラメーター構成 (Ingress リスナーオプション、ハードウェアアクセラレーション、グローバルブラックリストとホワイトリスト、可観測性) を上書きします。

  • false に設定: ゲートウェイの元のパラメーター構成 (Ingress リスナーオプション、ハードウェアアクセラレーション、グローバルブラックリストとホワイトリスト、可観測性) を上書きしません。ただし、既存のゲートウェイインスタンスがこのコンテナークラスターに関連付けられていない場合、自動的にクラスターに関連付けられ、その Ingress リスナーオプションは `ingressClass` が spec.ingress.local.ingressClass の値と一致する Ingress リソースをリッスンするように設定されます。

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

1 つの MseIngressConfig は 1 つの MSE クラウドネイティブゲートウェイインスタンスに対応します。再利用シナリオを除き、MseIngressConfig 構成を削除すると、カスケード削除によって対応する MSE クラウドネイティブゲートウェイインスタンスも削除されます。

削除ポリシーは次の表に示されています。

ゲートウェイの課金方法

MSE Ingress Controller によって自動的に作成

コンソールで購入した再利用ゲートウェイ

従量課金

MseIngressConfig を削除すると、ゲートウェイインスタンスが自動的に削除されます。

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

サブスクリプション

該当なし。

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

次のコマンドを実行して、MseIngressConfig 構成を削除します。

kubectl delete mseingressconfig your-config-name

グローバルなインスタンスレベルの IP アクセス制御の構成

IP ホワイトリストの構成

グローバルなインスタンスレベルの IP ホワイトリストを構成して、指定された送信元 IP アドレスのみが MSE Ingress にアクセスできるようにすることができます。

次のサンプルコードは、MSE Ingress ゲートウェイインスタンスを構成して、送信元 IP アドレス 1.1.XX.XX または IP 範囲 2.0.XX.XX からのアクセスのみを許可します。

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

IP ブラックリストの構成

グローバルなインスタンスレベルの IP ブラックリストを構成して、指定された送信元 IP アドレスから MSE Ingress へのアクセスを拒否することができます。

次のサンプルコードは、MSE Ingress ゲートウェイインスタンスを構成して、送信元 IP アドレス 1.1.XX.XX または IP 範囲 2.0.XX.XX からのアクセスを拒否します。

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

SLS ログの有効化

SLS ログを有効にする前に、必要な SLS 権限を MSE Ingress Controller に付与する必要があります。

次のサンプルコードは、MSE Ingress ゲートウェイを構成して、アクセスログを demo という名前のプロジェクトに配信します。

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
   name: test
spec:
   ...
  monitor:
    logging:
      sls:
        # 空の値は、デフォルトのプロジェクトが使用されることを示します。
        reuseProject: "demo"
    ...
説明

reuseProject フィールドを構成して SLS ログを有効にできます。デフォルトのプロジェクトを使用したい場合は、reuseProject フィールドを空のままにします。

OpenTelemetry トレースの有効化

ゲートウェイに Alibaba Cloud OpenTelemetry トレースサービスを構成して、エンドツーエンドのトレースおよび監視システムを構築できます。これにより、オンラインの問題を迅速に診断し、特定するのに役立ちます。

次のサンプルコードは、MSE Ingress ゲートウェイの OpenTelemetry トレースをサンプルレート 100% で構成します。

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

その他の構成

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

これらの設定を構成するには、MSE ゲートウェイ管理コンソールにログインします。[クラウドネイティブゲートウェイ] > [ゲートウェイリスト] ページで、MSE Ingress Controller が使用するゲートウェイインスタンスを見つけます。インスタンス ID は `mse_ingresspost-*****` の形式です。インスタンス ID をクリックし、左側のナビゲーションウィンドウで [パラメーター設定] をクリックします。

構成項目

タイプ

説明

EnableGenerateRequestId

Bool

リクエストスコープに適用されます。有効にすると、リクエストをトレースするためにリクエストヘッダーに requestId を生成します。

EnableGzip

Bool

リクエストおよびレスポンスステージに適用されます。gzip を有効にすると、リクエストとレスポンスが圧縮され、ゲートウェイのトラフィックは減少しますが、ゲートウェイの CPU 消費量が増加します。

EnableSlashMerge

Bool

リクエストステージに適用されます。リクエスト内の余分なスラッシュ ('/') をマージするかどうかを指定します。有効にすると、`www.a.com//b` 内の余分なスラッシュがマージされ、`www.a.com/b` と同一になります。

DownstreamConnectionBufferLimits

Int

有効値: [0, 2147483647]

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

XffTrustedNum

Int

有効値: [0, 10]

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

DownstreamHttp2MaxConcurrentStream

Int

有効値: [0, 2147483647] (バイト)

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

InitialStreamWindowSize

Int

有効値: [65535, 2147483647] (バイト)

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

InitialConnectionWindowSize

Int

有効値: [65535, 2147483647] (バイト)

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

EnableHttp3

Bool

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

PathWithEscapedSlashes

String

有効値: [KEEP_UNCHANGED, REJECT_REQUEST, UNESCAPE_AND_REDIRECT, UNESCAPE_AND_FORWARD]

URI パスに %2F、%2f、%5C、%5c などのエスケープ文字が含まれるリクエストに対するアクションを決定します。デフォルトは KEEP_UNCHANGED (そのまま維持) です。

ZipAlgorithm

List<String>

有効値: [brotli, gzip]

圧縮が有効な場合に使用するアルゴリズム。brotli または gzip を選択できます。この時点で EnableGzip が有効でない場合、自動的に有効になります。

EnableProxyProtocol

Bool

Proxy Protocol を有効にするかどうかを指定します。ゲートウェイのイングレストラフィックが NLB を使用する場合、これを有効にしないとクライアントの送信元 IP アドレスを取得できません。有効にしても、Proxy Protocol 以外のリクエストには影響しません。

EnableCustomAuthConfigPush

Bool

自己構築の権限付与サービスを使用するシナリオに適用されます。有効にすると、権限付与ルールの変更が接続の中断を引き起こさなくなり、WebSocket やオンラインビジネスのシナリオに適しています。

KeepaliveHeaderTimeout

Int

有効値: [0, 600] (s)

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

WebsocketTermGracePeriod

Int

有効値: [20, 900] (s)

ゲートウェイインスタンスのアップグレードや再起動など、接続を閉じる必要がある場合に WebSocket 接続に対して維持されるキープアライブ時間。

EnableGzipHardwareAccelerate

Bool

専用ハードウェアに基づいて Gzip 圧縮を実行します。有効にすると、リクエストとレスポンスを圧縮し、ソフトウェア Gzip よりも高いパフォーマンスと低い CPU 消費量でゲートウェイのトラフィックを大幅に削減します。サポートされていないリージョンや、購入時に Gzip ハードウェアアクセラレーションが指定されていなかった場合は有効にできません。有効にすると、EnableGzip と ZipAlgorithm は効果がありません。

EnableK8sSourceWorkloadFilter

Bool

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