例:ポリサーを使用したオーバーサブスクリプションの管理
インターフェイスがオーバーサブスクライブされている場合にポリサーを使用し、輻輳が発生した場合の動作を制御することができます。例えば、 表 1に記載されているように、サーバーがスイッチに接続されているとします。
サーバーの種類 |
つながる |
IPアドレス |
|---|---|---|
ネットワークアプリケーションサーバー |
1ギガビットインターフェイス |
10.0.0.1 |
認証サーバー |
1ギガビットインターフェイス |
10.0.0.2 |
データベース サーバー |
10ギガビットインターフェイス |
10.0.0.3 |
この例では、ユーザはネットワークアプリケーションサーバが提供するサービスにアクセスし、ネットワークアプリケーションサーバは必要に応じてデータベースサーバに情報を要求します。ユーザーから要求を受信すると、ネットワーク・アプリケーション・サーバーはまず認証サーバーに接続してユーザーの資格情報を検証します。ユーザーが認証され、ネットワークアプリケーションサーバーが要求されたサービスを提供する場合、データベースサーバーからアプリケーションサーバーに送信されるすべてのパケットは、アプリケーションサーバーに接続された1ギガビットイーサネットインターフェイスを2回(アプリケーションサーバーへのイングレス時とユーザーへのエグレス時)通過する必要があります。
ユーザー セッションのイベントの順序は次のとおりです。
ユーザーがアプリケーションサーバーに接続し、サービスを要求します。
アプリケーション・サーバーは、ユーザーの資格情報を要求し、それらを認証サーバーに中継します。
認証サーバーが資格情報を検証すると、アプリケーション・サーバーは要求されたサービスを開始します。
アプリケーション・サーバは、ユーザの要求を満たすために必要なファイルをデータベース・サーバに要求します。
データベース・サーバは、要求されたファイルをアプリケーション・サーバに送信します。
アプリケーションサーバーは、ユーザーへの応答に要求されたファイルを含めます。
データベース・サーバーからアプリケーション・サーバーへのトラフィックは、アプリケーション・サーバーが接続されている 1 ギガビット・インターフェースを輻輳させる可能性があります。この輻輳により、サーバーがユーザーからの要求に応答したり、ユーザー向けの新しいセッションを作成したりできなくなる可能性があります。ポリシングを使用して、これが発生しないようにすることができます。
このファイアウォール構成を作成するには、データベース サーバーで次の手順を実行します。
ポリサーを作成して、データベース・サーバーからアプリケーション・サーバーへのトラフィックが特定の制限を超えた場合にドロップします。
[edit firewall] user@switch# set policer Database-Egress-Policer if-exceeding bandwidth-limit 400 burst-size-limit 500m user@switch# set policer Database-Egress-Policer then discard
データベース・サーバーからアプリケーション・サーバーへのトラフィックを検査するフィルターを作成します。
[edit firewall] user@switch# edit family inet filter Database-Egress-Filter
データベース・サーバから送信され、アプリケーション・サーバを宛先とするトラフィックにポリサーを適用するようにフィルタを設定します。
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-1 from destination-address 10.0.0.1 user@switch# set term term-1 then policer Database-Egress-Policer
必要に応じて、データベースサーバーから他の宛先へのトラフィックを許可する条件を設定します(許可しないと、トラフィックは暗黙的な拒否ステートメントによって破棄されます)。
[edit firewall family inet filter Database-Egress-Filter] user@switch# set term term-2 then accept
fromステートメントを省略すると、条件がすべてのパケットに一致することになり、これが望ましい動作であることに注意してください。エグレス・フィルターを、アプリケーション・サーバーに接続されたデータベース・サーバー・インターフェースに出力フィルターとしてインストールします。
[edit interfaces] user@switch# set xe-0/0/3 unit 0 family inet filter output Database-Egress-Filter
最終的な設定は次のようになります。
firewall {
policer Database-Egress-Policer {
if-exceeding {
bandwidth-limit 400;
burst-size-limit 500m;
}
then discard;
}
family inet {
filter Database-Egress-Filter {
term term-1 {
from {
destination-address {
10.0.0.1/24;
}
}
then policer Database-Egress-Policer;
}
term term-2 { # If required, include this term so that traffic from the database server to other destinations is allowed.
then accept;
}
}
}
]