レイヤー 7 ポリシー
レイヤー 7 (L7) ポリシーはトラフィックを分類するために使用されます。そのために、トラフィックの L7 情報と L7 ルールとの突き合わせが行われ、それらのルールが一致した場合は特定のアクションが実行されます。
- ポリシーは、フロントエンド・アプリケーション・ポート (プロトコル) に適用されます。
- 複数のポリシーを同じプロトコルに適用することが可能です。
複数のポリシーを 1 つのプロトコルに適用することが可能であるため、各ポリシーには優先順位が関連付けられます。
- 最も優先順位の低いポリシーが設定されているポリシーが最初に評価されます。
- そのポリシーに関連付けられたルールがトラフィックと一致しない場合、優先順位リストの中で次に低いポリシーが評価されます。
トラフィックがどのポリシー・ルールにも一致しない場合、トラフィックは基本ロード・バランサーのデプロイ時に構成されたデフォルト・プールに転送されます。
各ポリシーには、ポリシー内のすべてのルールがトラフィックと一致した場合に実行されるアクションが関連付けられます。
アクションには次のものがあります。
- 拒否
- HTTPS への転送
- URL への転送
- プールへの転送
reject に設定されたポリシーが最初に評価されます。
アクションが REDIRECT_HTTPS に設定されている場合は、HTTP トラフィックが HTTPS リスナー・ポートにリダイレクトされます。 このアクションの構成は、リスナーごとに 1 つのみサポートされます。 このアクションでは L7 ルールを構成できず、API を使用して構成する必要があります。 L7 ポリシーは、REDIRECT_HTTPS サービスの addL7Policies メソッドとともにアクション
SoftLayer_Network_LBaaS_L7Policy を使用して構成することができます。 redirectUrl データ型は、 HTTPS リダイレクトのために、 HTTPS リスナーの汎用一意識別子(UUID)を提供する。
Redirect to httpsポリシーは、Rejectの後に評価されます。 このポリシーが存在する場合、既存のRedirect to urlポリシーとRedirect to poolポリシーは適用されません。 また、既存の Redirect to https ポリシーが存在する場合、新しい Redirect to url および
Redirect to pool ポリシーを作成することはできません。
HTTPS リダイレクト・ポリシーが存在しない場合、Redirect to urlに設定されたポリシーは、Rejectの後に評価されます。
最後に、Redirect to poolに設定されたポリシーが評価されます。
各アクション・カテゴリー内では、ポリシーは優先順位の昇順に (最低から最高への順に) 評価されます。 リスナーごとに許可される REDIRECT_HTTPS のアクションは 1 つだけであり、REJECT を除く他のすべてのポリシーよりも優先されます。 結果として、「優先順位」の概念は適用されません。
レイヤー 7 ポリシーのプロパティー
| プロパティー (Property) | 説明 |
|---|---|
| 名前 | ポリシーの名前。 各ポリシーの名前は固有でなければなりません。 |
| アクション | ルールが一致した場合に実行されるアクション。 アクションは、REJECT、REDIRECT_HTTPS、REDIRECT_URL、および REDIRECT_POOL です。REDIRECT_HTTPS アクションは API でのみサポートされます。 |
| 優先順位 | 各アクション・カテゴリー内では、ポリシーは優先順位の昇順に評価されます。 そのようなアクションはリスナーにつき 1 つしか適用されないため、このフィールドは REDIRECT_HTTPS には適用されません。 |
| リダイレクト URL | アクションが REDIRECT_URL に設定されている場合にトラフィックが転送される先の URL。 さらに、アクションが REDIRECT_HTTPS に設定されている場合にトラフィックが転送される先の HTTPS リスナーの UUID。 |
| リダイレクト L7 プール | アクションが REDIRECT_POOL に設定されている場合にトラフィックが送信される先のサーバー・プール。 |
| プロトコル | ポリシーが適用されるフロントエンド・アプリケーション・ポート。 |
レイヤー 7 ルール
レイヤー 7 ルールは、着信トラフィックのどの部分を特定の値と突き合わせるのかを定義します。
REDIRECT_HTTPSアクションを含む L7 ポリシーでは、L7 ルールの追加は許可されていません。- 着信トラフィックがルールの指定値と一致する場合、そのルールは
trueと評価されます。 - レイヤー 7 ルールは、必ずレイヤー 7 ポリシーと関連付けられています。 複数のレイヤー 7 ルールを同じレイヤー 7 ポリシーに関連付けることができます。
- 複数のルールが 1 つのポリシーに関連付けられている場合、各ルールが
trueまたはfalseと評価されます。 - ポリシーに関連付けられているすべてのルールが
trueと評価されると、そのポリシーのアクションが要求に適用されます。 それ以外の場合、ロード・バランサーは次のポリシーを評価します。
ルールには、複数のタイプがあります。これらは、レイヤー 7 トラフィックのどの部分がルールと突き合わせられるのかを示します。
| タイプ | 抽出および評価されるフィールド |
|---|---|
HOST_NAME |
URL のホスト名の部分 (例: api.my_company.com) |
FILE_TYPE |
ファイル・タイプを表す、URL の末尾 (例: jpg) |
HEADER |
HTTP ヘッダー内のフィールド |
COOKIE |
HTTP ヘッダー内の名前付き Cookie |
PATH |
URL のホスト名に続く部分 (例: /index.html) |
ルールには比較タイプもあります。これは、ルールがどのように評価されるのかを示します。
| 比較タイプ | 評価のタイプ |
|---|---|
REGEX |
抽出されたフィールド (例: hostname) を、指定された正規表現と突き合わせます |
STARTS_WITH |
抽出されたフィールドが指定されたストリングで始まっているかどうかを検証します |
ENDS_WITH |
抽出されたフィールドが指定されたストリングで終わっているかどうかを検証します |
CONTAINS |
抽出されたフィールドが指定されたストリングを含んでいるかどうかを検証します |
EQUAL_TO |
抽出されたフィールドが指定されたストリングと同一かどうかを検証します |
すべてのルール・タイプがすべての比較タイプをサポートしているわけではありません。 例えば、FILE_TYPE を使用する場合は、比較タイプ REGEX および ENDS_WITH を使用するのが最適です。
レイヤー 7 ルールのプロパティー
| プロパティー (Property) | 説明 |
|---|---|
| タイプ | ルールのタイプを指定します。 ルールのタイプは、HOST_NAME、FILE_TYPE、HEADER、COOKIE、または PATH です。 |
| 比較タイプ | 比較タイプは、ルールを定義してトラフィックを分類するために、ルール・タイプ、キー、および値と関連して使用されます。 指定できる比較タイプは、REGEX、STARTS_WITH、ENDS_WITH、CONTAINS、または EQUAL_TO です。 |
| キー | ルール・タイプ HEADER および COOKIE の記述キー。 |
| 値 | ルール・タイプ HEADER および COOKIE の場合、値がキーと比較されます。 |
| 反転 | この値を 1 に設定すると、この L7 ルール比較の値は、指定されたルールが一致しない場合に true に設定されます。 |
| レイヤー 7 ポリシー ID | ルールが関連付けられるポリシーの固有 ID。 |