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

MIRACLE LoadBalancerを使用したネットワーク構成と注意点

N/A
N/A
Protected

Academic year: 2021

シェア "MIRACLE LoadBalancerを使用したネットワーク構成と注意点"

Copied!
25
0
0

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

全文

(1)

MIRACLE LoadBalancerを使用

したネットワーク構成と注意点

ミラクル・リナックス

(2)

Agenda

 ネットワーク接続パターン

 パケット転送方式

NATオプション注意点

 負荷分散方式

 固定化方式

Cookieオプション注意点

(3)

パフォー

マンス

ダイレクト

サーバーリ

ターン(DSR)

障害性

対応

レイヤ

備考

接続パターン①

冗長無し

×

L4:全て

L7:全て

接続パターン①

冗長有り

L4:全て

L7:全て

最も多く使

用される構

(推奨)

接続パターン②

×

L4:NATのみ

L7:全て

L4時:要NAT

オプション

接続パターン③

-

-

-

-

未サポート

ネットワーク構成パターン

(4)

ネットワーク接続パターン①(冗長無し)

1アーム

分散ノード クライアント Internet ルータ ファイアウォール L2スイッチ ・ ・ ・ アクティブ

◆特 長

最小構成

MLLBを、分散ノード(Webサーバ等)と同じセグメントに1アームで接続するシンプル構成

サーバ単体でサービスの既存環境へのMLLBを追加時、分散ノードのセグメント変更不要

L4負荷分散のMAT方式で分散させると、MLLBを経由せずに、分散ノードから直接クライ

アントへ応答可能

ダイレクトレスポンスによりスループット向上!

◆利用可能なパケット転送方式

1アームでは、

全ての分散方式が使用可能

L4負荷分散 : MAT方式、NAT方式(オプション)

L7負荷分散 : 全て

(5)

ネットワーク接続パターン①(冗長あり)

1アーム

分散ノード クライアント Internet ルータ ファイアウォール L2スイッチ ・ ・ ・ アクティブ スタンバイ

1アーム(LAN二重化)

分散ノード クライアント Internet ルータ ファイアウォール L2スイッチ ・ ・ ・ アクティブ スタンバイ L2スイッチ

◆特 長

 MLLBを、分散ノード(Webサーバ等)と同じセグメントに1アームで接続するシンプル構成

サーバ単体でサービスの既存環境へのMLLBを追加時、分散ノードのセグメント変更不要

L4負荷分散のMAT方式で分散することで、MLLBを経由せずに、分散ノードから直接クライアン

トへ応答可能

ダイレクトレスポンスによりスループット向上!

◆利用可能なパケット転送方式

1アームでは、

全ての分散方式が使用可能

L4負荷分散 : MAT方式、NAT方式(オプション)

※L2スイッチおよびルータを二重化するかは要件に応じて判断ください。 ※例では、分散ノードのLANも二重化しています。 分散ノードの二重化は、分散ノードの機能(bonding)を使用します。

(6)

ネットワーク接続パターン②

2アーム

分散ノード クライアント Internet ルータ ファイアウォール L2スイッチ ・ ・ ・ アクティブ スタンバイ

◆特 長

MLLBが、クライアント側とサーバ側のそれぞれのセグメント(2アーム)に接続される構成

クライアント側からは、

分散ノード側セグメントのIPアドレスは見えない

ため、よりセキュア

既存環境がロードバランサを2アームで使用している場合

に、LBを導入しても、

分散ノードのセグメントを変更する必要なし

◆利用可能なパケット転送方式

2アームでは、

MAT方式以外の全ての分散方式が使用可能

L4負荷分散 : NAT方式(オプション)

L7負荷分散 : 全て

L2スイッチ ※LBはルータではありません。 ※eth0をクライアント側にして下さい。 eth0 eth1

(7)

ネットワーク接続パターン③

◆現在上記構成は対応しておりません。

構成時はご注意ください。

2アーム(LAN二重化)

分散ノード クライアント Internet ルータ ファイアウォール L2スイッチ ・ ・ ・ アクティブ スタンバイ L2スイッチ L2スイッチ L2スイッチ bond0 bond1

(8)

パフォー

マンス

ダイレクトサーバー

リターン(DSR)

レイヤ

備考

DSR(ダイレクトサー

バリターン)方式

L4

最も多く使用され

る構成

(推奨)

NAT方式

×

L4

要NATオプション

Webサーバ

固定化方式

×

L7

httpのみ対応

パケット転送方式

(9)

クライアント

分散ノード

仮想IP :

10.1.1.100

実IP :

10.1.1.11

MAC:

0000AE812211

ループバックIP:

10.1.1.100

実IP:10.1.1.1

MAC:

0000AE812201

Source MAC=

0000AE812201

Source IP=

192.168.1.50

Destination MAC=

0000AE812211

Destination IP=

10.1.1.100

Source MAC=

0000AE812211

Source IP=

10.1.1.100

Destination MAC=0000AE801150 Destination IP=

192.168.1.50

実IP:

192.168.1.50

MAC:

0000AE801150

L4負荷分散・MAT(MAC Address Translation) )

Source MAC=

0000AE801150

Source IP=

192.168.1.50

Destination MAC=

0000AE812201

Destination IP=

10.1.1.100

MLLB

一連の通信が全て同一のTCPコネクションとして行なわれる(LBはパケットを転送しているのみ)

*1:分散ノードへエージェントプログラムの導入又は、IPTABLES(Linux)やループバックアダプタ

(Windows)の設定が必要です。

MLLBと分散ノードが同一セグメントの必要有り

ネットワーク接続パターン①

オプション

不要

エージェント

必要*1

パケット転送方式1 MLLB標準のDSR(ダイレクトサーバリターン)方式

(10)

パケット転送方式2 MLLB NATオプションを使用(NAT)方式

クライアント

分散ノード

仮想IP :

10.1.1.100

Source IP=

192.168.1.50

Destination IP=

172.168.1.11

Source IP=

192.168.1.50

Destination IP=

10.1.1.100

MLLB

Source IP=

10.1.1.100

Destination IP=

192.168.1.50

Source IP=

172.168.1.11

Destination IP=

192.168.1.50

実IP :

172.168.1.11

実IP:10.1.1.1

実IP:

192.168.1.50

一連の通信が全て同一のTCPコネクションとして行なわれる(LBはパケットを転送しているのみ)

[SYN]

[SYN]

[SYN,ACK]

[SYN,ACK]

[ACK]

[ACK]

GET / HTTP/1.1 …

GET / HTTP/1.1 …

MLLBと分散ノードが別セグメントでも対応可能

ネットワーク接続パターン①または②

L4負荷分散・NAT(Network Address Translation)

NATオプション

必要

エージェント

不要

デフォルトゲート

ウェイ設定必要

*1 *2

*1:分散ノードのデフォルトゲートウェイとして仮想IPアドレスの設定が必要です。

*2:LB~分散ノード間の経路上のルータに経路情報の登録が必要な場合があります。

(11)

NATオプション注意事項

 NATオプションを使用される場合は、分散ノード

(Webサーバ等)のデフォルトゲートウェイに

MLLBを設定されることを推奨します。

NATオプション使用時は分散ノードとクライアント

との間の通信がMLLBを経由するようルーティン

グを行うことが必須です。

 MLLBのNATオプションはDNAT(送信先IPアド

レス変換)となっております。

 SNAT(送信元IPアドレス変換)は対応しておりま

せん。

(12)

パケット転送方式3 MLLB L7分散グループ

(Webサーバ固定化)

を使用した場合

クライアント

分散ノード

仮想IP :

10.1.1.100

Source IP= 10.1.1.1

Destination IP=

10.1.1.11

Source IP=

192.168.1.50

Destination IP=

10.1.1.100

MLLB

Source IP=

10.1.1.100

Destination IP=

192.168.1.50

Source IP=

172.16.1.11

Destination IP=10.1.1.1

実IP :

10.1.1.11

実IP:10.1.1.1

実IP:

192.168.1.50

クライアント側とサーバ側とで、別々のTCPコネクションが張られる(プロキシ動作)

[SYN]

[SYN]

[SYN,ACK]

[SYN,ACK]

[ACK]

[ACK]

GET / HTTP/1.1 …

GET / HTTP/1.1 …

Proxy転送方式(

http専用

)

オプション不要

(cookie固定化では必要)

エージェント

不要

Webサーバ固定化方式には「URL」「クライアントタイプ」

「i-mode」「cookie(要オプション)」の4種類があります。

MLLBと分散ノードが別セグメントでも対応可能

ネットワーク接続パターン①または②

(13)

Source MAC=

0000AE812201

Source IP=

192.168.1.50

Destination MAC=

0000AE812211

Destination IP=

10.1.1.100

Destination Port=

443

Source MAC=

0000AE812211

Source IP=

10.1.1.100

SourcePort=

443

Destination MAC=0000AE801150 Destination IP=

192.168.1.50

Source MAC=

0000AE801150

Source IP=

192.168.1.50

Destination MAC=

0000AE812201

Destination IP=

10.1.1.100

Destination Port=

443

ローカルクライアント

分散ノード

仮想IP :

10.1.1.100

実IP :

10.1.1.11

MAC:

0000AE812211

ループバックIP:

10.1.1.100

実IP:10.1.1.1

MAC:

0000AE812201

実IP:

192.168.1.50

MAC:

0000AE801150

MLLB

L4負荷分散を使用したSSLの分散(パケット転送方式1)

ダイレクト転送方式( L4負荷分散・MAT(MAC Address Translation) )

MLLBと分散ノードが同一セグメントの必要有り

(14)

ローカルクライアント

分散ノード

仮想IP :

10.1.1.100

Source IP=

192.168.1.50

Destination IP=

172.168.1.11

Destination Port=443

Source IP=

192.168.1.50

Destination IP=

10.1.1.100

Destination Port=443

MLLB

Source IP=

10.1.1.100

SourcePort=

443

Destination IP=

192.168.1.50

Source IP=

172.168.1.11

SourcePort=

443

Destination IP=

192.168.1.50

実IP :

172.168.1.11

実IP:10.1.1.1

実IP:

192.168.1.50

一連の通信が全て同一のTCPコネクションとして行なわれる(LBはパケットを転送しているのみ)

[SYN]

[SYN]

[SYN,ACK]

[SYN,ACK]

[ACK]

[ACK]

GET / HTTP/1.1 …

GET / HTTP/1.1 …

MLLBと分散ノードが

別セグメントでも対応可能

NAT転送方式( L4負荷分散・NAT(Network Address Translation) )

NATオプション

必要

(15)

負荷分散方式

(初回振り分け先の決定方式)

既存コネク

ション考慮

CPU負

荷考慮

エー

ジェント

備考

ラウンドロビン

-

-

-

分散ノードは全て対等、クライアントか

らの要求を分散ノードに順番に割当

最小コネクション ○

-

-

接続されたTCPコネクション数の最も

少ない分散ノードにクライアントからの

要求を割当

静的重み付けラ

ウンドロビン

-

-

-

静的に割当比率を設定可能なラウンド

ロビン

静的重み付け最

小コネクション

-

-

静的に割当比率を設定可能な最小コ

ネクション

CPU負荷重み付

けラウンドロビン

-

必須

分散ノードのCPU負荷に応じてクライ

アントからの要求を順番に割当

CPU負荷重み付

け最小コネク

ション

必須

接続されたTCPコネクション数と、分散

ノードのCPU負荷に応じてクライアント

からの要求を割当

(16)

レイヤ

パフォー

マンス

静的コ

ンテンツ

PC向け動的

コンテンツ

i-mode向

け動的コ

ンテンツ

備考

クライアン

ト個別

L4

×

最も多く使用さ

れる構成

(推奨)

クライアン

トIP

L4

×

URL

L7

i-mode

HTML

L7

×

○:i-mode

クライアン

トタイプ

L7

○:i-mode

Cookie

L7

Cookie

オプション必須

セッション維持機能

(接続固定化方式)

(17)

要求元クライアント(IPアドレス)単位に、

分散ノード(サーバ)の固定化を行います。

分散ノードの決定は負荷分散方式に従います。

クライアントA

クライアントB

分散ノード固定化

(L4負荷分散)

①クライアントAから1回目のリクエスト

②1回目のリクエストで分散された

サーバに分散

①クライアントBから1回目のリクエスト

②1回目のリクエストで分散された

サーバに分散

固定化方式1 クライアント個別

(18)

各分散ノード(サーバ)で受け付けるクライアントのIPアドレスを指定

(個別と範囲指定)することにより、分散ノードの固定化を行います。

実IP:

192.168.1.50

実IP:

192.168.1.55

実IP:

10.1.0.168

クライアントIPが

192.168.1.0/24の場合

クライアントIPが

10.1.0.0/24の場合

分散ノード固定化

(L4負荷分散)

固定化方式2 クライアントIP

(19)

分散ノード(Webサーバ)において、

受け付けるURLのパターンを設定することにより

分散先を固定化することが可能

各URLに複数サーバの指定が可能

複数ノード内の固定はクライアントのIPアドレスによる固定

実IP:

192.168.1.50

リクエストURLが

www.miraclelinux.com/mllb

の場合

リクエストURLが

http://www.miraclelinux.com/mllb

http://www.miraclelinux.com/clp

Webサーバ固定化

(L7負荷分散)

URL指定パターン

URL

ディレクトリ

固定化方式3 URL

(20)

iモード端末からのリクエストを、

最初のリクエストで分散したノードに固定化する機能

Webサーバ固定化

(L7負荷分散)

i-modeA

i-modeB

①i-modeAから1回目のリクエスト

②1回目のリクエストで分散された

サーバに分散

①i-modeBから1回目のリクエスト

②1回目のリクエストで分散された

サーバに分散

固定化方式4 i-mode HTML

(21)

要求元のクライアントがiモード端末か

それ以外(一般のPCなど)かにより分散先を固定化する機能

それぞれ複数のノード(サーバ)を使用することが可能

複数ノード内の固定はクライアントのIPアドレスによる固定

クライアントがPC端末の場合

クライアントがimode端末の場合

Webサーバ固定化

(L7負荷分散)

i-mode

PC

PC

固定化方式5 クライアントタイプ

(22)

Cookieを使用して

最初のリクエストで分散したノードに固定化する機能

注意点

:Cookieによる固定化がされるのはWebサーバがCookie

を返す場合のみ、WebサーバがCookieを返さない|場合はクライ

アントのIPアドレスによる固定となる

Webサーバ固定化

(L7負荷分散)

PC A

i-modeA

①PC Aから1回目のリクエスト

②1回目のリクエストで分散された

サーバに分散

①i-modeAから1回目のリクエスト

②1回目のリクエストで分散された

サーバに分散

固定化方式6 Cookie

(23)

HTTP/1.1 200 OK

Date: Fri, 09 Oct 2009 11:10:42 GMT

Server: Apache/2.2.9 (Win32) mod_ssl/2.2.9 OpenSSL/0.9.8h

Set-Cookie: key2=123456789; path=/; expires=Thu, 07-Jan-2010 11:10:42 GMT

Keep-Alive: timeout=5, max=97 Connection: Keep-Alive Transfer-Encoding: chunked

Content-Type: text/html; charset=ISO-8859-1

LB→クライアント

CookieによるWebサーバ固定化の仕組み(詳細)

※WebサーバがレスポンスにCookieを含める場合※

クライアントが リクエストを送信 LBは、負荷分散方式 に従って振分先の Webサーバを決定し、 リクエストを転送 WebサーバはCookie付きの レスポンスを返信 LBは固定化用Cookieを付けて レスポンスを返信

クライアント

クライアントはCookie付きの リクエストを送信 LBは固定化用Cookieから 接続先Webサーバを決定し、 リクエストを転送 「Cookie固定化時間」の間、 Cookieによる接続先を 記憶します

LB

Webサーバ1

Webサーバ2

応答HTTPヘッダの例

Set-Cookie:・・・ Set-Cookie:・・・ Set-Cookie:・・・ Cookie:・・・ Cookie:・・・ Cookie:・・・ Cookie:・・・ HTTP/1.1 200 OK

Date: Fri, 09 Oct 2009 11:10:42 GMT

Server: Apache/2.2.9 (Win32) mod_ssl/2.2.9 OpenSSL/0.9.8h

Set-Cookie: key2=123456789; path=/; expires=Thu, 07-Jan-2010 11:10:42 GMT

Keep-Alive: timeout=5, max=97 Connection: Keep-Alive Transfer-Encoding: chunked

Content-Type: text/html; charset=ISO-8859-1

(24)

CookieによるWebサーバ固定化の仕組み

※WebサーバがレスポンスにCookieを含めない場合※

クライアントが リクエストを送信 LBは、負荷分散方式 に従って振分先の Webサーバを決定し、 リクエストを転送 Webサーバはレスポンスを 返信(Cookieは付いていない) LBはクライアントへ レスポンスを返信

クライアント

クライアントが リクエストを送信 LBはクライアントのIP アドレスを基準に、前回(②) 接続したWebサーバを判断し、 リクエストを転送 (Webサーバ固定化の) 「固定化時間」の間、クライ アントのIPアドレスを基準 にして接続先を記憶します

Webサーバ1

Webサーバ2

LB

(25)

参照

関連したドキュメント

警告 当リレーは高電圧大電流仕様のため、記載の接点電

Spira, “A distributed algorithm for minimum-weight spanning trees,” ACM Trans. Topkis, “Concurrent broadcast for information dissemination”,

ホーム画面で (設定) ネットワークとインターネッ ト モバイル ネットワーク 4G 回線による通話

この課題のパート 2 では、 Packet Tracer のシミュレーション モードを使用して、ローカル

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

本手順書は複数拠点をアグレッシブモードの IPsec-VPN を用いて FortiGate を VPN

(2)指摘、注意及び意見 ア 指摘 なし イ 注意 なし ウ 意見.

4-2