アプリケーション ネットワーキング サービス : Cisco CSS 11500 シリーズ コンテンツ サービス スイッチ

CSS 11000 の「レイヤ 5」コンテンツ ルール

2002 年 10 月 30 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 1 月 30 日) | フィードバック

目次


概要

このテクニカル ノートでは、レイヤ 5 コンテンツ ルールの固有の動作、このルールが HTTP(ポート 80)要求にどのように適用されるか、および レイヤ 5 コンテンツ ルールを使用して問題を判別する方法について説明します。

CSS 11000 のコンテンツ ルールは、トラフィックのロード バランシングに使用されます。 基本的には、トラフィックのバランシングを行うコンテンツ ルールには、レイヤ 3、レイヤ 4、および レイヤ 5 の 3 種類があります。 これらのタイプには数多くのバリエーションがありますが、あらゆるコンテンツ ルールはこれらのカテゴリのいずれかに分類され、Content Service Switch(CSS; コンテント サービス スイッチ)はこれらをそれぞれ別々に扱います。

ハードウェアおよびソフトウェアのバージョン

この文書の情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
  • WebNS バージョン 5.0、ビルド 10
  • ハードウェア バージョン CSS 11150

レイヤ 5 コンテンツ ルールの説明

レイヤ 5 ロード バランシング設定を用いると、CSS は Virtual IP Address(VIP; 仮想 IP アドレス)を使用し、URL に基づいて Web トラフィックを Web サーバに対してロード バランシングすることができます。レイヤ 5 ルールは URL に対するユーザの要求を検査する必要があるため、CSS は接続をプロキシ、つまり「スプーフ」して、ロード バランシングに関する決定を行う必要があります。 レイヤ 5 コンテンツ ルールで指定されている VIP に接続が送信されると、CSS はクライアントとの TCP ハンドシェイクを完了します。 続いて、クライアントはコンテンツに対する要求(GET /sample/index.html など)を含む HTTP ヘッダーを送信します。 CSS はクライアントによる要求を評価し、ロード バランシングの決定を行います。

基本的なレイヤ 5 コンテンツ ルール

基本的なレイヤ 5 コンテンツ ルールの例を次に示します。
 
!*************************** OWNER ***************************
owner test

  content layer5
    protocol tcp
    vip address 172.17.63.201
    add service server1
    port 80
    url "/*"
    active

上記のコンテンツ ルールでは、エントリ url "/*" により、ルールがレイヤ 5 になります。 url "/*" 文がないと、CSS はこれをレイヤ 4 のルールと見なします。これがレイヤ 4 のルールである場合は、CSS  は接続をスプーフせず、パケットに Network Address Translation(NAT; ネットワーク アドレス変換)のみを実行し、コンテンツ ルールのサービスに送信します。 しかし、上記のコンテンツ ルールには url "/*" 文があるため、VIP アドレス 172.17.63.201 に対する接続が行われた場合、CSS は接続をスプーフし(TCP ハンドシェイクを完了して)、要求された URL の HTTP ヘッダーを検査します。 CSS が HTTP ヘッダーを解析し、URL を決定したら、ロード バランシングの決定を行います。 CSS がロード バランシングの決定を行った後、ロード バランシングされるサービスの 1 つへの TCP ハンドシェイクを完了し(クライアントとしてスプーフして)、コンテンツに対する要求がクライアントに返されます。

「レイヤ 5」コンテンツ ルールのトラブルシューティング方法

クライアントが要求している URL を決定するには、CSS は TCP ハンドシェイクを完了する必要があるため、CSS が要求元クライアントへ戻る経路を確保していることが非常に重要になります。 クライアントへ戻る経路がなければ、CSS は TCP ハンドシェイクを完了できないため、レイヤ 5 ルールへの接続は失敗します。 クライアントへ戻る経路を確保する最も簡単な方法としては、クライアント固有のネットワークに関する route 文を設定する方法、または CSS でデフォルトのルートを設定する方法があります。

レイヤ 5 コンテンツ ルールの設定における最も重要な手順は、次の 2 つです。

  • コンテンツ ルールに url "/*" 文を追加する。
  • クライアントへ戻る経路を確保する。

コンテンツ ルールの確認方法

コンテンツ ルールの設定を確認するには、show run owner を実行します。 このコマンドは、owner セクションで始まる、実行コンフィギュレーションを表示します。 このコマンドからは、次のような出力が表示されます。
 
!*************************** OWNER ***************************
owner test

  content layer5
    protocol tcp
    vip address 172.17.63.201
    add service server1
    port 80
    url "/*"
    active

特定のルールの固有のパラメータを確認するには、コマンド show rule または show rule {owner}{content rule} を使用します。例として、show rule test layer5 の出力を次に示します。
 
Name:                  layer5   Owner:             test
State:               Active   Type:              HTTP
Balance:          Round Robin   Failover:           N/A
Persistence:          Enabled   Param-Bypass: Disabled
IP Redundancy:  Not Redundant
L3:         172.17.63.201
L4:         TCP/80
Url:     /*
Redirect: ""
Rule Services:
 1: server1-Alive
上記の出力では、状態が Active で Url が /* であることに注意してください。 これらのパラメータは、コンテンツ ルールがアクティブであるかどうかの確認、およびどのような URL 情報を検索中であるかの確認にとって重要です。上記の例では、コンテンツ ルールはアクティブで、任意の URL にマッチします。

もう 1 つの便利なコマンド、show rule-summary の出力を次に示します。

VIP Address     Port  Prot Url                CntRuleName    OwnerName  State
--------------- ----- ---- ------------------ -------------- ---------- ------
172.17.63.201   80    TCP  /*                 layer5         test       Active

コンテンツ ルールが機能しない理由の判別

トラブルシューティングの共通の問題には、コンテンツ ルールが機能しない理由の判別があります。 上記のコンテンツ ルールの例には、server1 という名前の 1 つのサービスを用いたレイヤ 5 コンテンツ ルールがあります。 レイヤ 5 コンテンツ ルールをトラブルシューティングする方法の、シナリオの例を次に示します。

問題

コンテンツ ルールで指定されている VIP に接続しようとしても、ブラウザに接続がピアによってリセットされた、またはページが表示できないという内容のエラー メッセージが表示されます。 (レイヤ 5 ルールにより)CSS が接続をスプーフしていることは分かっているため、CSS に関する問題があると考えられます。 スニファにキャプチャされたトラフィックを調べると、クライアントが TCP ハンドシェイクを完了し、HTTP GET を実行し、すぐに CSS から TCP/RST(リセット)を受信していることが確認できます。 原因は何ですか。

解決策

このタイプのシナリオのトラブルシューティングにおける最初の手順は、コンテンツ ルールとサービスが活動状態であるかどうかの判別です。 これは、show rule を実行すれば簡単に行えます。

Name:                  layer5   Owner:             test
State:               Active   Type:              HTTP
Balance:          Round Robin   Failover:           N/A
Persistence:          Enabled   Param-Bypass: Disabled
IP Redundancy:  Not Redundant
L3:         172.17.63.201
L4:         TCP/80
Url:        /*
Redirect: ""
Rule Services:
 1: server1-Down
このように、ルールの状態は Active ですが、ルールのサービスの状態は Down になっています。 このシナリオでは、そのコンテンツ ルールにバインドされたすべてのサービスが Down 状態であることが問題でした。

問題の内容は次のとおりです。
CSS が TCP ハンドシェイクを完了した後、クライアントはコンテンツに対する HTTP 要求を発行しました。  CSS は URL 情報に関する HTTP ヘッダーを検査し、その要求がコンテンツ ルール「layer5」にマッチすると判定しました。 そのコンテンツ ルールに関して活動状態であったサービスは存在しなかったため、CSS は TCP/RST を発行して接続を閉じました。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 21301