...

SLB(サーバ・ロードバランシング)

by user

on
Category: Documents
29

views

Report

Comments

Transcript

SLB(サーバ・ロードバランシング)
C H A P T E R
5
SLB(サーバ・ロードバランシング)
この章では、SLB 機能について説明します。具体的な内容は次のとおりです。
(注)
•
SLB の概要(p.5-2)
•
SLB の必須の設定作業(p.5-14)
•
SLB の任意で行う設定作業(p.5-20)
•
URL ベース SLB の必須の設定作業(p.5-29)
•
URL ベース SLB の任意で行う設定作業(p.5-33)
•
SLB のモニタおよびメンテナンス(p.5-34)
この章は、スイッチを設定する場合の推奨手順で紹介したステップ 3 に相当します。
「ス
イッチの設定順序」
(p.2-2)を参照してください。Catalyst 4840G プロセッサの設定が完
了し、SLB を設定できる状態になければなりません。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-1
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
SLB の概要
SLB 機能は、IP SLB を実現する IOS ベースのソリューションです。この機能を使用すると、
「サー
バ・ファーム」と呼ばれるネットワーク・サーバ・クラスタ内の実サーバ・グループを代表する仮
想サーバを定義できます。この環境では、クライアントは仮想サーバの IP アドレスに接続します。
クライアントが仮想サーバと接続を開始すると、設定されているロードバランシング・アルゴリズ
ムに基づいて、SLB 機能が接続する実サーバを選択します。
IOS SLB は、
「ファイアウォール・ファーム」と呼ばれるファイアウォール・グループの間のフロー
を分散するファイアウォール・ロードバランシングも提供します。
予定されたまたは突然の停電のため実サーバの 1 つがサービス停止したときには、SLB は引き継ぎ
機能を使用します。実サーバに障害が発生した場合は、利用可能な代わりのサーバが、クライアン
トへの影響を最小限にとどめて、障害の発生したサーバの機能を引き継ぎます。
図 5-1 は、SLB ネットワークを示したものです。
SLB の論理構成
29164
図 5-1
SLB は、URL ベースのロードバランシングをサポートします。URL ベースの SLB は、IOS ベース
のソリューションで、URL に基づいてロードバランシングを制御します。URL ベースのロードバ
ランシングは、特定の Web サーバに向けられた URL 要求を代行受信し、サーバ・ファームのセッ
トに要求を配布する手段です。サーバ・ファームに属するサーバはどれも、特定の URL に送信さ
れた要求を処理することができます。使用される照合基準は、厳密一致、最長一致、プレフィック
ス一致、およびサフィクス一致です。
図 5-2 は、URL ベースの SLB ネットワークを示したものです。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-2
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
URL ベース SLB の論理構成
49976
図 5-2
設定可能な SLB 機能
ここでは、SLB に設定できる機能について説明します。
•
SLB のアルゴリズム(p.5-4)
•
代替 IP アドレス(p.5-4)
•
自動サーバ障害検出(p.5-5)
•
自動障害解除(p.5-5)
•
クライアント割り当てのロードバランシング(p.5-5)
•
コンテンツ・フロー・モニタのサポート(p.5-5)
•
TCP 接続コンテキストの削除据え置き(p.5-5)
•
SLB の DFP(Dynamic Feedback Protocol)
(p.5-5)
•
HTTP リダイレクト・ロードバランシング(p.5-6)
•
最大接続数(p.5-6)
•
NAT(ネットワーク・アドレス変換)
(p.5-6)
•
ポート・バインド・サーバ(p.5-8)
•
プローブ(p.5-8)
•
冗長性拡張機能(p.5-9)
•
スロー・スタート(p.5-9)
•
スティッキー接続(p.5-10)
•
SynGuard(p.5-10)
•
TCP セッションの再割り当て(p.5-10)
•
トランスペアレント Web キャッシュ・バランシング(p.5-10)
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-3
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
SLB のアルゴリズム
SLB では、ウエイト付きラウンドロビンおよびウエイト付き最小接続という 2 種類のロードバラン
シング・アルゴリズムを使用できます。仮想サーバに新しい接続要求が届くたびに、その接続用の
実サーバを選択するための基盤として、どちらかのアルゴリズムを指定できます。
ウエイト付きラウンドロビン
ウエイト付きラウンドロビン・アルゴリズムでは、仮想サーバへの新規接続に使用する実サーバを、
サーバ・ファームから循環方式で選択することを指定します。各実サーバにはウエイトとして n が
設定されます。このウエイトは、仮想サーバに対応づけられた他の実サーバとの比較において、接
続処理容量を表します。つまり、特定の実サーバに新規接続が n 回割り当てられてから、サーバ・
ファーム内の次の実サーバが選択されます。
たとえば、n = 3 の実サーバ A、n = 1 のサーバ B、および n = 2 のサーバ C からなるサーバ・ファー
ムがあるとします。この場合、仮想サーバへの接続のうち、最初の 3 つはサーバ A に、4 番目は
サーバ B に、5 番目および 6 番目の接続はサーバ C に割り当てられます。
(注)
サーバ・ファーム内のすべてのサーバに n=1 というウエイトを割り当てると、IOS SLB
スイッチはウェイトなしのラウンドロビン・アルゴリズムを使用します。
ウエイト付き最小接続
ウエイト付き最小接続のアルゴリズムは、仮想サーバへの新しい接続用にサーバ・ファームから選
択する次の実サーバは、アクティブな接続が最小のサーバであることを指定します。各実サーバに
はこのアルゴリズムのウエイトが割り当てられます。ウエイトが割り当てられると、各サーバのア
クティブな接続数と各サーバの相対容量に基づいて、どのサーバが最小接続であるかが判断されま
す。特定の実サーバの容量は、そのサーバに割り当てられたウエイトを、その仮想サーバに対応づ
けられたすべての実サーバに割り当てられたウエイトの合計で除算して算出(n1/(n1+n2+n3...) しま
す。
たとえば、n = 3 の実サーバ A、n = 1 のサーバ B、および n = 2 のサーバ C からなるサーバ・ファー
ムがあるとします。計算の結果、サーバ A の容量は 3/(3+1+2)、つまり、仮想サーバ上の全アクティ
ブ接続のうちの半分になります。サーバ B は全アクティブ接続の 6 分の 1、サーバ C は全アクティ
ブ接続の 3 分の 1 になります。仮想サーバへの次回の接続は、常に、アクティブ接続数が算出され
た容量から最も離れている実サーバに割り当てられます。
(注)
サーバ・ファーム内のすべてのサーバに n=1 というウエイトを割り当てると、IOS SLB
スイッチはウェイトなしの最小接続アルゴリズムを使用します。
代替 IP アドレス
SLB により、Telnet を介して、代替 IP アドレスを使用してロードバランシング・デバイスに接続で
きます。次のどちらかの方法を取ることができます。
•
いずれかのインターフェイス・アドレスを使用して、ロードバランシング・デバイスに接続す
る。
•
セカンダリ IP アドレスを定義して、ロードバランシング・デバイスに接続する。
この機能は、LD(LocalDirector)の alias コマンドを使用した結果と同じです。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-4
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
自動サーバ障害検出
SLB は自動的にそれぞれの失敗した試行を検出し、TCP によって実サーバに接続します。この時、
SLB によってそのサーバの障害カウンタが増やされます(障害カウンタは、同一クライアントから
の TCP 接続エラーがすでにカウントされている場合は増えません)。サーバの障害カウンタが設定
可能な障害スレッシュホールドを超えると、サーバはサービス停止とみなされ、アクティブ実サー
バのリストから削除されます。
自動障害解除
実サーバが故障し、アクティブ・サーバ・リストから削除されると、設定可能な再試行タイマで指
定された期間、そのサーバには新規接続が割り当てられません。その期間が満了すると、サーバは
再び新規仮想サーバ接続に適格となり、SLB からサーバに次の適格性確認接続が送信されます。そ
の接続が成功すると、障害サーバがアクティブ実サーバ・リストに戻されます。接続が失敗した場
合、サーバはサービス停止のままになり、再試行タイマがリセットされます。
クライアント割り当てのロードバランシング
クライアント割り当てのロードバランシングにより、仮想サーバの使用が許可されたクライアント
IP サブネットの一覧を指定することで、仮想サーバを使用するサブネットを制限できます。この機
能を使用することで、仮想 IP アドレスに接続する特定のクライアント IP サブネットのセット(内
部サブネットなど)をあるサーバ・ファームに割り当て、別のクライアントのセット(外部クライ
アントなど)を別のサーバ・ファームに割り当てることができます。
コンテンツ・フロー・モニタのサポート
SLB は、CiscoWorks2000 製品ファミリーの Web ベースのステータス・モニタ・アプリケーション
である CFM(Cisco コンテンツ・フロー・モニタ)をサポートします。CFM を使用して、Cisco サー
バのロードバランシング・デバイスを管理できます。CFM は、Windows NT および Solaris ワークス
テーション上で動作し、Web ブラウザを使用してアクセスできます。
TCP 接続コンテキストの削除据え置き
IP パケットの順序異常が原因で、SLB は接続の他のパケットより先に TCP 接続の終了(finish [FIN]
または reset [RST])を認識することがあります。この問題が起きるのは、通常、TCP 接続パケット
がたどることのできるパスが複数ある場合です。接続の打ち切り後に届いたパケットを正しくリダ
イレクトするために、SLB は TCP 接続情報、つまりコンテキストを指定された期間だけ保持しま
す。接続が打ち切られて以後、コンテキストが保持される時間の長さは、遅延タイマで制御します。
SLB の DFP(Dynamic Feedback Protocol)
SLB DFP は、ロードバランス環境において、仮想サービスを提供しているホスト・システムのス
テータス変化をホスト・エージェントが動的に報告できるようにするメカニズムです。報告される
ステータスは、ホスト・サーバの作業量を指定する相対的なウエイトです。
SLB で DFP エージェントを定義すると、マネージャから DFP エージェントへの TCP 接続が開始さ
れます。この接続が確立されると、エージェントは定期的に SLB との接続を介してアップデート情
報を送信します。この情報は、接続に関するアプリケーション・レベルのキープアライブになるだ
けでなく、SLB が実サーバ間で負荷を分散させるのに使用されます。実サーバ上のエージェントに
送信する情報がなく、この DFP エージェントに対して非活動タイムアウト値が指定されている場
合、エージェントは接続が打ち切られないように空のレポートを送信しなければなりません。障害
が発生した場合は、SLB は実サーバにデフォルトのウエイトを使用します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-5
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
DFP エージェントは、実サーバ上で実行するソフトウェアにすることも、1 つ以上の実サーバから
情報を収集する独立したユニットにすることもできます。DFP エージェントは、情報をまとめて
DFP としてフォーマットし、定期的に SLB に伝達します。実サーバのトラフィック処理能力が突
然変化した場合など、DFP エージェントは必要に応じて早めにレポートを送ることができます。
Cisco 社の DistributedDirector は、DFP を使用して、SLB から仮想サーバが利用できるかどうかにつ
いての情報を入手できます。DistributedDirector は、この情報を使用して複数のサイト間での負荷の
不 均 衡 を 突 き 止 め、イ ン タ ー ネ ッ ト・ト ラ フ ィ ッ ク を 均 等 に 分 散 し ま す。こ の プ ロ セ ス は、
DistributedDirector に対して DFP マネージャが、また SLB デバイスに対しては DFP エージェントが
実行します。DFP エージェントは仮想サーバのアベイラビリティ・メトリックを算出し、DFP マ
ネージャはそのメトリックを使用して負荷の分配を決定します。
HTTP リダイレクト・ロードバランシング
HTTP リダイレクト・ロードバランシング機能では、HTTP および SSL セッションにわたって持続
性を確保できます。同じトランザクションに属する HTTP 要求は、すべて同じ実サーバに送信され
ます。このようなトランザクションの例には、ユーザが、
「ショッピング・カート」に品目を追加
して電子的に購入することによって、Web 上でショッピングをする場合などが挙げられます。
HTTP では、Web サーバが別のサーバに HTTP 要求をリダイレクトすることができます。HTTP リ
ダイレクト・ロードバランシングを使用すると、Web サーバは、WSVA(Web サーバ仮想アドレ
ス)として知られる公開仮想 IP アドレスによって特定されます。HTTP リダイレクト・ロードバラ
ンシングが設定されると、SLB は Web サーバへの HTTP 要求を代行受信し、中継仮想サーバ(RSVA
[Redirected Server Virtual Address])の IP アドレスを HTTP 要求の発信者に返します。RSVA は実サー
バに相当します。リダイレクトされると、クライアントは接続要求を WSVA ではなく RSVA の IP
アドレスに接続要求を送信します。SLB デバイスは 1 つの実サーバに RSVA IP アドレスを対応づ
けるので、クライアントと実サーバとの間の接続状態が継続するようになります。
HTTP リダイレクト・ロードバランシングは、プロキシの対象としなければならない TCP 接続数を
最小限に抑えることで、ハイ・パフォーマンスを実現します。この機能は TCP 接続イベントもモニ
タするので、実サーバの障害をすばやく検出することができます。サーバ障害が生じると、新しい
接続ではパケットが別の RSVA または指定されたバックアップ位置にリダイレクトされ、既存の接
続では接続がリセットされます。
最大接続数
SLB により、各サーバに最大接続数を設定できます。
SLB では、実サーバを割り当てるアクティブな接続数の限度を設定できます。そのサーバで最大接
続数に達すると、接続数が設定限度を下回るまで、以後すべての接続要求が、SLB によって別の
サーバに自動的に切り替えられます。
NAT(ネットワーク・アドレス変換)
Cisco IOS NAT、RFC 1631 を使用すると、未登録のプライベート IP アドレスをグローバルな登録 IP
アドレスに変換することにより、インターネットに接続するプライベート IP アドレスを未登録に
しておくことができます。NAT はさらに、内部 IP アドレスを外部ネットワークに対して隠すこと
により、ネットワークの機密性も高めます。
SLB は、次の 2 つのリダイレクション・モードのどちらかで動作します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-6
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
•
dispatched モード ― 仮想サーバ・アドレスが実サーバに認識され、SLB が MAC(メディア・
アクセス制御)レイヤで実サーバにパケットを転送します。dispatch モードでは、仮想サーバ
IP アドレスが変更されないので、実サーバはレイヤ 2 で SLB デバイスと隣接していなければ
なりません。隣接していない場合は、介在するルータが選択された実サーバにデータをルー
ティングできないことがあります。
(注) dispatched モードでしか SLB は FTP ロードバランシングをサポートしません。
したがって、FTP は NAT を使用できません。
•
directed モード ― どの実サーバにも認識されていない IP アドレスを仮想サーバに割り当てるこ
とができます。SLB がクライアントと実サーバ間で交換されるパケットを変換し、NAT によっ
て仮想サーバの IP アドレスを実サーバ・アドレスに変換します。
次のタイプの NAT が SLB によってサポートされています。
•
サーバ NAT ― 仮想サーバの IP アドレスを実サーバの IP アドレスに置き換えることにより(ま
たはその逆により)、サーバとロードバランシング・デバイスの間に多数のホップを設定し、ト
ンネリングしなくてもルータを介してルーティングすることができます。さらに、dispatch モー
ドの場合と同様、実サーバ上にループバック・インターフェイスおよびセカンダリ・インター
フェイスは不要です。一般的ではありませんが、サーバ NAT の 1 つの形式としてサーバ・ポー
ト変換があります。これには、仮想サーバ・ポートの置換が伴います。サーバ・ポート変換に
サーバ IP アドレス変換は不要ですが、
この 2 種類の変換をいっしょに使用してもかまいません。
(注) NAT 仮想サーバの実 IP アドレスとして IP アドレスが設定されている場合は、
そのアドレスから同じロードバランシング・デバイス上の別の仮想サーバ
(NAT または dispatched かに関係なく)への接続要求を分散できません。
ネットワーク設計者は、次のいずれかの方法で発信パケットが IOS SLB を通って転送されるよ
うにする必要があります。
− 直接配線
− デフォルトのゲートウェイまたはポリシーベースのルーティング
− サーバ側のインターフェイスで発信機能としてイネーブルになったクライアント・アドレ
スの SLB NAT
•
(注)
クライアント NAT ― 複数のロードバランシング・デバイスを使用する場合、クライアント IP
アドレスをデバイスのいずれかに対応づけられた IP アドレスに置き換えると、発信トラフィッ
クが適切なデバイスへ正しくルーティングされます。クライアント NAT に関しては、多数の
クライアントで同じ一時クライアント・ポートを使用する可能性があるので、一時クライアン
ト・ポートを変更することも必要です。これにより、パケットに対してサーバ NAT を実行で
き、ロードバランシング・デバイスの接続限定ステート・マシンによって重要なプロトコル・
イベント(TCP SYN、FIN、または RST)が認識されます。複数のロードバランシング・デバ
イスを使用しない場合でも、ロードバランシング対象の接続がデバイスを迂回してルーティン
グされることがないようにする上で、クライアント NAT が有効です。
サーバ NAT およびクライアント NAT は、共に同じ接続でサポートされます。
図 5-3 に、SLB NAT トポロジの例を示します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-7
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
NAT トポロジの例
38200
図 5-3
図 5-3 のトポロジには、Web サーバが 2 つあり、ポート 80 で待機する HTTP サーバ・アプリケー
ションが 1 つずつ稼働しています。サーバ 1 およびサーバ 2 は、サーバ・アドレス変換を実行する
スイッチ A によって負荷が分散されます。
Catalyst 4840G SLB スイッチでの SLB NAT の設定については、
「SLB NAT の設定(任意)」
(p.5-24)
を参照してください。
ポート・バインド・サーバ
仮想サーバを定義する際は、その仮想サーバによって処理される TCP または UDP ポートを指定す
る必要があります。ただし、サーバ・ファームに対して NAT を設定する場合は、ポート・バイン
ド・サーバも設定できます。ポート・バインド・サーバを使用すると、1 つの仮想サーバ IP アドレ
スで、あるサービス(例:HTTP [Hypertext Transfer Protocol])に対応する 1 組の実サーバを表し、
さらに別のサービス(例:Telnet)に対応する別の実サーバ・セットを表すことができます。
仮想サーバ定義に指定されていないポート用の仮想サーバ・アドレスに宛てられたパケットは、転
送されません。
ポート・バインド・サーバおよび非ポート・バインド・サーバは、共に SLB によってサポートされ
ますが、ポート・バインド・サーバの使用を推奨します。
プローブ
HTTP および ping プローブが SLB によってサポートされます。プローブは、ファイアウォールの反
対側にあるデバイスなど、負荷が均衡しているデバイスへの接続を確認する簡単な方法です。
HTTP プローブを使用すると、SLB となるアプリケーションをモニタすることができます。プロー
ブを頻繁に使用することによって、アプリケーションへの接続だけではなく、各アプリケーション
の動作を検証できます。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-8
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
各サーバ・ファームに対して複数のプローブを設定できます。
SLB
プローブによってサーバ・ファーム内の各実サーバのステータスが決まります。そのサーバ・ファー
ムに結合されているすべての仮想サーバに対応づけられているすべての実サーバが、プローブの対
象になります。
実サーバが 1 つのプローブで障害が発生すると、すべてのプローブで障害が発生します。実サーバ
が回復した後、すべてのプローブは、サービス状態に戻るまでにその回復を承認する必要がありま
す。
HTTP プローブ
ステータス・コード 401 を予期するように HTTP プローブを設定してください。これにより、パス
ワードの問題が解消されます。詳細については、expect コマンドを参照してください。
スイッチに HTTP サーバを設定する場合は、ip http server コマンドを使用します。詳細については、
Cisco IOS の『Configuration Fundamentals Command Reference』の ip http server コマンド を参照して
ください。
冗長性拡張機能
SLB デバイスは単一の障害発生位置となり、次のいずれかの事態が発生すると、サーバはバック
ボーンと接続できなくなる可能性があります。
•
SLB デバイスに障害が発生する。
•
スイッチから分散レイヤ・スイッチへのリンクが切断される。
このようなリスクを少なくするため、SLB は 2 つの冗長性オプションをサポートします。この 2 つ
は共に HSRP(Hot Standby Router Protocol)に基づいています。
•
ステートレス・バックアップ ― 個々の SLB switch のアベイラビリティに頼らずに、イーサネッ
ト・ネットワーク上のホストから IP フローをルーティングすることにより、高いネットワー
ク・アベイラビリティを実現します。
•
ステートフル・バックアップ ― SLB はプライマリとバックアップ・スイッチ間のロードバラ
ンシングの決定(つまり、「ステート維持」
)について、差分バックアップを実行できます。
SLB はアクティブ・スタンバイもサポートします。これにより 2 つの SLB が、同じ仮想 IP アドレ
スのロードバランシングを実行しながら、同時に相互のバックアップとして機能します。
•
ロードバランシングのための仮想 IP アドレスが 1 つしかサイトにない場合は、アクセス・ルー
タを使用して、クライアント・ポピュレーションのサブセットを各 SLB に送信します。
•
複数の仮想 IP アドレスがサイトにある場合、アクセス・ルータは不要です。
スロー・スタート
ウエイト付き最少ロードバランシング接続を使用する環境では、実サーバがサービス状態でも、最
初は接続がありません。したがって、多数の新規接続が割り当てられることによって、オーバロー
ドになる可能性があります。このようなオーバロードを防止するために、スロー・スタート機能に
よって、サービス状態になったばかりの実サービスに振り分ける新規接続数を制御します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-9
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
スティッキー接続
スティッキー接続機能を使用すると、クライアント IP アドレスまたはサブネットからの新規接続
を、そのアドレスまたはサブネットからの以前の接続が割り当てられたのと同様に、同じ実サーバ
(SLB の場合)に割り当てることができます。
SLB は、
「スティッキー・オブジェクト」を作成してクライアント割り当てをトラッキングします。
このオブジェクトは、最後のスティッキー接続が削除された後も、設定可能なスティッキー・タイ
マによって定義された期間だけ SLB デバイス・データベース内に残ります。タイマが仮想サーバ上
で設定されていると、次の条件が当てはまる場合に、クライアントからの新規接続は、前回のクラ
イアント接続を担当した実サーバに送られます。
•
同一クライアントの接続がすでに存在している。
•
クライアントからの前回の接続が終了してから新規接続の開始までの時間の長さが、タイマの
有効期間内である。
スティッキー接続により、複数の仮想サーバが担当するサービスを結合することもできます。これ
により、関連サービスに対する接続要求に同じ実サーバを使用することができます。たとえば、Web
サーバは通常、HTTP に TCP ポート 80 を使用し、HTTP SSL(Secure Socket Layer)にポート 443 を
使用します。HTTP 仮想サーバと HTTPS 仮想サーバが結合している場合は、同じクライアント IP
アドレスまたはサブネットからのポート 80 および 443 の接続には同じ実サーバが割り当てられま
す。
SynGuard
SynGuard 機能は、SYN フラッディング DoS(Denial of Service)攻撃と呼ばれるタイプのネットワー
ク問題を防止するために、仮想サーバが処理する TCP SYN のレートを制限します。ユーザがサー
バに大量の SYN を送信すると、サーバの処理能力を超えてしまい、サーバに障害が発生するので、
他のユーザにサービスを提供できなくなります。SynGuard は、そのような攻撃で SLB または実サー
バが停止しないようにします。SynGuard は、仮想サーバに対する SYN の数を一定期間モニタし、
設定された SYN スレッシュホールドを超えないようにします。スレッシュホールドに達すると、新
しい SYN は廃棄されます。
TCP セッションの再割り当て
SLB は、クライアントが新規接続を確立しようとすることによって、実サーバに送信される各 SYN
をトラッキングします。連続して複数の SYN からの応答がなかった場合、または SYN に RST で応
答が返された場合、TCP セッションは新しい実サーバに再割り当てされます。SYN 試行回数は、設
定可能な再割り当てスレッシュホールドによって制御されます。
トランスペアレント Web キャッシュ・バランシング
トランスペアレント Web キャッシュは、作用の対象となる IP アドレスがわかっている場合は、SLB
を使用して分散できます。それには、IP アドレスまたはその一部の一般的なサブセットを仮想サー
バとして設定します。
(注)
ページがキャッシュで利用できない場合は、Web キャッシュは実 Web サイトに独自の接
続を開始できます。このような接続は、同じ Web キャッシュ・セットとのロードバラン
シングの対象にはなりません。SLB は、[client exclude] ステートメントを設定できるよう
にすることで対応しているので、Web キャッシュが開始した接続の負荷を分散しません。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-10
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
SLB の制限事項
SLB には次の制限事項があります。
•
スタンドアロン・モードで動作します。現在、MNLB(MultiNode Load Balancing)サービス・
マネージャとしては動作しません。SLB の存在によって、MNLB 環境における外部サービス・
マネージャで既存の MNLB フォワーディング・エージェントを使用できなくなることはありま
せん。
•
バックアップ機能のために、異なる SLB インスタンス間で SLB 統計を調整することはできま
せん。
•
dispatched モードでしか FTP をサポートしません。
•
同一の LAN(ローカル・エリア・ネットワーク)または VLAN(仮想 LAN)上にあるクライ
アントと実サーバ間のトラフィックのロードバランシングはサポートしません。
•
アクティブ・スタンバイはサポートしません。
サポート対象の標準、MIB、RFC
次の標準、MIB、RFC がサポートされています。
•
SLB 機能は、新しい標準または変更された標準をサポートしません。
•
CISCO-SLB-MIB は SLB 機能をサポートします。
•
RFC 1631 ― NAT(ネットワーク・アドレス変換)
設定可能な URL ベースの SLB 機能
ここでは、URL ベースの SLB に設定できる機能について説明します。
(注)
•
URL マップ(p.5-11)
•
サーバ・ファーム(p.5-12)
•
ポリシー(p.5-12)
•
ポリシーベースの仮想サーバ(p.5-12)
•
TCP パラメータ(p.5-12)
•
HTTP 1.1(p.5-12)
URL ベースの SLB は、URL マップ、ポリシー、ポリシーベース仮想サーバだけでなく、
すべての標準 SLB 機能も使用して、既存の SLB 機能を拡張しています。
URL マップ
URL マップは、URL を定義するのに使用され、この URL を URL ベースの SLB ポリシーに対応づ
けます。マップに対して最大 4 つの URL を設定できます。URL マップの一部として設定される
URL は、ディレクトリ・シーケンスから成る文字列で、ファイル名で終わることもあります。この
文字列内では、文字「/」はディレクトリの各レベルのデリミタです。URL は、最長一致、厳密一
致、プレフィックス一致、およびサフィクス一致の設定ができます。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-11
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
サーバ・ファーム
サーバ・ファーム(またはサーバ・プール)は同じコンテンツを持つサーバの集合体です。サー
バ・ファームにサーバを追加するときおよびサーバ・プールを仮想サーバに追加するときは、サー
バ名を指定します。
ポリシー
ポリシーは、サーバ・ファームを URL マップにリンクします。ポリシーが仮想サーバにリンクさ
れる順序によってポリシーの順序が決まります。
Catalyst 4840G SLB スイッチで作成できるポリシー
の数には制限がありません。要求された URL に 2 つ以上のポリシーが一致する場合は、最高順位
のポリシーが選択されます。
(注)
URL ベースの SLB 用に設定されたすべての仮想サーバには、
デフォルトのサーバ・ファー
ムがなければなりません。
ポリシーベースの仮想サーバ
ポリシーベースの仮想サーバを指定して、各サーバ・ファームにポリシーが対応づけられたサー
バ・ファームのグループを表すことができます。この環境では、クライアントは、ポリシーベース
の仮想サーバの IP アドレスに接続します。クライアントがポリシーベースの仮想サーバに接続を
開始すると、URL ベースの SLB 機能が URL 要求を解析し、ユーザ設定ポリシーに基づいて適切な
サーバ・ファームを選択します。これにより、既存の SLB 機能が設定されたロードバランシング・
アルゴリズムに基づいてその接続に対する実サーバを選択します。
TCP パラメータ
TCP は、TCP セッションの起動/停止に既知のプロトコル・メッセージを使用する接続指向プロト
コルです。URL ベースの SLB では、接続データベースからの接続を追加または削除するときに、有
限状態マシンを使用して SYN、SYN/ACK、FIN、RST などの TCP 信号を対応づけます。この信号
は、サーバごとの接続数の判別やサーバの障害/回復の検出にも使用されます。
HTTP 1.1
HTTP 1.1 では、より優れたキャッシュ管理、チャンク符号化ができ、接続状態を持続できます。
HTTP 1.1 を使用すると、サーバに対して新しい接続を開かないで後続の GET 要求を発行できます。
HTTP 1.1 の GET 要求をパイプライン処理して、入力したものとは異なる順序で GET を処理するよ
うサーバに要求することもできます。
HTTP 1.1 をイネーブルにする場合は、URL ベースの SLB を設定する必要があります。Catalyst 4840G
SLB スイッチで HTTP 1.1 をイネーブルにする最小限の設定では、以下の処置が必要です。
•
サーバ・ファームを 2 つ設定する。
•
URL マップを少なくとも 2 つ設定する。
•
ポリシーを使用してサーバ・ファームに URL マップをバインドする。
•
仮想サーバ・ファームにポリシーを適用する。
図 5-4 に、URL ベースの SLB HTTP 1.1 トポロジ例を示します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-12
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の概要
HTTP 1.1 トポロジの例
50258
図 5-4
図 5-4 のトポロジには、サーバ・ファームが 2 つあり、ポート 80 で待機する HTTP サーバ・アプリ
ケーションが 1 つずつ稼働しています。サーバ 1 およびサーバ 2 は、サーバ・アドレス変換を実行
するスイッチ A を使用して負荷が分散されます。このトポロジでは、GET 要求を発行するクライ
アントからは見えない方法で以下のシナリオが実現できます。
•
サーバ・ファームを 2 つ設定します。図 5-4 では、サーバ・ファームはサーバ 1 およびサーバ
2 として指定されています。
•
URL マップを少なくとも 2 つ設定します。このマップを M1 および M2 とします。マップ M1
がすべての HTML ファイル(*.html)に一致し、マップ M2 がすべての JPG オブジェクト(*.jpg)
に一致するものとします。
•
ポリシーを使用してサーバ・ファームに URL マップをバインドします。ポリシー P1 にマップ
M1 をサーバ 1 にバインドさせ、ポリシー P2 にマップ M2 をサーバ 2 にバインドさせます。
•
仮想サーバ・ファームにポリシーを適用します。
このシナリオでは、HTML ファイルに対する GET 要求はサーバ 1 に送られます。JPEG オブジェク
トに対する後続の GET 要求はサーバ 2 にリダイレクトされます。
URL ベースの SLB の制限事項
URL ベースの SLB には次の制限事項があります。
•
プレフィックスおよびサフィクス照合を組み合わせて使用するときは、ワイルドカードのアス
タリスク(*)がサポートされます。
•
GET の HTTP 方式がサポートされます。
•
HTTP 1.1 パイプライン処理はサポートされません。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-13
第 5 章 SLB(サーバ・ロードバランシング)
SLB の必須の設定作業
SLB の必須の設定作業
ここでは、Catalyst 4840G SLB スイッチ上で基本的な SLB ネットワークを設定するのに必要な作業
について説明します。
SLB を設定するには、サーバ・ファームを特定し、サーバ・ファーム内の実サーバ・グループを設
定し、クライアントに対して実サーバを代表する仮想サーバを設定する必要があります。SLB 機能
に関して必要な設定作業は、次のとおりです。
•
SLB デバイス・ネットワークの例(p.5-14)
•
サーバ・ファームの設定(p.5-16)
•
サーバ・ファームの確認(p.5-16)
•
仮想サーバの設定(p.5-17)
•
仮想サーバの確認(p.5-17)
•
制限付きクライアントの設定(p.5-17)
•
制限付きクライアントの確認(p.5-18)
•
SLB 接続の確認(p.5-18)
•
SLB ネットワークのコンフィギュレーション例(p.5-19)
SLB デバイス・ネットワークの例
図 5-5 に、次のコンポーネントで構成される SLB ネットワークの例を示します。
•
2 つのサーバ・ファーム
− 1つはパブリック・アクセスを許可するように設定され、PUBLIC という名前です。
− もう 1 つは限定アクセスを許可するように設定され、RESTRICTED という名前です。
•
5 つの実サーバ
− PUBLIC サーバ・ファーム内に 3 つの実サーバがあり、それぞれ 10.10.1.1、10.1.1.2、およ
び 10.1.1.3 の IP アドレスで設定されています。
− RESTRICTED サーバ・ファーム内には 2 つの実サーバがあり、10.1.1.20 および 10.1.1.21 の
IP アドレスで設定されています。
•
2 つの仮想サーバ
− 1つはパブリック・アクセスを許可するように設定され、PUBLIC_HTTP という名前です。
このサーバは、WWW ポート(80)上で IP アドレス 10.0.0.1 のロードバランシング TCP 接
続として設定されています。
− もう 1 つは限定アクセスを許可するように設定され、
RESTRICTED_HTTP という名前です。
このサーバは、WWW ポート(80)上で IP アドレス 10.0.0.2 のロードバランシング TCP 接
続として設定されており、ネットワーク 10.4.4.X からのクライアントのみへのアクセスを
許可します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-14
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の必須の設定作業
SLB デバイス・ネットワークの例
38374
図 5-5
この図に示す SLB デバイス・ネットワークを設定するには、グローバル・コンフィギュレーショ
ン・モードで次のコマンドを実行します。
コマンド
目的
ステップ 1
SLB-Switch(config)# ip slb serverfarm
serverfarm-name
SLB-Switch(config-slb-sfarm)#
SLB デバイス・コンフィギュレーションにサーバ・
ファーム定義を追加し、サーバ・ファーム・コン
フィギュレーション・モードを開始します。
ステップ 2
SLB-Switch(config-slb-sfarm)# real
ip-address
SLB 機能に実サーバを認識させ、実サーバ・コン
フィギュレーション・モードを開始します。
ステップ 3
SLB-Switch(config-slb-real)# inservice
SLB が実サーバを使用できるように、実サーバを
イネーブルにします。
ステップ 4
SLB-Switch(config-slb-real)# exit
サーバ・ファーム・コンフィギュレーション・モー
ドに戻ります。
ステップ 5
SLB-Switch(config-slb-real)# end
グローバル・コンフィギュレーション・モードに
戻ります。
ステップ 6
SLB-Switch(config)# ip slb vserver
virtserver-name
仮想サーバを特定し、仮想サーバ・コンフィギュ
レーション・モードを開始します。
ステップ 7
SLB-Switch(config-slb-vserver)# virtual
ip-address {tcp | udp} port-number
[service service-name]
仮想サーバの IP アドレス、接続タイプ、ポート番
号、およびオプションのサービス結合を指定しま
す。
ステップ 8
SLB-Switch(config-slb-vserver)#
inservice
SLB が仮想サーバを使用できるように、仮想サー
バをイネーブルにします。
ステップ 9
SLB-Switch(config-slb-vserver)# client
ip-address network-mask
どのクライアントに仮想サーバを使用させるかを
指定します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-15
第 5 章 SLB(サーバ・ロードバランシング)
SLB の必須の設定作業
サーバ・ファームの設定
以下の一連のコマンドは、サーバ・ファーム PUBLIC を設定し、3 つの実サーバを対応づける方法
を示します。
SLB-Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
SLB-Switch(config)# ip slb serverfarm PUBLIC
SLB-Switch(config-slb-sfarm)# real 10.1.1.1
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# exit
SLB-Switch(config-slb-sfarm)# real 10.1.1.2
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# exit
SLB-Switch(config-slb-sfarm)# real 10.1.1.3
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# end
以下の一連のコマンドは、サーバ・ファーム RESTRICTED を設定し、2 つの実サーバを対応づける
方法を示します。
SLB-Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
SLB-Switch(config)# ip slb serverfarm RESTRICTED
SLB-Switch(config-slb-sfarm)# real 10.1.1.20
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# exit
SLB-Switch(config-slb-sfarm)# real 10.1.1.21
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# end
SLB-Switch#
サーバ・ファームの確認
次のコマンドは、サーバ・ファーム PUBLIC および RESTRICTED を表示し、実サーバとそのステー
タスを対応づける方法を示します。
SLB-Switch# show ip slb real
real
server farm
weight state
conns
--------------------------------------------------------------------10.1.1.1
PUBLIC
8
INSERVICE
0
10.1.1.2
PUBLIC
8
INSERVICE
0
10.1.1.3
PUBLIC
8
INSERVICE
0
10.1.1.20
RESTRICTED
8
INSERVICE
0
10.1.1.21
RESTRICTED
8
INSERVICE
0
SLB-Switch#
次のコマンドは、サーバ・ファーム PUBLIC および RESTRICTED の設定とステータスを表示する
方法を示します。
SLB-Switch# show ip slb serverfarm
server farm
predictor
nat
reals
bind id
--------------------------------------------------PUBLIC
ROUNDROBIN
none 3
0
RESTRICTED
ROUNDROBIN
none 2
0
SLB-Switch#
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-16
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の必須の設定作業
仮想サーバの設定
以下の一連のコマンドは、仮想サーバの PUBLIC_HTTP および RESTRICTED_HTTP を設定する方
法を示します。
SLB-Switch#
SLB-Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
SLB-Switch(config)# ip slb vserver PUBLIC_HTTP
SLB-Switch(config-slb-vserver)# virtual 10.0.0.1 tcp www
SLB-Switch(config-slb-vserver)# serverfarm PUBLIC
SLB-Switch(config-slb-vserver)# inservice
SLB-Switch(config-slb-vserver)#
16:17:48:
ADD_WILDCARD:
.
(出力は省略)
.
index = 1
SLB-Switch(config-slb-vserver)# exit
SLB-Switch(config)# ip slb vserver RESTRICTED_HTTP
SLB-Switch(config-slb-vserver)# virtual 10.0.0.2 tcp www
SLB-Switch(config-slb-vserver)# serverfarm RESTRICTED
SLB-Switch(config-slb-vserver)# inservice
SLB-Switch(config-slb-vserver)#
16:20:18:
ADD_WILDCARD:
.
(出力は省略)
.
index = 1
SLB-Switch(config-slb-vserver)# end
SLB-Switch#
仮想サーバの確認
次のコマンドは、仮想サーバの PUBLIC_HTTP および RESTRICTED_HTTP の設定を確認する方法
を示します。
SLB-Switch# show ip slb vservers
slb vserver
prot virtual
state
conns
------------------------------------------------------------------PUBLIC_HTTP
TCP
10.0.0.1:80
INSERVICE
0
RESTRICTED_HTTP TCP
10.0.0.2:80
INSERVICE
0
SLB-Switch#
SLB-Switch#
制限付きクライアントの設定
以下の一連のコマンドは、仮想サーバ RESTRICTED_HTTP をサービスから削除し、制限付きクラ
イアントが仮想サーバにアクセスできるようにしたあとで、再び仮想サーバをイネーブルにする方
法を示します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-17
第 5 章 SLB(サーバ・ロードバランシング)
SLB の必須の設定作業
SLB-Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
SLB-Switch(config)# ip slb vserver RESTRICTED_HTTP
SLB-Switch(config-slb-vserver)# no inservice
SLB-Switch(config-slb-vserver)#
16:23:14:
.
(出力は省略)
.
index = 1
SLB-Switch(config-slb-vserver)# client 10.4.4.0 255.255.255.0
SLB-Switch(config-slb-vserver)# inservice
SLB-Switch(config-slb-vserver)#
16:23:45:
ADD_WILDCARD:
src = 0 - 0
.
(出力は省略)
.
index = 1
SLB-Switch(config-slb-vserver)# end
SLB-Switch#
制限付きクライアントの確認
次のコマンドは、制限付きクライアント・アクセスおよびステータスを確認する方法を示します。
SLB-Switch# show ip slb conns client 10.4.4.0
vserver
prot client
real
state
nat
------------------------------------------------------------------------------RESTRICTED_HTTP TCP 10.4.4.0:80
10.1.1.20
CLOSING
none
SLB-Switch#
次のコマンドは、制限付きクライアント・アクセスに関する詳細情報を表示する方法を示します。
SLB-Switch# show ip slb conns client 10.4.4.0 detail
VSTEST_UDP, client = 10.4.4.0:80
state = CLOSING, real = 10.1.1.20, nat = none
v_ip = 10.0.0.2:80, TCP, service = NONE
client_syns = 0, sticky = FALSE, flows attached = 0
SLB-Switch#
SLB 接続の確認
SLB 機能がインストールされていて、正常に動作しているかどうかを確認するには、SLB スイッチ
から実サーバに ping を実行し、さらにクライアントから仮想サーバに ping を実行します。
次のコマンドは、SLB デバイス・ネットワーク・ステータスに関する詳細情報を表示する方法を示
します。
SLB-Switch# show ip slb stats
Pkts via normal switching: 0
Pkts via special switching: 6
Connections Created:
1
Connections Established:
0
Connections Destroyed:
0
Connections Reassigned:
0
Zombie Count:
0
Connections Reused:
0
SLB-Switch#
SLB ネットワークおよび接続の確認に使用する他のコマンドについては、
「SLB のモニタおよびメ
ンテナンス」
(p.5-34)を参照してください。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-18
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の必須の設定作業
SLB ネットワークのコンフィギュレーション例
次のコマンドは、図 5-5 の SLB デバイス・ネットワークを表示する方法を示します。
SLB-Switch# show running-config
Building configuration...
Current configuration:
!
.
(出力は省略)
.
ip slb probe PROBE2 http
request method POST url /probe.cgi?all
header Cookie Monster
header Authorization Basic U2VtaXN3ZWV0OmNoaXBz
!
ip slb serverfarm PUBLIC
nat server
real 10.1.1.1
inservice
real 10.1.1.2
inservice
real 10.1.1.3
inservice
probe PROBE2
!
ip slb serverfarm RESTRICTED
predictor leastconns
bindid 309
real 10.1.1.1
weight 32
maxconns 1000
reassign 4
faildetect numconns 16
retry 120
inservice
real 10.1.1.20
inservice
real 10.1.1.21
inservice
!
ip slb vserver PUBLIC_HTTP
virtual 10.0.0.1 tcp www
serverfarm PUBLIC
no inservice
!
ip slb vserver RESTRICTED_HTTP
virtual 10.0.0.2 tcp www
serverfarm RESTRICTED
no advertise
sticky 60 group 1
idle 1800
client 10.4.4.0 255.255.255.0
synguard 3600000
inservice
!
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-19
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
SLB の任意で行う設定作業
ここでは、Catalyst 4840G SLB スイッチに対する SLB 設定を微調整するために任意で行う一連の作
業について説明します。具体的な内容は、次のとおりです。
•
ロードバランシング・アルゴリズムの指定(任意)
(p.5-20)
•
HTTP リダイレクト・ロードバランシングの設定(任意)(p.5-20)
•
バインド ID の指定(任意)
(p.5-21)
•
実サーバ・アトリビュートの設定(任意)(p.5-22)
•
仮想サーバの値の調整(任意)(p.5-22)
•
SLB DFP(Dynamic Feedback Protocol)の設定(任意)
(p.5-23)
•
SLB NAT の設定(任意)(p.5-24)
•
HTTP プローブの設定(任意)(p.5-27)
ロードバランシング・アルゴリズムの指定(任意)
個々の新規接続要求に使用する実サーバを判別するために、SLB 機能では、ラウンドロビン(デ
フォルト)または最小接続の 2 種類のロードバランシング・アルゴリズムのうちのどちらか一方を
使用します。このアルゴリズムの詳細については、
「ウエイト付きラウンドロビン」
(p.5-4)または
「ウエイト付き最小接続」(p.5-4)を参照してください。
(注)
weight(サーバ・ファーム)
(サーバ・ファーム)実サーバ・コンフィギュレーション・コマンドを使用する
(サーバ・ファーム)
ことにより、サーバ・ファーム内の他の実サーバに対して相対的なウエイトを指定して、
実サーバを設定できます。
ロードバランシング・アルゴリズムを指定するには、サーバ・ファーム・コンフィギュレーショ
ン・モードで次の作業を実行します。
コマンド
目的
SLB-Switch(config-slb-sfarm)# predictor
[roundrobin | leastconns]
実サーバの選択方法を決定するために、ウエイト
付きラウンドロビン・アルゴリズムを使用するの
か、それともウエイト付き最小接続アルゴリズム
を使用するのかを指定します。
ウエイト付き最小接続アルゴリズムの設定例を、以下に示します。
SLB-Switch(config)# ip slb serverfarm RESTRICTED
SLB-Switch(config-slb-sfarm)# predictor leastconns
HTTP リダイレクト・ロードバランシングの設定(任意)
HTTP リダイレクト・ロードバランシング機能を使用すると、HTTP および SSL セッションにわたっ
て持続性を確保できます。
HTTP リダイレクト・ロードバランシングには、以下のガイドラインが適用されます。
•
ホスト名変換文字列は、WSVA 仮想サーバごとに 1 つしか設定できません。
•
RSVA IP アドレスは、1 つのサーバ・ファームにしか存在できません。
•
HTTP リダイレクト・コード 301 を使用して新規の RSVA 仮想サーバを作成する場合、このサー
バは、等しく負荷を負担するために、ウエイトを大きくして設定することが必要な場合もあり
ます。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-20
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
サーバ・ファームに対して HTTP リダイレクト・ロードバランシングを設定する例を、以下に示し
ます。
ip slb serverfarm ACME_SF1
predictor roundrobin http-redirect
webhost 1 name www.acme.com
!
redirect-vserver ACME1_VS
virtual 40.1.1.1 tcp www
webhost 1 relocation www1.acme.com/%p 301
webhost 1 backup www6.acme-inside.com
ssl https
inservice
!
redirect-vserver ACME2_VS
virtual 40.1.1.2 tcp www
webhost 1 relocation www2.acme.com/sales/%p
webhost 1 backup www1.acme.com 301
idle 240
delay 15
inservice
!
real 10.1.1.1
weight 4
faildetect numconns 4
redirect-vserver ACME1_VS
inservice
!
real 10.1.1.2
weight 4
reassign 2
redirect-vserver ACME2_VS
inservice
!
ip slb vserver ACME_VS
virtual 40.40.1.40 tcp www
serverfarm ACME_SF1
inservice
バインド ID の指定(任意)
バインド ID により、1 つの実サーバを複数の仮想サーバにバインドし、バインドされたサーバごと
に異なるウエイトつまり作業負荷を伝えることができます。実サーバは、その実サーバの複数のイ
ンスタンスとして表され、それぞれ異なるバインド ID が与えられます。このため、DEF はこのバ
インド ID を使用して、実サーバのどのインスタンスに特定のウエイトが対応するかを特定します。
サーバ・ファーム上で DFP が使用するバインド ID を設定するには、サーバ・ファーム・コンフィ
ギュレーション・モードで次の手順を実行します。
コマンド
目的
ステップ 1
SLB-Switch(config)# ip slb serverfarm
serverfarm-name
SLB-Switch(config-slb-sfarm)#
SLB デバイス・コンフィギュレーションにサーバ・
ファーム定義を追加し、サーバ・ファーム・コン
フィギュレーション・モードを開始します。
ステップ 2
SLB-Switch(config-slb-sfarm)# bindid
[bind_id]
サーバ・ファームで DFP が使用するバインド ID を
指定します。
サーバ・ファーム RESTRICTED でバインド ID 309 を設定する例を示します。
SLB-Switch(config)# ip slb serverfarm RESTRICTED
SLB-Switch(config-slb-sfarm)# bindid 309
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-21
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
実サーバ・アトリビュートの設定(任意)
実サーバ・コンフィギュレーション・モードで次のコマンドを使用すると、次の実サーバ・アトリ
ビュートを設定できます。
コマンド
目的
ステップ 1
SLB-Switch(config-slb-real)# faildetect
numconns number-conns [numclients
number-clients]
実サーバ障害になる連続接続エラー数を指定し、
任意で、固有のクライアントの接続エラー数を指
定します。
ステップ 2
SLB-Switch(config-slb-real)# maxconns
number-conns
実サーバ上で一時点に可能なアクティブ接続の最
大数を指定します。
ステップ 3
SLB-Switch(config-slb-real)# reassign
threshold
別の実サーバへの接続再割り当てが開始されるま
での、連続無応答 SYN の数を指定します。
ステップ 4
SLB-Switch(config-slb-real)# retry
retry-value
サーバ障害が検出されてから、次に障害サーバへ
の接続が試行されるまでの間隔を秒数で指定しま
す。
ステップ 5
SLB-Switch(config-slb-real)# weight
weighting-value
サーバ・ファーム内の他のサーバに対して、相対
的な実サーバの作業負荷の大きさを指定します。
仮想サーバの値の調整(任意)
仮想サーバのデフォルト値を変更するには、仮想サーバ・コンフィギュレーション・モードで次の
コマンドを実行します。
コマンド
目的
ステップ 1
SLB-Switch(config)# ip slb vserver
virtserver-name
仮想サーバを特定し、仮想サーバ・コンフィギュ
レーション・モードを開始します。
ステップ 2
SLB-Switch(config-slb-vserver)# no
advertise
ルーティング・プロトコルのアップデートから仮
想サーバの IP アドレスを省きます。
ステップ 3
SLB-Switch(config-slb-vserver)# client
ip-address network-mask
どのクライアントに仮想サーバを使用させるか
を指定します。
ステップ 4
SLB-Switch(config-slb-vserver)# delay
duration
TCP 接続の終了後、SLB がその接続を維持する時
間の長さを指定します(デフォルト値は、10 秒
です)。
ステップ 5
SLB-Switch(config-slb-vserver)# idle
duration
接続でパケット・アクティビティがない場合に、
SLB が接続を維持する最低限の時間の長さを指
定します(デフォルト値は 3600 秒 [60 分 ] です)。
ステップ 6
SLB-Switch(config-slb-vserver)# sticky
duration [group group-id] [netmask
netmask]
同じクライアントからの接続には、次の接続まで
の間隔が指定された長さ(秒単位)を超えない場
合に限り、同じ実サーバを使用することを指定し
ます。
ステップ 7
SLB-Switch(config-slb-vserver)#synguard
syn-count interval
SYN フラッディング DoS(Denial of Service)攻
撃を防止するために、仮想サーバが処理する TCP
SYN のレートを指定します。
ステップ 8
SLB-Switch(config-slb-vserver)#inservice
SLB が仮想サーバを使用できるように、仮想サー
バをイネーブルにします。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-22
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
仮想サーバ RESTRICTED_HTTP をサービスから削除し、
図 5-5 の制限付きクライアントが仮想サー
バにアクセスできるようにする方法を、以下に示します。
SLB-Switch(config)# ip slb vserver RESTRICTED_HTTP
SLB-Switch(config-slb-vserver)# no inservice
SLB-Switch(config-slb-vserver)#
16:23:14:
.
(出力は省略)
.
index = 1
SLB-Switch(config-slb-vserver)# client 10.4.4.0 255.255.255.0
デフォルトの設定では、仮想サーバのアドレスはアドバタイズされます。したがって、仮想サー
バ・アドレス用に Null0 へのスタティック・ルートが組み込まれます。ルーティング・プロトコル
を使用してこれらのスタティック・ルートをアドバタイズするには、ルーティング・プロトコル用
にスタティック・ルートの再分配を設定しなければなりません。スタティック・ルートの組み込み
を禁止する場合は、no 形式の advertise コマンドを使用します。
SLB-Switch(config-slb-vserver)# no advertise
遅延タイマを、仮想サーバとの TCP 接続が打ち切られてから 20 秒後に設定する例を、以下に示し
ます。
SLB-Switch(config-slb-vserver)# delay 20
次のコマンドでは、接続でパケット・アクティビティがない場合に、SLB デバイスが仮想サーバと
の接続を維持するアイドルタイムを 180 秒(3 分)に設定します。
SLB-Switch(config-slb-vserver)# idle 180
同じクライアントからの接続が同じ実サーバを使用する時間を 60 秒に設定する例を、以下に示し
ます。
SLB-Switch(config-slb-vserver)# sticky 60 group 1
次に、仮想サーバによって処理される TCP SYN のレートを 3600000 に設定する例を示します。
SLB-Switch(config-slb-vserver)# synguard 3600000
SLB DFP(Dynamic Feedback Protocol)の設定(任意)
SLB DFP では、ロードバランス環境にあるホスト・エージェントが、仮想サービスを提供している
ホスト・システムのステータス変化を動的に報告できます。報告されるステータスは、ホスト・
サーバの作業量を指定する相対的なウエイトです。
SLB DFP を設定するには、グローバル・コンフィギュレーション・モードで次のコマンドを実行し
ます。
コマンド
目的
ステップ 1
SLB-Switch(config)# ip slb dfp
[password password [timeout]]
DFP を設定し、任意でパスワードを設定して、DFP
コンフィギュレーション・モードを開始します。
ステップ 2
SLB-Switch(config-slb-dfp)# agent
ip_address port [timeout [retry_count
[retry_interval]]]
DFP エージェントを設定します。詳細については、
agent コマンドを参照してください。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-23
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
ステップ 3
コマンド
目的
SLB-Switch(config-slb-dfp)# manager
[port]
指定されたポートに DFP マネージャを割り当てま
す。詳細については、manager コマンドを参照し
てください。
次の設定を行う例を以下に示します。
•
DFP パスワードを Cookies に、タイムアウトを 360 秒に設定します。
•
IP アドレス 10.1.1.1 とポート 2221 でエージェントに接続するように SLB マネージャを指定し
ます。
SLB-Switch(config)# ip slb dfp password Cookies 360
SLB-Switch(config-slb-dfp)# agent 10.1.1.1 2221
•
DFP エージェントで、DFP マネージャをポート 2345 に割り当てます。
SLB-Switch(config)# ip slb dfp
SLB-Switch(config-slb-dfp)# manager 2345
SLB NAT の設定(任意)
クライアント・モードの SLB NAT を設定するには、グローバル・コンフィギュレーション・モー
ドで次のコマンドを実行します。
コマンド
目的
ステップ 1
SLB-Switch(config)# ip slb natpool
pool-name start-ip end-ip [netmask mask |
leading_1_bits]
クライアント・アドレス・プールを指定します。
ステップ 2
SLB-Switch(config-slb-sfarm)# nat {server
| client pool-name}
使用する NAT モードを指定します。
サーバ・ファーム PUBLIC に NAT サーバを設定する例を、以下に示します。
SLB-Switch(config)# ip slb serverfarm PUBLIC
SLB-Switch(config-slb-sfarm)# nat client
特定のサーバ・ファームにクライアント・モードの SLB NAT を設定するには、グローバル・コン
フィギュレーション・モードで以下のコマンドを実行します。
コマンド
目的
ステップ 1
SLB-Switch(config)#ip slb natpool
pool-name start-ip end-ip [netmask mask |
leading_1_bits]
クライアント・アドレス・プールを指定します。
ステップ 2
SLB-Switch(config)# ip slb serverfarm
serverfarm-name
SLB デバイス・コンフィギュレーションにサー
バ・ファーム定義を追加し、サーバ・ファーム・
コンフィギュレーション・モードを開始します。
ステップ 3
SLB-Switch(config-slb-sfarm)# nat {server
| client pool-name}
使用する NAT モードを指定します。
ステップ 4
SLB-Switch(config-slb-sfarm)# real
ip-address [port_number]
SLB 機能に実サーバを認識させ、実サーバ・コン
フィギュレーション・モードを開始します。
ステップ 5
SLB-Switch(config-slb-real)# inservice
SLB が実サーバを使用できるように、実サーバを
イネーブルにします。
ステップ 6
SLB-Switch(config-slb-real)# exit
サーバ・ファーム・コンフィギュレーション・
モードに戻ります。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-24
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
コマンド
目的
ステップ 7
SLB-Switch(config-slb-real)# end
グローバル・コンフィギュレーション・モードに
戻ります。
ステップ 8
SLB-Switch(config)# ip slb vserver
virtserver-name
仮想サーバを特定し、仮想サーバ・コンフィギュ
レーション・モードを開始します。
サーバ・ファーム FARM2 に NAT クライアントを設定する例を、以下に示します。
SLB-Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
SLB-Switch(config)# ip slb natpool Web-clients 128.3.0.1 128.3.0.254 netmask
255.255.0.0
SLB-Switch(config)# ip slb serverfarm FARM2
SLB-Switch(config-slb-sfarm)# nat client Web-clients
SLB-Switch(config-slb-sfarm)# real 10.3.1.1
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# exit
SLB-Switch(config-slb-sfarm)# real 10.4.1.1 8080
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# exit
SLB-Switch(config-slb-sfarm)# real 10.4.1.1 8081
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# exit
SLB-Switch(config-slb-sfarm)# real 10.4.1.1 8082
SLB-Switch(config-slb-real)# inservice
SLB-Switch(config-slb-real)# end
SLB-Switch#
00:27:00: %SYS-5-CONFIG_I: Configured from console by console
SLB-Switch# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
SLB-Switch(config)# ip slb vserver HTTP2
SLB-Switch(config-slb-vserver)# virtual 128.2.0.1 tcp www
SLB-Switch(config-slb-vserver)# serverfarm FARM2
SLB-Switch(config-slb-vserver)# inservice
SLB-Switch(config-slb-vserver)#
00:28:21:
ADD_WILDCARD:
(出力は省略)
SLB-Switch# copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
SLB-Switch#
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-25
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
次に、これまでの作業によって NAT クライアント・プールを設定した場合の、最終的なコンフィ
ギュレーションを示します。
SLB-Switch# show running-config
Building configuration...
(出力は省略)
!
ip slb natpool WEB-CLIENTS 128.3.0.1 128.3.0.254 netmask 255.255.0.0 entries 800
0 13851890
ip slb serverfarm FARM2
nat server
nat client WEB-CLIENTS
real 10.3.1.1
faildetect numconns 8 numclients 2
inservice
real 10.4.1.1 8080
faildetect numconns 8 numclients 2
inservice
real 10.4.1.1 8081
faildetect numconns 8 numclients 2
inservice
real 10.4.1.1 8082
faildetect numconns 8 numclients 2
inservice
!
ip slb vserver HTTP2
virtual 128.2.0.1 tcp www
serverfarm FARM2
inservice
!
NAT の設定例
図 5-6 に、SLB NAT コンフィギュレーション・トポロジの例を示します。
NAT トポロジの例
38200
図 5-6
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-26
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
図 5-6 のトポロジでは、2 つの Web サーバのそれぞれで、ポート 80 で待機する HTTP サーバ・ア
プリケーションが 1 つずつ稼働しています。
サーバ 1 およびサーバ 2 では、サーバ・アドレス変換を実行するスイッチ A を使用して、負荷が分
散されています。
スイッチ A のコンフィギュレーション・ステートメントは、次のとおりです。
ip slb serverfarm FARM1
! Translate server addresses
nat server
! Server 1 port 80
real 10.1.1.1
inservice
! Server 2 port 80
real 10.2.1.1
inservice
!
ip slb vserver HTTP1
! Handle HTTP (port 80) requests
virtual 128.1.0.1 tcp www
serverfarm FARM1
inservice
HTTP プローブの設定(任意)
HTTP プローブにより、SLB 対象のアプリケーションをモニタできます。プローブを頻繁に使用す
ることによって、アプリケーションの動作およびアプリケーションへの接続性を確認できます。
HTTP プローブの基本要件は、サーバ・ファーム内の各実サーバに HTTP GET を発行することによ
り、実サーバのステータスを判別することです。詳細については、
「TCP セッションの再割り当て」
(p.5-10)を参照してください。
HTTP プローブを設定するには、グローバル・コンフィギュレーション・モードで以下のコマンド
を実行します。
コマンド
目的
ステップ 1
SLB-Switch(config)# ip slb probe name
http
SLB プローブ名を指定し、HTTP コンフィギュレー
ション・サブモードに切り替えます。
ステップ 2
SLB-Switch(config-slb-probe)# request
method {get | post | head | name name
[url]}
サーバに対する要求を実行するためのメソッドを
設定します。
ステップ 3
SLB-Switch(config-slb-probe)# expect
[status number]
予期される HTTP ステータス・コードを設定しま
す。
ステップ 4
SLB-Switch(config-slb-probe)# interval
seconds
HTTP プローブ送信タイマを設定します。
ステップ 5
SLB-Switch(config-slb-probe)# header
{field-name}
HTTP プローブの基本的な認証値を設定します。
ステップ 6
SLB-Switch(config-slb-probe)# credentia
ls {username [password]}
HTTP プローブの基本的な認証値を設定します。
ステップ 7
SLB-Switch(config-slb-real)# exit
グローバル・コンフィギュレーション・モードに
戻ります。
ステップ 8
SLB-Switch(config)# ip slb serverfarm
serverfarm-name
サーバ・ファーム・コンフィギュレーション・モー
ドに変更します。
ステップ 9
SLB-Switch(config-slb-sfarm)# probe
probe-name
サーバ・ファームに HTTP プローブを指定します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-27
第 5 章 SLB(サーバ・ロードバランシング)
SLB の任意で行う設定作業
図 5-7 に、サーバ・ファームの一部に IOS SLB 実サーバ接続が設定された設定例を示します。この
例では、ping と HTTP プローブを使用して、サーバ・ロードバランシングの対象となっているアプ
リケーションをモニタすることに重点を置いています。
ping および HTTP プローブ・トポロジの例
33460
図 5-7
図 5-7 のトポロジは、1 つの仮想サーバとして機能する異種サーバ・ファームです。このトポロジ
のコンフィギュレーション・ステートメントは、次のとおりです。PROBE1 という ping プローブ
と、PROBE2 という HTTP プローブが使用されています。
! Configure ping probe PROBE1, change CLI to IOS SLB probe configuration mode
SLB-Switch(config)# ip slb probe PROBE1 ping
! Configure probe to receive responses from IP address 13.13.13.13
SLB-Switch(config-slb-probe)# address 13.13.13.13
! Configure unanswered ping threshold to 16
SLB-Switch(config-slb-probe)# faildetect 16
! Configure ping probe timer interval to transmit every 11 seconds
SLB-Switch(config-slb-probe)# interval 11
! Configure HTTP probe PROBE2
SLB-Switch(config-slb-probe)# ip slb probe PROBE2 http
! Configure request method as POST, set URL as /probe.cgi?all
SLB-Switch(config-slb-probe)# request method post url /probe.cgi?all
! Configure header Cookie Monster
SLB-Switch(config-slb-probe)# header name Cookie Monster
! Configure basic authentication username and password
SLB-Switch(config-slb-probe)# credentials Semisweet chips
! Exit to global configuration mode
SLB-Switch(config-slb-probe)# exit
! Enter IOS SLB server farm configuration mode for server farm PUBLIC
SLB-Switch(config)# ip slb serverfarm PUBLIC
! Configure NAT server and real servers on the server farm
SLB-Switch(config-slb-sfarm)# nat server
SLB-Switch(config-slb-sfarm)# real 10.1.1.1
SLB-Switch(config-slb-sfarm)# inservice
SLB-Switch(config-slb-sfarm)# real 10.1.1.2
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-28
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
URL ベース SLB の必須の設定作業
SLB-Switch(config-slb-sfarm)#
SLB-Switch(config-slb-sfarm)#
SLB-Switch(config-slb-sfarm)#
SLB-Switch(config-slb-sfarm)#
SLB-Switch(config-slb-sfarm)#
SLB-Switch(config-slb-sfarm)#
SLB-Switch(config-slb-sfarm)#
! Configure ping probe on the
SLB-Switch(config-slb-sfarm)#
! Configure HTTP probe on the
SLB-Switch(config-slb-sfarm)#
SLB-Switch(config-slb-sfarm)#
!
inservice
real 10.1.1.3
inservice
real 10.1.1.4
inservice
real 10.1.1.5
inservice
server farm
probe PROBE1
server farm
probe PROBE2
end
URL ベース SLB の必須の設定作業
ここでは、Catalyst 4840G SLB スイッチ上で基本的な URL ベース SLB ネットワークを設定するの
に必要な手順について説明します。
URL ベース SLB の設定には、URL マップの設定、サーバ・ファームの特定、ポリシーの設定、お
よびポリシーベース仮想サーバの設定が必要です。URL ベース SLB 機能に関して必須の設定作業
については、以下のセクションを参照してください。
•
URL マップの設定(p.5-31)
•
URL マップの確認(p.5-31)
•
ポリシーの設定(p.5-31)
•
ポリシーの確認(p.5-31)
•
ポリシーベース仮想サーバの設定(p.5-32)
•
ポリシーベース仮想サーバの確認(p.5-32)
•
URL ベース SLB ネットワークのコンフィギュレーション例(p.5-32)
サーバ・ファームのコンフィギュレーション例については、
「サーバ・ファームの設定」
(p.5-16)を
参照してください。
図 5-2 の URL ベース SLB ネットワークを設定するには、グローバル・コンフィギュレーション・
モードで以下のコマンドを実行します。
コマンド
目的
ステップ 1
SLB-Switch(config)# ip slb
serverfarm serverfarm-name
SLB デバイス・コンフィギュレーションにサーバ・
ファーム定義を追加し、サーバ・ファーム・コンフィ
ギュレーション・モードを開始します。
ステップ 2
SLB-Switch(config-slb-sfarm)# real
ip-address
SLB 機能に実サーバを認識させ、実サーバ・コンフィ
ギュレーション・モードを開始します。
ステップ 3
SLB-Switch(config-slb-real)#
inservice
SLB が実サーバを使用できるように、実サーバをイ
ネーブルにします。
ステップ 4
SLB-Switch(config-slb-real)# exit
サーバ・ファーム・コンフィギュレーション・モード
に戻ります。
ステップ 5
SLB-Switch(config-slb-real)# end
グローバル・コンフィギュレーション・モードに戻り
ます。
ステップ 6
SLB-Switch# ip slb map url-map-name
URL マップ・サブモードで URL マップを設定します。
デフォルト設定に戻すには、no 形式のコマンドを使
用します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-29
第 5 章 SLB(サーバ・ロードバランシング)
URL ベース SLB の必須の設定作業
コマンド
目的
ステップ 7
SLB-Switch(ip-slb-map)# match
protocol http url url1
URL マップ・サブモードで URL マップに複数の URL
を設定します。url1 および url2 の正規表現は、UNIX
のファイル名仕様に基づきます。1 つのマップに対し
て最大 4 つの URL を設定できます。
ステップ 8
SLB-Switch(ip-slb-map)# exit
グローバル・コンフィギュレーション・モードに戻り
ます。
ステップ 9
SLB-Switch (config)# ip slb policy
policy-name
IOS コンテンツ・スイッチング・ポリシー・アトリ
ビュートを設定し、そのアトリビュートを仮想サーバ
に対応づけます。デフォルト設定に戻すには、no 形
式のコマンドを使用します。
ステップ 10 SLB-Switch (config-ip-slb)# url-map
url-map-name
ステップ 11 SLB-Switch (config-ip-slb)#
serverfarm serverfarm_name
ポリシーを備えた URL のリストを設定します。
デフォ
ルト設定に戻すには、no 形式のコマンドを使用しま
す。
特定のロードバランシング・ポリシーに対応するサー
バ・ファームを設定します。サーバ・ファームはポリ
シーごとに 1 つしか設定できません。デフォルト設定
に戻すには、no 形式のコマンドを使用します。
ステップ 12 SLB-Switch(config-ip-slb)# exit
グローバル・コンフィギュレーション・モードに戻り
ます。
ステップ 13 SLB-Switch(config)# ip slb vserver
ポリシーベースの仮想サーバを特定し、仮想サーバ・
コンフィギュレーション・モードを開始します。
virtserver-name
ステップ 14 SLB-Switch(config-slb-vserver)# virt
ual ip-address {tcp | udp}
port-number [service service-name]
ステップ 15 SLB-Switch(config-slb-vserver)#
slb-policy policy_content1
ステップ 16 SLB-Switch(config-slb-vserver)#
serverfarm serverfarm_name
ステップ 17 SLB-Switch(config-slb-vserver)#
inservice
ステップ 18 SLB-Switch (config)> ip slb vserver
virtserver-name
ステップ 19 SLB-Switch (config-ip-slb)> timeout
duration
ステップ 20 SLB-Switch (config-ip-slb)> idle
duration
ステップ 21 SLB-Switch (config-ip-slb)>
retransmit max-count tbd
ステップ 22 SLB-Switch (config-ip-slb)> delay
duration not supported by Laminar
ポリシーベース仮想サーバの IP アドレス、接続タイ
プ、ポート番号、およびオプションのサービス結合を
指定します。
特定のポリシーベース仮想サーバと対応づけられた
ポリシーを指定します。
特定の仮想サーバに対応するサーバ・ファームを設定
します。デフォルト設定に戻すには、no 形式のコマ
ンドを使用します。
SLB が仮想サーバを使用できるように、ポリシーベー
ス仮想サーバをイネーブルにします。
仮想サーバを特定します。デフォルト設定に戻すに
は、no 形式のコマンドを使用します。
TCP 接続が失敗しているとみなされるまでに、待機す
る時間を設定します。デフォルト設定に戻すには、no
形式のコマンドを使用します。
接続でパケット・アクティビティがない場合に、IOS
コンテンツ・スイッチングが接続情報を維持する時間
の長さを設定します。デフォルト設定に戻すには、no
形式のコマンドを使用します。
TCP パケットごとの仮想サーバへの再送信の最大数
を設定します。デフォルト設定に戻すには、no 形式
のコマンドを使用します。
接続の終了後、IOS コンテンツ・スイッチングが TCP
接続コンテキストを維持する時間の長さを設定しま
す。デフォルト設定に戻すには、no 形式のコマンド
を使用します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-30
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
URL ベース SLB の必須の設定作業
コマンド
目的
ステップ 23 SLB-Switch (config-ip-slb)> synguard
syn-count [interval]
ステップ 24 SLB-Switch (config-ip-slb)> show ip
slb tcp [vserver vserver-name]
SYN の syn-count の数だけが、interval の間応答なしの
ままでいられるようにします。
TCP コンテンツ・スイッチングに定義された仮想サー
バの情報を表示します。
グローバル・コンフィギュレーション・モードに戻り
ます。
ステップ 25 SLB-Switch(config-ip-slb)# exit
URL マップの設定
URL をグループ化し、コンテンツ・スイッチング・ポリシーと対応づける例を、以下に示します。
SLB-Switch(config)#ip slb map m1
SLB-Switch(config-slb-map)#match
SLB-Switch(config-slb-map)#match
SLB-Switch(config-slb-map)#match
SLB-Switch(config-slb-map)#match
SLB-Switch(config-slb-map)#exit
protocol
protocol
protocol
protocol
http
http
http
http
url
url
url
url
/index.html
/stocks/csco/
*gif
/st*
URL マップの確認
コンテンツ・スイッチング・ポリシーと対応づけられた URL マップを表示する例を、以下に示し
ます。
SLB-Switch#show ip slb map
URL map M1 rules:
/
SLB-Switch#
ポリシーの設定
URL ベース SLB ポリシーを設定する例を、以下に示します。
SLB-Switch(config)#ip slb policy policy_content
SLB-Switch(config-slb-policy)#serverfarm new_serverfarm
SLB-Switch(config-slb-policy)#url-map url_map_1
SLB-Switch(config-slb-policy)#exit
SLB-Switch(config)
ポリシーの確認
コンテンツ・スイッチング・ポリシーと対応づけられたポリシーを表示する例を、以下に示します。
SLB-Switch#show ip slb policy
URL policy:
P1
url map:
M1
serverfarm:
SF1
URL policy:
url map:
serverfarm:
POLICY_CONTENT
URL_MAP_1
NEW_SERVERFARM
URL policy:
url map:
serverfarm:
SLB-Switch#
SHOW
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-31
第 5 章 SLB(サーバ・ロードバランシング)
URL ベース SLB の必須の設定作業
ポリシーベース仮想サーバの設定
ポリシーベース仮想サーバを設定するには、仮想サーバのアトリビュートを設定し、それを 1 つ以
上の URL ベース・ポリシーとデフォルトのサーバ・ファームに対応づける必要があります。
ポリシーベース仮想サーバ CONTENT_AWARE を設定する例を、以下に示します。
SLB-Switch(config)# ip slb vserver CONTENT_AWARE
SLB-Switch(config-slb-vserver)# virtual 10.0.0.1 tcp www
SLB-Switch(config-slb-vserver)# serverfarm PUBLIC
SLB-Switch(config-slb-vserver)# slb-policy policy_content1
SLB-Switch(config-slb-vserver)# slb-policy policy_content2
SLB-Switch(config-slb-vserver)# slb-policy policy_content3
SLB-Switch(config-slb-vserver)# inservice
SLB-Switch(config-slb-vserver)#
16:17:48:
ADD_WILDCARD:
.
ポリシーベース仮想サーバ content_aware を設定する例を、以下に示します。
SLB-Switch(config-ip-slb)>
SLB-Switch(config-ip-slb)>
SLB-Switch(config-ip-slb)>
SLB-Switch(config-ip-slb)>
ip slb vserver vs_content_aware
slb-policy policy_content
serverfarm default_serverfarm
exit
ポリシーベース仮想サーバの確認
ポリシーベース仮想サーバの設定を確認する例を以下に示します。
SLB-Switch# show ip slb vservers
slb vserver
prot virtual
state
conns
------------------------------------------------------------------PUBLIC_HTTP
TCP
10.0.0.1:80
INSERVICE
0
RESTRICTED_HTTP TCP
10.0.0.2:80
INSERVICE
0
CONTENT_AWARE
TCP
10.0.0.2:80
INSERVICE
0
SLB-Switch#
SLB-Switch#
URL ベース SLB ネットワークのコンフィギュレーション例
図 5-2 の URL ベース SLB ネットワークを表示する例を、以下に示します。
SLB-Switch# show running-config
ip slb serverfarm IMAGES
predictor leastconns
...
real 10.1.1.1
...
inservice
real 10.1.1.2
...
inservice
!
ip slb serverfarm STOCKS
predictor leastconns
...
real 10.1.2.1
...
inservice
real 10.1.2.2
...
inservice
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-32
78-10416-03-J
第 5 章 SLB(サーバ・ロードバランシング)
URL ベース SLB の任意で行う設定作業
!
ip slb serverfarm ABC
predictor leastconns
...
real 10.1.3.1
...
inservice
!
ip slb map image_url
match protocol http url /images/ method GET
ip slb map stock_url
match protocol http url /stocks/ method GET
ip slb policy image_policy
url_map image_url
serverfarm IMAGES
ip slb policy stock_policy
url_map stock_policy
serverfarm STOCKS
ip slb vserver PUBLIC_ABC
virtual 172.20.1.10 tcp www
...
slb-policy image_policy
slb_policy stock_policy
serverfarm ABC
inservice
URL ベース SLB の任意で行う設定作業
ここでは、Catalyst 4840G SLB スイッチの URL ベース SLB の設定を微調整するために行う手順に
ついて説明します。具体的な内容は、次のとおりです。
•
TCP パラメータの設定(任意)
(p.5-33)
•
HTTP 1.1 の設定(任意)(p.5-33)
TCP パラメータの設定(任意)
仮想サーバに TCP パラメータを設定する例を以下に示します。
SLB-Switch (config)> ip slb vserver barnett
SLB-Switch(config-slb-vserve)#idle 255
SLB-Switch(config-slb-vserve)exit
SLB-Switch (config)> timeout 10
SLB-Switch (config)> exit
HTTP 1.1 の設定(任意)
HTTP 1.1 を設定する例を以下に示します。
SLB-Switch (config)> ip slb http11 enable
SLB-Switch (config)> exit
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
78-10416-03-J
5-33
第 5 章 SLB(サーバ・ロードバランシング)
SLB のモニタおよびメンテナンス
SLB のモニタおよびメンテナンス
EXEC モードで次のコマンドを使用すると、SLB の実行時情報を表示できます。
コマンド
目的
SLB-Switch# show ip slb conns [vserver
virtserver-name] [client ip-address]
[detail]
SLB が処理したすべての接続を表示します。また
は、任意で特定の仮想サーバまたはクライアント
に対応する接続だけを表示します。
SLB-Switch# show ip slb dfp [agent
ip_address port | manager [ip_addr] |
detail | weights]
DFP、DFP エージェント、DFP マネージャ、およ
び実サーバに割り当てられたウエイトに関する情
報を表示します。
SLB-Switch# show ip slb probe [name
probe_name] [detail]
実サーバ上で設定されている SLB HTTP プローブ
に関する情報を表示します。
SLB-Switch# show ip slb reals [vserver
virtserver-name] [detail]
SLB に対して定義されている実サーバの情報を表
示します。
SLB-Switch# show ip slb serverfarms
[name serverfarm-name] [detail]
SLB に対して定義されているサーバ・ファームの
情報を表示します。
SLB-Switch# show ip slb stats
SLB の統計情報を表示します。
SLB-Switch# show ip slb sticky [client
ip-address]
SLB に対して定義されているスティッキー接続の
情報を表示します。
SLB-Switch# show ip slb vservers [name
virtserver-name] [detail]
SLB に対して定義されている仮想サーバの情報を
表示します。
SLB-Switch# show ip slb probe [name
probe_name] [detail]
SLB に対して定義されている HTTP プローブの情
報を表示します。
SLB-Switch# show ip slb replicate
SLB のレプリケーションの設定に関する情報を表
示します。
Catalyst 4840G ソフトウェア・コンフィギュレーション・ガイド
5-34
78-10416-03-J
Fly UP