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

Edge Security Acceleration:ルールの特性

最終更新日:Aug 26, 2026

ルールベースの機能は、ルール設定とグローバル設定の優先度、リエントラント性、ルール設定の粒度という 3 つの点で異なります。本トピックでは、各特性について説明し、それぞれのルールベースの機能にどの特性が適用されるかを示します。

ルール設定とグローバル設定の優先度

  • 同一機能内では、追加するルール設定の優先度は、ルールが照合される順序のことです。ルール設定が追加されると、ルールリスト内でシーケンス番号が割り当てられます。ルール設定は、シーケンス番号の昇順で照合されます。

  • すべてのルールベースの機能には、ルール設定とグローバル設定の両方が含まれます。すべてのルール設定は、グローバル設定よりも優先度が高くなります。機能にルール設定とグローバル設定の両方があり、ユーザーリクエストがルール条件に一致する場合、まずルール設定が実行されます。ルール条件に一致しない場合、最後にグローバル設定が実行されます。グローバル設定が空の場合、ESA ノードのデフォルト設定が適用されます。

    次の表に、3 つのルール設定とグローバル設定を持つ機能のルールリストを示します。本トピックの例は、このルールリストに基づいています。

シーケンス番号

ルール設定

ルール条件

1

ルール設定 1

条件 A (不一致)

2

ルール設定 2

条件 B

3

ルール設定 3

条件 C

グローバル設定

なし

実行順序

ルール設定はシーケンス番号の昇順 (1、2、3 の順) で実行され、グローバル設定は最後に実行されます。

ルールベースの機能のリエントラント性

機能モジュールのリエントラント性とは、単一のリクエストの処理中にその機能モジュールを複数回呼び出せるかどうかを示す特性です。リエントラントな機能モジュールへの呼び出しは互いに干渉せず、すべての呼び出しの結果が有効になります。

リエントラントな機能

リクエストの処理中に、リエントラントな機能は複数回呼び出すことができます。呼び出しは互いに干渉せず、すべての呼び出しの結果が有効になります。たとえば、「オリジンリクエストヘッダーの変更」機能はリエントラントです。クライアントリクエストが複数のルール条件に一致する場合、一致した各条件のルール設定が実行されます。

例 1:オリジンリクエストヘッダーの変更

ユーザーリクエストが条件 B と条件 C の両方に一致する場合、ルール設定 2 とルール設定 3 の両方が実行されます。グローバル設定も実行されますが、アクションが設定されていないため効果はありません。その結果、次の 2 つのリクエストヘッダーがユーザーリクエストに追加されます:

  • animal: cat

  • fruit: apple

シーケンス番号

ルール設定

ルール条件

機能設定

実行済み

1

ルール設定 1

条件 A (不一致)7dfac9467c5afbc5844c5c98eaed41fa

名前が food で値が rice のリクエストヘッダーを追加します。

いいえ7dfac9467c5afbc5844c5c98eaed41fa

2

ルール設定 2

条件 B image

名前が animal で値が cat のリクエストヘッダーを追加します。

はい

3

ルール設定 3

条件 C

名前が fruit で値が apple のリクエストヘッダーを追加します。

はい

グローバル設定

なし

なし

はい

非リエントラントな機能

非リエントラントな機能は、リクエストの処理中に一度しか呼び出すことができません。呼び出しが終了すると、対応する機能モジュールも終了します。クライアントリクエストが複数のルール条件に一致する場合、最初に一致したルール設定のみが実行されます。

例 2:URL の書き換え

ユーザーリクエストが条件 B と条件 C の両方に一致する場合、ルール設定 2 のみが実行されます。ルール設定 2 はシーケンス番号が小さいため、最初に条件 B に一致します。その結果、ユーザーリクエスト URL のパスは /animal に書き換えられます:

  • 元のリクエスト:http://example.com/test

  • 書き換え後のリクエスト:http://example.com/animal

シーケンス番号

ルール設定

ルール条件

機能設定

実行済み

1

ルール設定 1

条件 A (不一致)7dfac9467c5afbc5844c5c98eaed41fa

ユーザーリクエスト URL のパスを /food に書き換えます。

いいえ7dfac9467c5afbc5844c5c98eaed41fa

2

ルール設定 2

条件 B

ユーザーリクエスト URL のパスを /animal に書き換えます。

はい

3

ルール設定 3

条件 C

ユーザーリクエスト URL のパスを /fruit に書き換えます。

いいえ7dfac9467c5afbc5844c5c98eaed41fa

グローバル設定

なし

なし

いいえ7dfac9467c5afbc5844c5c98eaed41fa

ルール設定の粒度

ルール設定の粒度には、機能ディメンションとサブ機能ディメンションがあります。この 2 つのディメンションは、サブ機能モジュールの設定が空の場合の動作が異なります。

機能ディメンション

機能ディメンションでは、空のサブ機能設定は他のルールで補完されません。ユーザーリクエストがルール条件に一致すると、設定が空のサブ機能モジュールは、設定が追加されなかったかのように実行されます。ルールは機能モジュール全体に適用され、設定は機能モジュール全体で有効になります。

例 3:SSL/TLS ルール (ルール設定が機能ディメンションで有効になる非リエントラントな機能)

ユーザーリクエストが条件 B と条件 C の両方に一致すると仮定します。ルール設定 2 はシーケンス番号が小さいため、最初に条件 B に一致し、ルール設定 2 のみが実行されます。ルール設定 2 で - と表示されている設定 (TLS 暗号スイートなど) は、デフォルト設定に基づいて有効になります。

シーケンス番号

ルール設定

ルール条件

SSL/TLS 暗号化

TLS 暗号スイートとプロトコルバージョンの設定

OCSP ステープリング

HTTP/2

HTTP/3 (QUIC)

実行済み

1

ルール設定 1

条件 A (不一致)7dfac9467c5afbc5844c5c98eaed41fa

有効

-

無効

無効

無効

いいえ7dfac9467c5afbc5844c5c98eaed41fa

2

ルール設定 2

条件 B

有効

-

無効

無効

無効

はい

3

ルール設定 3

条件 C

有効

-

有効

有効

有効

いいえ7dfac9467c5afbc5844c5c98eaed41fa

グローバル設定

なし

無効

-

無効

有効

有効

いいえ7dfac9467c5afbc5844c5c98eaed41fa

サブ機能ディメンション

サブ機能ディメンションでは、空のサブ機能設定は後続のルールによって補完されます。ユーザーリクエストがルール条件に一致すると、設定が空のサブ機能モジュールは、サブ機能設定が空でないルール条件に一致するまで、後続のルール条件との照合を続けます。ルールはサブ機能モジュールに適用され、設定はそのサブ機能モジュールで有効になります。

例 4:キャッシュルール (ルール設定がサブ機能ディメンションで有効になる非リエントラントな機能)

次の例では、ルールリストを 5 つのルール設定 (条件 A から条件 E) に拡張した、キャッシュルールの設定を示します。ユーザーリクエストが条件 B、条件 C、および条件 D に一致すると仮定します。ルール条件はシーケンス番号の昇順で照合され、設定されていない設定項目はグローバルのデフォルト設定に基づいて実行されます。次の表では、各サブ機能が個別の列になっており、「最終的に有効な設定」行に示すように、それぞれの値が独立して決定されます。

シーケンス番号

ルール設定

ルール条件

キャッシュ適格性

ブラウザキャッシュ TTL

エッジキャッシュ TTL

カスタムキャッシュキー

ポートキャッシュ

期限切れレスポンスのキャッシュ

[キャッシュ保持]

1

ルール設定 1

条件 A (不一致)7dfac9467c5afbc5844c5c98eaed41fa

キャッシュ対象

-

オリジンサーバーのキャッシュポリシーに従う (存在する場合)。それ以外の場合はキャッシュしない。

-

-

無効

-

2

ルール設定 2

条件 B

キャッシュ対象

-

オリジンサーバーのキャッシュポリシーに従う (存在する場合)。それ以外の場合はキャッシュしない。

-

-

無効

-

3

ルール設定 3

条件 C

キャッシュをバイパス

キャッシュしない

-

-

-

-

-

4

ルール設定 4

条件 D

キャッシュ対象

-

オリジンサーバーのキャッシュポリシーを無視し、1 時間のカスタムキャッシュ TTL を使用する。

クエリストリングを無視

-

無効

-

5

ルール設定 5

条件 E

キャッシュ対象

-

-

-

-

無効

-

グローバル設定

なし

-

-

-

-

デフォルトで無効

-

デフォルトで無効

最終的に有効な設定

キャッシュ対象

キャッシュしない

オリジンサーバーのキャッシュポリシーに従う (存在する場合)。それ以外の場合はキャッシュしない。

クエリストリングを無視

無効

無効

無効

各機能の特性

次の表に、各ルールベースの機能のルール設定におけるリエントラント性、粒度、および優先度を、機能カテゴリ別にまとめます。

機能カテゴリ

ルールベースの機能

リエントラント性

ルール設定の粒度

ルール設定の優先度

SSL/TLS

SSL/TLS ルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

HTTPS ルール

非リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

変換ルール

URL の書き換え

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

オリジンリクエストヘッダーの変更

リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

オリジンレスポンスヘッダーの変更

リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

リダイレクト

リクエストリダイレクト

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

[キャッシュ]

キャッシュルール

非リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

コンテンツ最適化

ファイル圧縮

非リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

画像最適化

非リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

動画処理

非リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

ネットワーク最適化

ネットワーク最適化ルール

非リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

オリジン

オリジンルール

非リエントラント

サブ機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

設定管理

バージョン管理

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

トラフィック

待合室ルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

負荷分散ルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。結果は [終了] アクションが設定されているかどうかにも依存します。 [終了] アクションが設定されている場合、最初に一致したルールが実行された後に照合は終了し、それ以上の照合は行われません。 [終了] アクションが設定されておらず、複数のルール条件に一致した場合は、最後に一致したルールの機能設定が有効になります。

セキュリティ保護

セキュリティルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

カスタムルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

レート制限ルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

マネージドルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

スキャン保護ルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

ホワイトリストルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。

ボットルール

非リエントラント

機能

ルールリストのシーケンス番号に基づきます。シーケンス番号が小さいほど、優先度が高くなります。