• 検索結果がありません。

6 Module 6 コンテンツスイッチ / ルール 6.1 ルール レッスン目標 : このレッスンを通して コンテントスイッチに使用されるルールのコンセプト 使用方法 作成方法 応用方法を理解します また 実習を通して実際の環境でこのルールがどのように働くかを検証します ルールのコンセ

N/A
N/A
Protected

Academic year: 2021

シェア "6 Module 6 コンテンツスイッチ / ルール 6.1 ルール レッスン目標 : このレッスンを通して コンテントスイッチに使用されるルールのコンセプト 使用方法 作成方法 応用方法を理解します また 実習を通して実際の環境でこのルールがどのように働くかを検証します ルールのコンセ"

Copied!
17
0
0

読み込み中.... (全文を見る)

全文

(1)

6

Module 6 – コンテンツスイッチ/ルール

6.1 ルール

レッスン目標:

このレッスンを通して、コンテントスイッチに使用されるルールのコンセプト、使用方法、 作成方法、応用方法を理解します。また、実習を通して実際の環境でこのルールがどのよ うに働くかを検証します。

6.1.1

ルールのコンセプト

バーチャルサービスを作成し、アプリケーション·サーバをそのバーチャルサービス のリアルサーバとして定義した場合、ロードマスターは、そのバーチャルサービス に入ってくる全てのリクエストをリアルサーバへと導きます。通常は全てのリアル サーバが同じ内容の情報を保持しているので、リクエストは同等に各リアルサーバ に配分されます。 もし、ウェブで発信する情報が、一つのサーバでは収容出来ない場合はどうなるの でしょうか?リアルサーバ間で情報を分割して収容しますか? 例えば、全ての製品情報は、各リアルサーバで同じ内容を持っているのに、写真だ けは特定のサーバにしかない場合を想定してみましょう。ロードマスターは、リア ルサーバを選択する際にリクエストの URL を判断しなければなりません。そのため には、リアルサーバ間で内容が分けられて収容されていることを何らかの方法で知 り、それに従ってリクエストの割り振りを決める必要があります。 ロードマスターは、特定のリクエストが特定のリアルサーバへと導かれるように定 義するためのルールという機能を持っています。ルールは、リクエストの URL に対 して、特定部分の文字列を照合するパターンとして定義できます。もし、URL がル ールの文字列にマッチすると、ロードマスターはそのルールに割り当てられたリア ルサーバへとリクエストを導きます。

(2)

Switching to Real Server by Rule Load Master 192 .168.1.3 1:80 192 .168.1.3 2:80 192 .168.1.3 3:80 Virtual Service (Virtual IP) http://www.kemptech.com/video http://www.kemptech.com/images http://www.kemptech.com

6.1.2

ルール定義

ルールは下記のように定義します。 URL は RFC2616 によって、下記のように定義されています: http://www.mysite.com/content/example/inventory-check.cgi?item=loadmaster1500

Protocol Host URL Query part

Definition Load Master uses in URL

Start URL (Prefix) End URL (postfix)  Prefix(プレフィックス)用ルール このルールは、URL の初めの部分にマッチさせるための文字列です。例として、 上図のように“/content”下の情報にアクセスするリクエストを全て特定のリア ルサーバへと導く場合、プレフィックスモードで“/content”という配列のルー ルを作る必要があります。そして、そのルールを“/content”の情報を返せる特 定のサーバに割り当てます。

(3)

 Postfix(ポストフィックス)用ルール このルールは、URL の最後の部分にマッチさせるための文字列です。例として、 上図のように、もし、“*.gif”のファイルにアクセスするリクエストを特定のサ ーバへと導くためには、ポストフィックスモードで“*.gif” という文字列のル ールを作る必要があります。そして、そのルールを“*.gif”の情報を返せる特定 のサーバに割り当てます。  通常表現を使ったルール このルールは、URL を通常表現の文字列でマッチさせます。例として、上図の ように、もし、“content”ディレクトリー下にある“*.gif”ファイルにアクセス するリクエストを特定のサーバへと導くためには、通常表現モード(Regular Expression)で“/content/*.gif” という文字列のルールを作る必要があります。 そして、そのルールを“/content/*.gif ”の情報を返せる特定のサーバに割り当て ます。

特殊記号

プレフィックス、およびポストフィックスルールを作成する文字列には、URL で使 用が許されている全ての記号が使用できます。 “*”をプリフィックス、もしくはポストフィックス内に“home*”という形で使用 した場合、“home”だけがマッチングの対象となります。 “%<hex><hex>”の記号は、全ての文字列で許されます。これは、ユーザが“~”、 スペース, “%”などを文字列の中に入れるのを許します。例として、“~content” という文字列のルールを作成したい場合、実際の文字列では“%7Econtent”となり ます。

通常表現

通常表現は、文字の連続です。特殊文字でない限りはそのままでマッチします。特 殊文字としては、下記のようなものが定義されています。 “^”: この特殊文字に続く文字列が、URL の先頭文字にマッチしなければなりませ ん。例えば、“^abc” は/airline, /boys 又は、/charity のように、 URL の最初 が“a”, “b” もしくは、“c”の場合にマッチします。“^^^pro”の文字列 だった場合は、“/product”のように URL の最初の3文字が“pro”でなけ ればマッチしません。 “$”: この特殊文字に続く文字列が、URL の最後にマッチしなければなりません。 例えば、“$f”は“/…/…/xxx.xxf”という URL の文字列にマッチします。 “$$$gif”は、“/…/…/xxx.gif”のような URL にマッチします。 “?”: この特殊文字は、単一のどのような文字にもマッチするように使用されます。 例えば、“/cont???”は“/content”や“/contact”の文字列にマッチします。

(4)

“*”:

この特殊文字は 、何桁の文 字にも マッチ し ます。 例えば、 “ /cont* ” は “ /cont ” 、 “ /content ” 及 び “ /controller ” に マ ッ チ し ま す 。 “content/*.gif”は、“/content/xxx.gif”、“/content/xxxx/xxxx.gif”もしくは、 “/content/xxxx/xxxx/xxx.gif”のように、“/content” ディレクトリー配下の どの“.gif”にもマッチします。 […]”: この符号内に設定された文字は、URL 内の単一文字をマッチングします。例 えば、“/cont[ae]*”は“/contact”もしくは、 “/content”にマッチします。 “[gG][iI][fF]”は、“gif”、 “Gif”、“Gif”、“gIf”、“giF”、“GIF”、 “Gif”などを含んだ URL にマッチします。連続数を表わす 0-9 を使った “[0-9]”は、一桁のどの数字にもマッチします。 もしもこの符号内が“^”で始まっていたら、その時は設定された文字以外 の単一文字がマッチします。例えば、“[^abc]”は“inside”、“train”や “girls”はマッチしますが、“content”、“airline”、“boys”はマッチし ません。連続アルファベットを現す a-z を使った“^/[^a-z]”は、URL の初め の文字が小文字ではマッチしません。この場合は、“/Airline”、“/Boys”、 もしくは“/123”がマッチングの対象となります。

(5)

6.2 ルールの設定

6.2.1

ルールの作成と展開

ルールは、URL 内でマッチしたい文字をプリフィックス(Prefix)、ポストフィッ クス(Postfix)、もしくは通常表現(Regular expression)として、WUI(ウェブユー ザインターフェース)から作成します。ルール作成は、バーチャルサービスと関係 のない独立した処理です。よって、ルールは作成しようと思えばバーチャルサービ スやリアルサーバなしで行えます。しかしながら、もしバーチャルサービスやリア ルサーバとは離してルールを作成したとしても、最終的にはそのルールは、各バー チャルサービスに属する適切なリアルサーバに結びつける必要があります。そして、 そのルールにマッチしたリクエストが、指定されたリアルサーバへ導かれるための コンテントスイッチとして使用されます。 下記の図は、リクエストがバーチャルサービスに入って来たとき、ロードマスター がルールの中からマッチするルール#4を検出し、結果としてそのルールが指定し ているリアルサーバ#2へと導いています。 Rule #1 Rule #2 Rule #3 Rule #4 Rule #5 Virtual Service Searches matched rule Real Server #1 Real Server #2 Real Server #3 Rules HTTP requests Designated connection 以下のルール作成例では、もしリアルサーバ#2が“/product”ディレクトリー配 下に全ての詳細製品情報を持っていて、#1や#3にその情報がない場合に、下図 の練習環境上にどのようにルールを作成するかをレッスンします。

(6)

192.168.1.31 192.168.1.32 192.168.1.33 Default G/W: 192.168.1.1 Clients Real Servers

Internet

SSH/Web 192.168.1.200 Virtual Service 192.168.1.50:80 SSH/Web 192.168.1.201 /product/

新しいバーチャルサービスの作成

1. モジュール2を参照し、バーチャルサービスをアドレス‘192.168.1.50’、ポ ート番号‘80’で作成します。“Scheduling Method”は、デフォルト設定の “Round Robin”のままとし、“persistence option”には何も設定しません。 そして、3つのリアルサーバをポート番号“80”で下記のように設定します。

ルールの作成

1. “Rules & Checking”サブメニューを選択し、 その中の“Content Rules”オ プションをクリックします。

2. 下記のように“Content Rule”画面が現れたら、“Create New”ボタンをク リックします。

(7)

3. 下記の“Create Rule”画面内の“Rule Name”フィールドに任意のルール名 を入力します。そして、下記のように“Rule Type”として“ Prefix”を選択 し、“Match String”フィールドの空き内に“/product”と入力します。

4. “Create Rule”をクリックすると、下図のように作成したルールが現れます。

コンテントスイッチとしてルールを展開

1. “Virtual Services”サブメニューを選択し、“View/Modify Services”オプシ ョンをクリックします。

2. コンテントスイッチを適用するバーチャルサービスの“Modify”ボタンをク リックします。

(8)

3. 下 図 の よ う に 、 バ ー チ ャ ル サ ー ビ ス の 属 性 画 面 の 中 の “ Advanced

Properties” 内にある“Content Switching”フィールドの“Enable”ボタン

をクリックします。 4. 属性画面の中のリアルサーバリストに、下記のように“rule”の項目が追加 されたのを確認します。 5. リアルサーバ‘192.168.1.33’の“Rules”の “None”をクリックします。こ のステップは、各リアルサーバにルールをアサインするためのものです 6. ここで注意してもらいたいことは、“/product”以外のコンテントを提供で きるように“default”というルールをリアルサーバへアサインする必要があ ることです。ロードマスターは、どのようなルールを作成するときも、それ 以外のコンテントを提供するための“default”というルールも一緒に作成し ます。もしリアルサーバが他のサーバと同じように“/product”以外のコン テントも提供するのであれば、“default”ルールもアサインする必要があり ます。上図のように、“default”と表示されたままで、“Add”ボタンをク リックします。下記のようにルールがアサインされた確認画面が現れます。 7. 次は、要のルールである“products”ルールを追加します。上図の画面のよ うに残っているルールとして“products”が選択値として現れますので、 “Add”ボタン をクリックします。ルールがアサインされた確認画面が下記 のように現れます。

(9)

8. “Back”をクリックし、下図の様に‘2’がリアルサーバ#3の“rules”に あるのを確認します。これは2つのルールがアサインされていると言う意味 です。 9. “/products”以外のコンテントを他のリアルサーバが提供できるように、 “ default” ルールをアサインします。 他のリアルサーバの“ Rules” の “None”をクリックします。そして、上記6項の要領で“default”ルールを リアルサーバ#1と#2にアサインします。結果は下記のようになります。

Included Host in URL(URL にホストを含ませる)

ロードマスターは、ルールに HTTP/1.1 で定義されている Host ポーションを 含ませることが出来ます。それを行わせるためには、下図のように“Create

Rule”画面の中の“Included Host in URL”フィールドにチェックマークを付

けます。ロードマスターは、もしこのオプションがオンになっていると、プ ロトコル定義と URL の最後の間をマッチングのために確認します。

(10)

このオプションは、もしユーザが幾つかの違うホストを持っていながら、IP アドレ スを無駄遣いしないために一つのバーチャルサービスで運用したいときに有益です。 このような環境を作るためには、下図のように副バーチャルサービスを作成し、主 バーチャルサービスと連携してリクエストを特定のリアルサーバ群へ振り向けるよ うにします。 下図の構成では、ホスト名が違っている全トラフィックが一つの主バーチャルサー ビスへ来るように構成されています。例えば、下記のホスト名がこのサービスに混 在しているとします。 www.myweb.com www.yourweb.com www.hisweb.com そして各ホスト名は3台ずつのサーバを持っています。

(11)

Real Server #1 Real Server #2 Real Server #3 Real Server #1 Real Server #2 Real Server #3 Rule #1 Rule #2 Rule #3 Main Virtual Service Searches matched rule Rules HTTP requests Designated connection Sub-Virtual Service #1 Real Server #7 Real Server #8 Real Server #9 Real Server #7 Real Server #8 Real Server #9 Sub-Virtual Service #2 Sub-Virtual Service #3 Real Server #4 Real Server #5 Real Server #6 1. 主バーチャルサービス‘192.168.1.51’を作成し、リアルサーバとして副バー チャルサービスとなるダミーの IP アドレスを設定します。このレッスンでは、 ダミーのアドレスを‘192.168.1.60、61、62’としています。 2. 主バーチャルサービスで設定したダミーアドレスを使って、各ホスト用副バ ーチャルサービスを作成します。そして、各副バーチャルサービスには、3 台ずつのリアルサーバを設定します。‘www.myweb.com’用副バーチャルサ ー ビ ス # 1 に は 、 ‘ 192.168.1.30 – 32 ’ の リ ア ル サ ー バ 、www.yourweb.com’用副バーチャルサービス#2には‘192.168.1.33 – 35’、 そして‘www.hisweb.com’用副バーチャルサービス#3には‘192.168.1.10- 12’を設定します。 3. 下記のホスト名文字列によるルールを作成します。  www.myweb.com

(12)

 www.yourweb.com  www.hisweb.com ‘www.myweb.com’ は 、 副 VS ( バ ー チ ャ ル サ ー ビ ス ) #1 用 、 ‘www.yourweb.com’は、副 VS#2用、そして‘ www.hisweb.com’は副 VS#3用です。各ルール名は“myweb”、“yourweb”、“hisweb”としま す。

4.

ルール“myweb”を副 VS#1用リアルサーバ‘192.168.1.60’にアサインし ます。ルール“yourweb”を、副 VS#2用リアルサーバ‘192.168.1.61’に、 そして“hisweb”を副 VS#3用リアルサーバ‘192.168.1.62’にアサインし ます。アサインの方法は、上記“コンテントスイッチとしてルールを展開” のセクションを参考にして下さい。

Negation(否定)

ルール設定時、“Negation”オプションを使ってルールを逆転させられます。この オプションをオンにすると、ロードマスターはルールで設定した文字以外をマッチ させます。例えば、もしポストフィックスとして“.gif”をいう文字にマッチするよ うに作成し、このオプションをオンにしたとすると、“.gif”はマッチ対象外になっ てしまい、それ以外の、例えば“*.jpg”がマッチングの対象に変わります。

(13)

Include Query (クエリーを含ませる)

ルールには、ルール設定画面の中の“Include Query”オプションを使うことにより、 クエリー用文字列を含ませることが可能です。例えば、クエリーコンポーネントと して“picture”というクエリーストリングを特定のリアルサーバに導くためには、 下図のようにルールを作成し、尚且つこのオプションをオンにする必要があります。

(14)

6.3 ルール設定実習

6.3.1

ルール実習

目標:

下記のコンテントが指定されたリアルサーバへスイッチされるようにします。  “/tac”下のコンテンツをリクエストする URL をリアルサーバ#1へ  *.gif ファイルをリクエストする URL をリアルサーバ#2へ  バーチャルホスト‘ www.herweb.com’を含む URL をリアルサーバ#3 へ 完了予定時間:20分

実習環境セットアップ

アクセス出来るバーチャルサービス用 IP アドレス一つ 3つのリアルサーバ 設定を行うためのブラウザを持つ PC 一台 192.168.1.31 192.168.1.32 192.168.1.33 Default G/W: 192.168.1.1 Clients Real Servers

Internet

SSH/Web 192.168.1.200 Virtual Service 192.168.1.50:80 SSH/Web 192.168.1.201 /tac/ *.gif Virtual Host www.herweb.com

(15)

バーチャルサービスの作成

1. モジュール2を参照しながら、バーチャルサービスをアドレス

‘ 192.168.1.50’ ポート‘80’で作成します。“Scheduling Method”は、デ フォルトの“Round Robin”のままとし、“persistence option”は何も設定し ません。 2. このバーチャルサービスに、上記練習図にある3台のリアルサーバをポート 番号‘80’で設定します。 3. PC のブラウザからバーチャルサービス‘192.168.1.50’にアクセスします。 4. キャッシュを使わない方法で何度もアクセスを繰り返し、3つのリアルサー バが順次接続されるのを確認します。

3つのルール作成

メインメニューの“ Rules & Checking”を選択します。

1. “ Content Rules ” オ プ ショ ン を 選択 し 、 現 れ た “ Content Rule ” 画 面のCreate New…”ボタン をクリックします。

2. “Rule Name”フィールドに“tac”とルール名を入力します。 3. “Rule Type”として“Prefix”を選択します。

4. “Match String”フィールドに “/tac”を入力し、“Commit”ボタンをクリ ックします。

5. “Content Rule”画面にルール“tac” が作成されていることを確認します。 6. 次 の ル ー ル を 作 成 す る た め に 、 同 じ “ Content Rule ” 画 面 の “ Create

New…”ボタンをクリックします。 7. “Rule Name”フィールドに“gif”のルール名を入力します。 8. “Rule Type”として“Postfix”を選択します。 9. “Match String”フィールドに“.gif”と入力します。そして、“Commit” ボタンをクリックします。 10. “Content Rule”画面に新しいルール“gif”が作成しているのを確認します。 11. 新しいルールを追加するために、再度“Create New…”ボタンをクリックし ます。

(16)

13. “Rule Type”として “Regular Expression”を選択します。

14. “Match String”フィールドに“www.herweb.com”と入力し “Commit”ボ タンをクリックします。

15. “Content Rule” 画面に、ルール“herweb”が追加されたのを確認します。

リアルサーバへのルールのアサイン

1. メインメニューから“Virtual Services”サブメニューを選択します。

2. “View/Modify Services”オプションを選び、この実習のために作成したバー チャルサービスの“Modify”ボタンをクリックします。

3. “Properties of VIP tcp/192.168.1.50:80”画面の“Advanced Properties”内に ある“Content Switching”の“Enable”ボタンをクリックします。

4. 同じ画面の下のほうにある“Real Server for this Virtual Service”内の、リア ルサーバ#1の“Rules”の“None”ボタンをクリックします。

5. “Rule Management”画面が表示されます。矢印をクリックし、ルールリス トの中から“tac”を選択します。

6. 他のコンテントを提供できるように、再度矢印をクリックし、リストから “default ”を選択します。

7. “<-Back”ボタンをクリックし、“Real Server for this Virtual Service”の中 のリアルサーバ#2の“Rules”の“None”ボタンをクリックします。 8. “Rule Management”画面が表示されます。矢印をクリックし、ルールリス

トの中から“gif”を選択します。

9. 他のコンテントを提供できるように、再度矢印をクリックし、リストから “default ”を選択します。

10. “<-Back”ボタンをクリックし、“Real Server for this Virtual Service”の中 のリアルサーバ#3の“Rules”の“None”ボタンをクリックします。 11. “Rule Management”画面が表示されます。矢印をクリックし、ルールリス

トの中から“herweb”を選択します。

12. 他のコンテントを提供できるように、再度矢印をクリックし、リストから “default ”を選択します。

(17)

検証試験

1. PC のブラウザを新しく開き、‘http://192.168.1.50’にアクセスします。ブラ ウザは、キャッシュメモリーが使用できないように設定しておきます。 2. F5 キーを押して、10 回から 15 回のリフレッシュを繰り返します。 3. 負荷分散はどのような結果でしたか? 4. 新しくブラウザを開き、‘http://192.168.1.50/tac/index.html’にアクセスしま す。 5. F5 キーを押して、10 回から 15 回のリフレッシュを繰り返します。 6. 負荷分散はどのような結果でしたか? 7. 新しくブラウザを開き、‘http://www.herweb.com’にアクセスします。 8. F5 キーを押して、10 回から 15 回のリフレッシュを繰り返します。 9. 負荷分散はどのような結果でしたか?

参照

関連したドキュメント

SQL Server Standard Edition など製品版の SQL Server

現状の課題及び中期的な対応方針 前提となる考え方 「誰もが旅、スポーツ、文化を楽しむことができる社会の実現」を目指し、すべての

Power Platform とは Power Apps、Power BI、Power Automate を合わせた製品群です。ビジネス ニーズに応じてさまざまなアプ リをカスタマイズ、拡張、構築することで、Office

Windows Server 2012 Windows Server 2016 Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 7 VMware vSphere 6 VMware vSphere 6.5 VMware vSphere 6.7 Oracle VM 3 UNIX サーバ.

週に 1 回、1 時間程度の使用頻度の場合、2 年に一度を目安に点検をお勧め

Another new aspect of our proof lies in Section 9, where a certain uniform integrability is used to prove convergence of normalized cost functions associated with the sequence

・M.2 Flash モジュール専用RAID設定サービス[PYBAS1SM2]とWindows Server 2022 Standard(16コア/Hyper-V)[PYBWPS5H]インストール/Windows Server 2019

(1) テンプレート編集画面で、 Radius サーバ及び group server に関する設定をコマンドで追加して「保存」を選択..