Edgio Premium ルール エンジンを使用した Azure コンテンツ配信ネットワークのリファレンス
この記事では、Azure コンテンツ配信ネットワーク ルール エンジンので使用できる一致条件と機能の詳細な説明を示します。
ルール エンジンは、特定の種類の要求がコンテンツ配信ネットワークによって処理される方法に関する最終的な権限として設計されています。
一般的な用途:
- カスタム キャッシュ ポリシーをオーバーライドまたは定義します。
- 機密性の高いコンテンツの要求をセキュリティで保護または拒否します。
- 要求をリダイレクトします。
- カスタム ログ データを格納します。
主な概念
ルール エンジンを設定するための主要な概念については、この記事で説明します。
ドラフト
ポリシーのドラフトは、要求とそれらに適用される一連のアクションを識別するための 1 つ以上のルールで構成されます。 下書きは進行中の作業であり、サイト トラフィックに影響を与えずに頻繁に構成を更新できます。 下書きを完成させる準備ができたら、読み取り専用ポリシーに変換する必要があります。
規則
ルールは、1 つ以上の種類の要求と、それらに適用される一連のアクションを識別します。
次の要素で構成されます。
- 要求を識別するロジックを定義する一連の条件式。
- 要求を識別するために使用する条件を定義する一連の一致条件。
- コンテンツ配信ネットワークが上記の要求を処理する方法を定義する一連の機能。 これらの要素は、次の図で識別されます。
政策
一連の読み取り専用ルールで構成されるポリシーは、次の手段を提供します。
- ルールの複数のバリエーションを作成、保存、管理します。
- 以前にデプロイしたバージョンにロールバックします。
- イベント固有のルールを事前に準備します (たとえば、顧客の配信元のメンテナンスの結果としてトラフィックをリダイレクトするルールなど)。
手記
環境ごとに許可されるポリシーは 1 つだけですが、必要に応じてポリシーが展開される場合があります。
デプロイ要求
デプロイ要求では、ステージング環境または運用環境にポリシーを迅速に適用できる簡単で合理化された手順が提供されます。 これらの環境に適用される変更の追跡を容易にするために、デプロイ要求の履歴が提供されます。
手記
自動検証およびエラー検出システムに合格しない要求にのみ、手動によるレビューと承認が必要です。
規則の優先順位
ポリシーに含まれるルールは、通常、一覧表示されている順序 (たとえば、上から下) で処理されます。 要求が競合するルールと一致する場合は、最後に処理されるルールが優先されます。
ポリシー展開ワークフロー
運用環境またはステージング環境にポリシーを適用できるワークフローを次に示します。
ステップ | 説明 |
---|---|
下書き を作成する | 下書きは、コンテンツ配信ネットワークによってコンテンツの要求がどのように処理されるかを定義する一連のルールで構成されます。 |
下書きをロックする | 下書きが確定したら、ロックして読み取り専用ポリシーに変換する必要があります。 |
展開要求の送信 | デプロイ要求を使用すると、ポリシーをテスト トラフィックまたは運用トラフィックに適用できます。 ステージング環境または運用環境にデプロイ要求を送信します。 |
リクエストレビューの展開 | デプロイ要求では、検証とエラーの検出が自動化されます。 ほとんどの展開要求は自動的に承認されますが、より複雑なポリシーでは手動レビューが必要です。 |
ポリシーの展開 (ステージング) | ステージング環境へのデプロイ要求の承認時に、ポリシーがステージング環境に適用されます。 この環境では、モック サイト トラフィックに対してポリシーをテストできます。 ライブ サイト トラフィックにポリシーを適用する準備ができたら、運用環境の新しい展開要求を送信する必要があります。 |
ポリシーの展開 (運用) | 運用環境へのデプロイ要求の承認時に、運用環境にポリシーが適用されます。 この環境では、コンテンツ配信ネットワークがライブ トラフィックを処理する方法を決定するための最終的な機関としてポリシーを機能できます。 |
構文
特殊文字の処理方法は、一致条件または機能がテキスト値を処理する方法によって異なります。 一致条件または機能は、次のいずれかの方法でテキストを解釈できます。
リテラル値
リテラル値として解釈されるテキストは、一致する必要がある値の一部として、% 記号を除くすべての特殊文字を扱います。 つまり、\'*'\
に設定されたリテラル一致条件は、その正確な値 (つまり、\'*'\
) が見つかった場合にのみ満たされます。
パーセント記号は、URL エンコード (たとえば、%20
) を示すために使用されます。
ワイルドカード値
ワイルドカード値として解釈されるテキストは、特殊文字に余分な意味を割り当てます。 次の表では、次の文字セットの解釈方法について説明します。
キャラクター | 説明 |
---|---|
\ | バックスラッシュは、この表で指定されている文字のいずれかをエスケープするために使用されます。 特殊文字をエスケープするには、その直前にバックスラッシュを直接指定する必要があります。 たとえば、次の構文はアスタリスクをエスケープします: \* |
% | パーセント記号は、URL エンコード (たとえば、%20 ) を示すために使用されます。 |
* | アスタリスクは、1 つ以上の文字を表すワイルドカードです。 |
空間 | 空白文字は、指定された値またはパターンのいずれかで一致条件が満たされていることを示します。 |
価値 | 一重引用符は特別な意味を持ちません。 ただし、値をリテラル値として扱う必要があることを示すために、一連の単一引用符が使用されます。 これは、次の方法で使用できます。 - 指定した値が比較値の任意の部分に一致するたびに、一致条件を満たすことができます。 たとえば、 'ma' は次のいずれかの文字列と一致します。/business/マラソン/asset.htm map.gif /business/template。map - 特殊文字をリテラル文字として指定できます。 たとえば、一連の単一引用符 (つまり、 ' ' または 'sample value' ) 内にスペース文字を囲むことで、リテラル空間文字を指定できます。- 空白の値を指定できます。 一重引用符 (つまり'') のセットを指定して、空白の値を指定します。 重要: - 指定した値にワイルドカードが含まれていない場合は、リテラル値と自動的に見なされます。つまり、一連の単一引用符を指定する必要はありません。 - バックスラッシュがこのテーブル内で他の文字をエスケープしない場合、シングルクォート内で指定されている場合は無視されます。 - 特殊文字をリテラル文字として指定するもう 1 つの方法は、円記号 (つまり、 \ ) を使用してエスケープすることです。 |
正規表現
正規表現は、テキスト値内で検索されるパターンを定義します。 正規表現表記は、さまざまな記号に固有の意味を定義します。 次の表は、正規表現をサポートする一致条件と機能によって特殊文字がどのように処理されるかを示しています。
特殊文字 | 説明 |
---|---|
\ | バックスラッシュは後に続く文字をエスケープし、それによりその文字が正規表現の意味を持つ代わりにリテラル値として扱われます。 たとえば、次の構文はアスタリスクをエスケープします: \* |
% | パーセント記号の意味は、その使用法によって異なります。%{HTTPVariable} : この構文は HTTP 変数を識別します。%{HTTPVariable%Pattern} : この構文では、パーセント記号を使用して HTTP 変数を識別し、区切り記号として使用します。\% : パーセント記号をエスケープすると、リテラル値として使用したり、URL エンコード (\%20 など) を示したりすることができます。 |
* | アスタリスクを使用すると、前の文字を 0 回以上照合できます。 |
スペース | 通常、スペース文字はリテラル文字として扱われます。 |
価値 | 単一引用符はリテラル文字として扱われます。 一連の単一引用符には特別な意味はありません。 |
正規表現をサポートする一致条件と機能は、Perl 互換正規表現 (PCRE) によって定義されたパターンを受け入れます。