DataPower トポロジー・ガイド WebSphere DataPower Topology Guide 日本アイ・ビー・エム株式会社 日本アイ・ビー・エム
by user
Comments
Transcript
DataPower トポロジー・ガイド WebSphere DataPower Topology Guide 日本アイ・ビー・エム株式会社 日本アイ・ビー・エム
WebSphere DataPower Topology Guide DataPower トポロジー・ガイド 日本アイ・ビー・エム株式会社 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 Disclaimer WebSphere DataPower Topology Guide 当資料で提供する技術情報は、各製品の出荷前コードに基づくものを 含みます。 この資料は日本アイ・ビー・エム株式会社ならびに 日本アイ・ビー・エム システムズ・エンジニアリング株式会社の正式な レビューを受けておりません。 当資料は、資料内で説明されている製品の仕様を保証するものではあ りません。 資料の内容には正確を期するよう注意しておりますが、この資料の内 容は2011年6月現在の情報であり、製品の新しいリリースによって動 作、仕様が変わる可能性があるのでご注意下さい。 今後国内で提供されるリリース情報は、対応する発表レターなどでご 確認ください。 2 目次 WebSphere DataPower Topology Guide はじめに DataPowerとは 代表的なトポロジー・パターン DataPowerの構成要素 構成要素詳細 Application Optimizationフィーチャーによる機能拡張 設計ポイント 主な構成手順 まとめ 参考資料 3 はじめに WebSphere DataPower Topology Guide 本資料の目的 本資料の対象 AOの機能が追加されることにより、多様なトポロジーが構成できるように なった。それぞれのトポロジーの特徴、考慮点をまとめる DataPowerの設計、構築の担当者 本資料の前提 対象機種・モデル z 対象Firmwareバージョン z 9235/ 9004 XI50またはXS40 3.8.2.1 トポロジーの対象プロトコル z HTTPプロトコルベースの処理時のトポロジーガイドとする 4 DataPowerとは WebSphere DataPower Topology Guide ESBに求められる処理を満たすアプライアンス 適用目的に応じた3つのラインアップ 上位モデルは下位モデルの機能を全て含む XS40 セキュリティ・ ゲートウェイ XA35 XMLアクセラレーター XML処理の高速化 XML処理 XML変換 スキーマ検証 XMLセキュリティー機能 共通機能 SSL/アクセラレーション ロードバランシング HA構成(StandbyGroup) XI50 インテグレーション・ アプライアンス 異機種間連携 WS-Security XML暗号、XML署名 XDoS攻撃等XML脅威への防御 非XMLメッセージのサポート 非XML/XMLフォーマット変換 WebSphere JMSサポート アクセス制御 外部認証認可サーバー連携 鍵・証明書管理 メッセージの中間処理 オプション マルチプロトコル変換 オプション WebSphere MQサポート TIBCO EMSサポート ODBCサポート Tivoli Access Managerサポート HSM 5 トポロジーに関連する主な構成要素 WebSphere DataPower Topology Guide プライマリー・サービス フロント(クライアント)サイドとバック エンドの仲介処理が実装されるコ ンポーネント。以下の要素が含ま れる フロント・サイド処理 z z 処理ポリシー z リクエスター リクエスターに対する接続処理を 行う。 Front Side Handlerコン ポーネントとして定義する場合が ある DataPower同士間でHA機能、または負 荷分散を行うコンポーネント Application Optimization 処理ポリシー 後段プロバイダーへのロードバランシン グを行うコンポーネント Standby Group エンドポイントの設定に従ってプロバイ ダーへの呼び出しを行う LoadBalancer Group メッセージに対する処理を定義す るコンポーネント フロント サイド 処理 バックエンド処理 Add Onフィーチャー。Load Balancer GroupとStandby Groupの機能を拡張 バックエンド 処理 プロバイダー プライマリー・サービス LoadBalancer Group Standby Group 6 WebSphere DataPower Topology Guide 代表的なトポロジーパターン 7 Active-Active構成①:外部負荷分散装置ありの場合 WebSphere DataPower Topology Guide 外部負荷分散装置が使用可能な場合 基本的に前段のDataPowerに対する障害検知及び振り分けを外部負荷分 散装置で行う バックエンドサーバーに対する障害検知も外部負荷分散装置で行う z 別途負荷分散装置から定期的にヘルスチェックの処理フローを実装する必要 がある 負荷分散装置 Active Active 8 Active-Active構成①’:外部負荷分散装置ありの場合 WebSphere DataPower Topology Guide 負荷分散装置+Load Balancer Group使用の場合 DataPowerに対する障害検知及び振り分けを外部負荷分散装置で行う バックエンドサーバーに対する障害検知及び振り分けはDataPowerの Load Balancer Group機能で行われる z 製品機能で自動的にバックエンドサーバーのヘルスチェックを行う 負荷分散装置 Active Active 9 Active-Active構成②:外部負荷分散装置なしの場合 WebSphere DataPower Topology Guide Self-Balancing機能で負荷分散及び高可用性を実現 外部負荷分散装置が使用不可の場合、基本的にこのパターンを選択する z 2台のDataPowerでStandby Groupを構成、さらにSelf-Balancing機能を有効 にする。 Self-Balancingの機能でリクエストの負荷分散及び高可用性を実現 後段サーバーへの負荷分散要件がある場合、Load Balancer Group機能 で後段に対する負荷分散及び高可用性を実現可能 仮想IP 仮想IP Active Active activeメンバー activeメンバー Active Active Standbyメンバー Standbyメンバー 10 WebSphere DataPower Topology Guide 各構成要素の詳細 11 プライマリー・サービス WebSphere DataPower Topology Guide 以下の種類が提供されている 1 2 1. 3 4 5 Web Service Proxy: クライアントからのリクエストを、バックエンドサーバー に橋渡し Multi-Protocol Gateway: 転送プロトコルの変換 3. XML Firewall: XML形式の不正メッセージをブロック 4. Web Application Firewall: Layer7のFirewall 5. XSL Accelerator: XSLTによる変換処理を高速に実行 2. 12 フロントサイド・ハンドラー WebSphere DataPower Topology Guide クライアントに対する接続ポイントとしての構成オブジェクト Webサービスプロキシーとマルチプロトコルゲートウェイで サポート WebサービスプロキシーはWSDLごとにフロントサイドハンドラーを一つ マルチプロトコルゲートウェイは複数フロントサイドハンドラーを定義可能 通信プロトコルの別でフロントサイド・ハンドラーを構成 XI50はライセンスに応じてMQ/WAS JMS/TIBCO EMSの非同期プロトコルに対応 z z z HTTP,HTTPS,RawTCP MQ WebSphere JMS :IP/ホスト名、ポートの指定 :キューマネージャー、PUT/GETキューの指定等 :ホスト名/ポート番号、PUT/GETキューの指定等 マルチプロトコル・ゲートウェイ Webサービスプロキシー Backend Serivce HTTP host1.makuhari.japan.ibm.com:9082 HTTP host1.makuhari.japan.ibm.com:9080 HTTP HTTPS host1.makuhari.japan.ibm.com:9081 HTTPS Backend Serivce HTTPS host1.makuhari.japan.ibm.com:9083 MQ dpmq://QMDP/URI?RequestQueue・・ HTTP/HTTPS/MQ 13 Load Balancer Group WebSphere DataPower Topology Guide 後続サーバーへの負荷分散及び高可用性機能を提供するオブジェクト ロードバランシング機能 後段サーバーへのアクセスのロードバランシングが可能 z z z z z z first-alive:プライマリーサーバーがダウンした場合のみバックアップサーバーへ割り振り hash:クライアントIPによるアフィニティ least-connection:コネクションが最も少ないサーバーへの割り振り round-robin:ラウンドロビン weighted-least-connections:アクティブなコネクションと重み付けの複合でラウンドロビン (※) weighted-round-robin:重み付けラウンドロビン ヘルスチェック機能 サービスのレベルでの生死確認が可能 z HTTP GETもしくはSOAPリクエストでの定期チェック z XPathを用いてレスポンスを走査 z ダウンと検知したサーバーにはリクエストを転送しない ※weighted-least-connectionsを使用するには、Application Optimizationフィーチャー(後述)の導入が必要 14 Standby Group WebSphere DataPower Topology Guide DataPowerが提供する冗長化機能 仮想IPアドレス(VIP)を持ち、通常はActive機が全ての通信を処理 する Active機の障害時にはStandby機のDataPowerでVIPを引き継ぎ、 通信を処理する 動作概要 各インターフェースは同じStandby Groupに属すことを示すために、同じGroup IDを持つ プライオリティの高いほうが通常時Active機、低いほうが通常時Standby機とな る Active機がVIPのOwnerとなる Helloパケットを3秒毎に交換し、互いの生死確認を行なう Standby Group DataPower#1 VIP Active DataPower#2 VIP Standby 15 Standby Groupにおける障害検知の仕組み WebSphere DataPower Topology Guide Active機、Standby機がBroadCastドメイン(224.0.0.2)を 介してお互いのステータス確認する ステータス確認するにはHSRP (Hot Standby Router Protocol)を使用 デフォルトではステータス確認のインターバルは3秒、障害 検知されてからFailover開始までのIntervalは10秒となっ ている インターバルの変更が推奨されない z http://www01.ibm.com/support/docview.wss?rs=180&uid=swg21420179&wv=1 FailoverによってStandby機がVIPを引き継ぐ 16 Standby Groupにおける障害検知の仕組み WebSphere DataPower Topology Guide DataPower#1 Active VIP1 SrcIP:192.168.1.14 DstIP:224.0.0.2 SrcMAC:00:00:0c:07:ac:32 Active機、Standby機が BroadCastドメイン (224.0.0.2)を介してお互いの ステータス確認する 0 Hello Standby 3 Hello Standby 6 Hello Standby 9 Hello Standby Hello Active < DataPower#1 ネットワーク障害 > Hello Standby 12 Hello Standby 18 Hello Standby 21 Hello Standby 23 Gratuitous ARP for 192.168.1.10 27 ARP for 192.168.1.10 27 Hello Active 28 Hello Active 31 Hello Active 3 Hello Active 6 Hello Active 9 Hello Active 12 t (秒) Standby VIP1 Hello Standby 0 障害時Standby機がVIPを引 き継ぐ DataPower#2 SrcIP:192.168.1.10 DstIP:224.0.0.2 SrcMAC:00.1a.64.88.90.eb 15 SrcIP:192.168.1.10 DstMAC:Broadcast SrcMAC:00:00:0c:07:ac:32 SrcIP:192.168.1.10 DstIP:224.0.0.2 SrcMAC:00:00:0c:07:ac:32 t (秒) 17 Standby Groupにおける障害検知の仕組み WebSphere DataPower Topology Guide 障害でFailover発生時 Active機へのすべてのリクエストが失敗する 復旧後、自動的にFailback行うかどうか指定可能 Failbackが有効になるとDataPower#1が復旧後、再びActive機になる 切り替えの際、Standby機(DataPower#2)へのリクエストが失敗するため 基本的に無効にする設定が推奨される z http://www01.ibm.com/support/docview.wss?rs=180&uid=swg21420179&wv=1 DataPower#1 VIP1 Active Failover Failback DataPower#2 VIP1 Standby 18 Application Optimizationフィーチャー概要 WebSphere DataPower Topology Guide 3.8.0にAdd Onとして追加、以下の機能を提供する Self-balancing機能 従来のStandby Group機能を拡張し、二台以上のDataPower間で負荷を分散 させる機能を提供 z V3.8以前ではActive-Standbyの構成のみ、負荷分散機能はない z Intelligent Load Distribution機能 z WASのセル情報をベースに動的にLoad Balancer Groupの作成 z WASクラスターのWeight情報を動的に取得し、それを元に負荷分散の実施 z Cookieベースのセッション・アフィニティー機能 適用可能なモデル 9235/ 9004 XI50またはXS40 別途ライセンスを購入する必要がある 19 WebSphere DataPower Topology Guide Application Optimizationフィーチャー による負荷分散/ロードバランス機能 の拡張 20 Self-Balancing機能 WebSphere DataPower Topology Guide Standby Groupの冗長化機能を加えて、構成するメンバー間で負荷分散を 可能にする機能。Application Optimization (AO)フィーチャーで提供される Activeメンバーが仮想IPアドレスへのコネクションを一旦受け付けた後、自分自 身を含め、コネクションの転送先を決める 他のメンバーが転送されたコネクションを処理して、直接レスポンスをクライアント に返す DataPowerの前段の負荷分散装置が不要となり、DataPowerのみで負荷分散 が可能 Active機障害時、グループ内で次にプライオリティの高いメンバーがVIPを引き継 ぎ、リクエストの受付、転送を行う Standby Group DataPower#1 VIP Active DataPower#2 VIP Passive 注:プライマリー・サービスとしてXML Firewallを使用する場合、Self-Balancingを有効にするため、Firmwareのバージョンが 3.8.0.13、3.8.1.12及び3.8.2.4が必要 21 Self-Balancingにおける処理転送の仕組み WebSphere DataPower Topology Guide Standby Group クライアント IP:192.168.1.17 MAC:00.16.d3.cc.47.82 VIP:192.168.1.10 VMAC:00:00:0c:07:ac:32 DataPower#1 ①要求送信 宛先MAC: 00:16:d3:cc:47:82 送信元MAC: 00:14:5e:f1:66:34 宛先IP: 192.168.1.17 送信元IP:192.168.1.10 Active VIP 宛先MAC: 00:00:0c:07:ac:32 送信元MAC: 00.16.d3.cc.47.82 宛先IP: 192.168.1.10 送信元IP:192.168.1.17 宛先MAC: 00:16:d3:cc:47:82 送信元MAC: 00:14:5e:f1:66:34 宛先IP: 192.168.1.17 送信元IP:192.168.1.12 ②要求転送 ③要求送信 宛先MAC: 00:14:5e:f1:66:34 送信元MAC: 00:00:0c:07:ac:32 サーバー IP:192.168.1.17 MAC:00.16.d3.cc.47.82 ④応答送信 DataPower#2 ⑤応答送信 DataPower#1 Real IP:192.168.1.15 Real MAC: 00:00:0c:07:ac:32 VIP Standby 宛先MAC: 00:14:5e:f1:66:34 送信元MAC: 00.16.d3.cc.47.82 宛先IP: 192.168.1.12 送信元IP:192.168.1.17 DataPower#2 Real IP:192.168.1.12 Real MAC: 00:14:5e:f1:66:34 22 Self-Balancingにおける処理転送の仕組み WebSphere DataPower Topology Guide 1. 2. 3. 4. 5. Active機がクライアントからのコネクションを確立する Active機が同一Standby Groupに属するメンバーの負荷状況を判断し、適 切なメンバーへ処理を転送する。その際MACアドレスを書き換えが行われ る 転送先のメンバー(Standby機)が後続の処理を行い、後段サーバーへリク エストを送信する 後段サーバーで処理が完了後、応答を転送先のメンバー(Standby機)へ 送信 転送先のメンバー(Standby機)から結果をクライアントへ送信する 23 Self-Balancingにおける処理転送の仕組み WebSphere DataPower Topology Guide DPに対する処理ごとに使用されるIPアドレスとMACアドレスは以下の通り Active機自身で処理を行う場合 クライアント→DP (Active機) z z z 送信元IP:Real IP 送信元Mac:Virtual Mac (Real Mac) z 宛先IP:Real IP 宛先Mac:Virtual Mac (Real Mac) DP (Active機)→クライアント z z 送信元IP:Virtual IP 送信元Mac:Virtual Mac (Real Mac) クライアント→DP (Active機) z z z 送信元IP:Real IP 送信元Mac:Real Mac 後段サーバー→DP (Standby機) z z 宛先IP:Virtual IP 宛先Mac:Virtual Mac DP (Standby機) →後段サーバー z 後段サーバー→DP (Active機) z Standby機で処理を行う場合 宛先IP:Virtual IP 宛先Mac:Virtual Mac DP (Active機) → 後段サーバー z 宛先IP:Real IP 宛先Mac:Real Mac DP (Standby機)→クライアント z z 送信元IP:Virtual IP 送信元Mac:Real Mac 注:Active機はReal MacがVirtual Macで上書きされる 24 セッション・アフィニティー WebSphere DataPower Topology Guide 同一クライアントからのリクエストを同一バックエンドサー バーへ振り分ける機能 Application Optimizationフィーチャーが提供する機能で、既存のLoad Balancer Group機能を拡張する クッキーベースでLoad Balancer Groupによるリクエストの 振り分け先を制御 DataPowerがリクエストに含まれるクッキーの情報で振り分け先を判断 有効時セッション・アフィニティーがLoad Balancer Groupの振り分けアル ゴリズムを上書きする 3種類のセッション・アフィニティーモード z Passiveモード z Activeモード z Active-Conditionalモード 25 セッション・アフィニティーの種類 WebSphere DataPower Topology Guide Passiveモード バックエンド・サーバーがWASである必要がある WASのJSESSIONIDを利用してセッション・アフィニティーを実現 Load Balancer Group DataPower リクエスト (JSESSIONID=PAKZZ:P_A.1) リプライ リクエスト(JSESSIONID=PAKZZ:P_A.1) WASのJSESSIONを 利用する リプライ 26 セッション・アフィニティーの種類 WebSphere DataPower Topology Guide Active-conditionalモード WAS以外のサーバーにも適用可能 レスポンスにSet-cookie要求をモニターし、要求があった場合、 DataPower独自のクッキー(DPJSESSIONID)を挿入 以後のリクエストにDPJSESSIONIDでセッション・アフィニティーを実現 Load Balancer Group DataPower リクエスト リクエスト リプライ(SetCookie: JSESSIONID= … ; SetCookie: DPJSESSIONID=PBC5YS:-2342213232;) リプライ(SetCookie: JSESSIONID=…) リプライにSetCookieが あったため、 DPJSEESIONIDを挿入 27 セッション・アフィニティーの種類 WebSphere DataPower Topology Guide Activeモード WAS以外のサーバーにも適用可能 リクエストにDPJSESSIONIDの有無をモニターし、ある場合、対応するバッ クエンド・サーバーへ転送 ない場合、レスポンスにDPJSESSIONIDを挿入し、以後のリクエストに DPJSESSIONIDでセッション・アフィニティーを実現 Load Balancer Group DataPower リクエスト リクエスト リプライ(SetCookie: DPJSESSIONID=PBC5YS:-2342213232;) リプライ リプライにSetCookieがないた め、DPJSEESIONIDを挿入 28 WebSphere DataPower Topology Guide 設計時のポイント 29 障害検知の範囲(Standby Group) WebSphere DataPower Topology Guide Standby Groupの障害検知の範囲がインターフェース単位 1つのStandby Groupにテイクオーバーが発生しても、連動して他の Standby Groupのテイクオーバーを発生させることはできない 例: z Front-endとBack-endを分離、DataPower#1のeth0とDataPower#2のeth0が Standbyグループ z Backendのeth1が障害になりBackendサーバーに一切の疎通ができなくなって も、eth0は無影響のため依然としてクライアントからのリクエストを受けてしまう z DataPower#2のBack-endのeth1が障害になっても、DataPower#1がそれを検 知できず、DataPower#2へDispatchする可能性がある DataPower#1 eth0 eth1 Active DataPower#2 eth0 eth1 Standby 30 障害検知の範囲(Standby Group) WebSphere DataPower Topology Guide 前段、後段のポートを連動して障害検知したい場合、前 段・後段を同一物理ポートを設定することで実現可能 VLANを使用して前段・後段のネットワークを別々にする Front-endとBackend(eth0)が1インターフェースとなるので、 DataPower#1 のeth0障害になった場合はDataPower#1のBOX障害と同 等になり、DataPowr#2でVIPを引き継ぎ、その後の通信を処理する 行きと帰りのトラフィックがすべてeth0を通るため、帯域の考慮が必要 DataPower#1 eth0 Active DataPower#2 eth0 Standby 31 障害検知(Load Balancer Group) WebSphere DataPower Topology Guide Load Balancer Groupが後段サーバーへの負荷分散機能 の他、ヘルスチェック機能も持っている 指定したインターバルで後段サーバーへHTTPリクエストを送信 z ユーザー指定したSOAPリクエストの送信も可能 後段サーバーからのレスポンスへのタイムアウト値で後段サーバーの筐体 障害やハング状況を検知可能 さらに後段サーバーからのレスポンスの中身を解析し、アプリケーションレ ベルで障害検知も可能 開閉局管理用など z レスポンスメッセージのフォーマットはXMLである必要がある z 障害と見なす後段サーバーが振り分けのリストから除外される z 後続のヘルスチェックをパスすれば再び振り分けリストに加える 注:後段サーバーがLDAP及びIMSサーバーの場合、TCPのPingでヘルスチェックが行われる 32 仕掛中の処理の障害設計 WebSphere DataPower Topology Guide 基本的に、Active機のFailover中の新規リクエストが接続 エラーとなる クライアントアプリケーションの実装によって、新規接続の生成(SYN)をリト ライする場合は、リトライ中にFailoverが完了すれば正常応答となる DataPower処理中(リクエストあるいはレスポンス)に障害 でFailoverが発生すると、処理が失敗する バックエンド処理中(リクエストあるいはレスポンス)に障害 でFailoverが発生すると、要求処理を実施した箇所によっ て挙動が異なる 正常稼動中のDataPowerで処理されたリクエストは、正常処理される (Failoverの影響は受けない) 要求処理を実施したDataPowerがダウンしても、応答処理がFailover先で 処理されることはない 33 仕掛中の処理の障害設計 WebSphere DataPower Topology Guide 要求処理をActive機で実施した場合(Failover) 応答処理ではバックエンドサーバーから元のActive機に接続を試みる 停止状態のため応答を返せず、クライアント側のタイムアウトでエラー Standby Group クライアント Standby Group DataPower#1 ①要求送信 VIP Active ③Failover発生 DataPower#1 VIP Active Webサービス要求タイ ムアウトでエラー ④応答送信(リトライ) ②要求送信 Active機で実施した要求処理が失敗する DataPower#2 VIP Standby バックエンド サーバー バックエンド サーバー DataPower#2 VIP Active 34 仕掛中の処理の障害設計 WebSphere DataPower Topology Guide 要求処理をActive機で実施した場合(Failover) 1. 2. 3. 4. Active機がクライアントからのリクエストを受信後、自分自身へ処理を振り 分ける Active機から後段のサーバーへリクエストを送信する 後段サーバーでの処理中にActive機のDataPowerが障害発生し、 Failoverが行われる 後段サーバーでの処理完了後、リクエストの送信元であるActive機へ結果 を送信しようとするが、Active機がダウンしているため結果送信できず。ク ライアント側でタイムアウトエラーが発生し、処理が失敗する 35 仕掛中の処理の障害設計 WebSphere DataPower Topology Guide 要求処理をStandby機で実施した場合(Failover) バックエンドサーバーからActive機(元Standby機)に応答を返す クライアントに正常に応答を返す ④Failover発生 Standby Group DataPower#1 ①要求送信 VIP Active Standby Group DataPower#1 VIP Active ⑤応答送信 ③要求送信 ②要求転送 DataPower#2 VIP Standby DataPower#2 VIP Standby 36 仕掛中の処理の障害設計 WebSphere DataPower Topology Guide 要求処理をStandby機で実施した場合(Failover) 1. 2. 3. 4. 5. Active機がクライアントからの接続を確立する Active機がStandby機へ処理を振り分ける Standby機から後段のサーバーへリクエストを送信する 後段サーバーでの処理中にActive機のDataPowerが障害発生し、 Failoverが行われる。Standby機がVIPを持つようになる 後段サーバーでの処理完了後、リクエストの送信元であるStandby機へ正 常に送信できる。Standby機がVIPを持っているので、クライアントへも正常 に結果を送信できる。一連の処理が正常に完了できる 37 仕掛中の処理の障害設計 WebSphere DataPower Topology Guide バックエンドサーバー処理中にFailoverが発生すると、処 理が失敗する可能性がある 仕掛中の処理が失敗するという前提でシステム前提の障害設計が必要 38 振り分けのオーバーヘッド Active機でコネクションのみ確立して、処理を転送するため、 処理のオーバーヘッドが小さい リクエストデータを受け付けるわけではない 基本的にStandby機に対して3%~5%のオーバーヘッドが発生 各DataPowerで処理したリクエスト量/sとCPU使用率の関係 cpu(%) WebSphere DataPower Topology Guide 100 90 80 70 60 50 40 30 20 10 0 AO-Active(AOあり) AO-Standby(AOあり) 参考(AO無し) 近似線 AO-Active 近似線 AO-Standby 0 500 1000 1500 2000 負荷(req/s) 2500 3000 39 リソースの引継ぎ WebSphere DataPower Topology Guide Standby Groupで属するDataPower間で基本的にリソー スの引継ぎという機能を持っていない ネットワークコネクションの引継ぎはない 処理フローのデータの引継ぎはない 障害時処理のリカバリが必要なケース、アプリケーションレ ベルでカバーする必要がある 例:アプリケーションでリトライする仕組みを提供するなど 40 WebSphere DataPower Topology Guide トポロジー構成 ・Load Balancer Groupの設定手順 ・Session Affinityの設定手順 ・Standby Groupの設定手順 ・Self-Balancingの設定手順 41 Load Balancer Group WebSphere DataPower Topology Guide DataPowerがバックエンド・サーバーの構成情報を定期的 に取得でき、動的に負荷分散を実施可能 サーバーの増減、Weightの変更 AOフィーチャーが提供しているODCInfoというWebアプリケーションで定期 的にBackendサーバーをPollingする z ODC:On Demand Configuration ODCInfoによりバックエンド・ サーバー情報を定期的に取得 ODCInfo DataPower バックエンド・サーバーが WAS Network Deploymentである必要がある DataPowerは バックエンド・サーバー への通信を分散 DataPowerのLoad Balancer Group WASのクラスター 42 動的Load Balancer Groupの設定手順 WebSphere DataPower Topology Guide 手順の流れ 1. 2. 3. バックエンドのWASに対してクラスターを構成する DataPower上でLoad Balancer Groupを構成する DataPower上の処理フローに対して2で定義したLoad Balancer Groupを 使用するように設定する 43 動的Load Balancer Groupの設定手順 WebSphere DataPower Topology Guide Control Panelから「Network-Other-Load Balancer Group」と選択 「Add」ボタンをクリックし、新規作成する 44 動的Load Balancer Groupの設定手順 WebSphere DataPower Topology Guide 「Main」タブで以下ように設定し、「Apply」する 1. 2. 3. 4. Retrieve Workload Management Information:「on」に設定、動的Load Balancer Groupの使用を有効にする Workload Management Retrieval:「WebSphere Cell」と設定 WebSphere Cell:「+」ボタン をクリックし、WASセルの情報を定義する Workload Management Group Name:WASのクラスター名を設定 45 動的Load Balancer Groupの設定手順 WebSphere DataPower Topology Guide 以下のクラスターに属するWASセルのデプロイメント・マネージャーの情報 を設定し、「Apply」ボタンをクリックし、元のLoad Balancer Groupの設定画 面に戻る z Deployment Manager Host z Deployment Manager Port number 46 動的Load Balancer Groupの設定手順 WebSphere DataPower Topology Guide 以上の設定でLoad Balancer Groupの設定が完了。 DataPowerがWASのクラスターメンバーの情報を自動的 に取得し、振り分けを行う Load Balancer Groupのステータス確認 Control Panelから「Status-IP-Network-Load Balancer Status」で確認 47 動的Load Balancer Groupの設定手順 WebSphere DataPower Topology Guide 構成したLoad Balancer Groupを処理フローの中で指定 例えばXML Firewallプライマリー・サービスを利用してフローを作成した場 合、作成したXML FirewallのXML Managerの中で作成Load Balancer Groupを指定する 48 補足: WebSphere DataPower Topology Guide 動的Load Balancer Groupを構成する際、「Members」タ ブで明示的に振り分けメンバーを定義しない 定義すると正しく動作しないことがある 動的Load Balancer Groupを無効にする場合のみ、「Members」タブで明 示的に定義する必要がある 49 Session Affinityの構成 WebSphere DataPower Topology Guide Load Balancer Group構成画 面の「Session Affinity」タブで 設定する [Enable Session Affinity] z [Insertion Cookie Name] z クッキーの挿入パス [Insertion Domain] z DPJSESSIONID(値の変更は不 可) [Insertion Path] z セッション・アフィニティーの使用 有無を指定 クッキーの挿入ドメイン [Override WebSphere Cell Session Session Affinity] z z offの場合Passiveモード onの場合、Active-conditional モードか、Activeモードを選択 50 Standby Group/Self-Balancingの設定手順 WebSphere DataPower Topology Guide 1. Control Panelから「Network-Interface-Ethernet Interface」を選択 2. Ethernetインターフェース一覧から、Standby Groupを構成したインター フェースを選択し、「Standby Control」タブをクリックする 51 Standby Group/Self-Balancingの設定手順 WebSphere DataPower Topology Guide 3. 以下の項目を設定する(それ以外デフォルトのままにする) z Group Number:Standby Groupを識別するためのIDVirtual IP Address: Standby Groupでリクエストを受け付ける仮想IPアドレス z Enable/Disable Preempt Mode:復旧時Failbackするかどうかを指定。「on」に 設定するとFailbackが行われる z Priority:プライオリティを指定する z Enable/Disable Self-Balancing:Self-Balancingを使用するかどうかを指定。 「off」の場合Failover機能のみ有効。 「on」の場合Failover及びSelfBalancing(負荷分散)機能が有効になる。 52 Standby Group/Self-Balancingの設定手順 WebSphere DataPower Topology Guide 4. 繰り返し前述の手順をStandby Groupに属する他のDataPowerのイン ターフェースに対しても実施する 53 Standby Group/Self-Balancingの設定手順 WebSphere DataPower Topology Guide 注意事項 Standby Controlに属する各物理ネットワーク・インターフェースは同一ネッ トワークのサブネットワークに存在する必要がある 管理インターフェースに対してStandby Controlを設定しない z WebGUIが正常に動作しない可能性がある プライオリティ値に異なる値を設定する必要がある 同一値を設定すると、ActiveかStandbyの状態を決めることができず、正常に 動作しない可能性がある z プライオリティがActive機かStandby機かを決めるための設定、振り分けの重 み付けためのではない z 重み付けは基本的にDataPowerのCPU能力で自動的に計算される。同一モデ ルのDataPower間の場合、ほぼランドロビンで処理が振り分けされる z 54 Standby Group/Self-Balancingの設定手順 WebSphere DataPower Topology Guide Standby Groupのステータスの確認 Control Panelから「Status-IP-Network-Standby」から確認する 55 まとめ WebSphere DataPower Topology Guide 高可用性 負荷分散 構成の容易性 Active-Active (外部負荷分散装置) ◎ ○ △ 別途負荷分散装置 の構成が必要 別途後段サーバー への障害検知の仕組 みの実装が必要 Active-Active (外部負荷分散装置 +Load Balancer Group) ◎ ○ △ 別途負荷分散装置の 構成が必要 ○ 前段・後段異なる物 理ポートの場合、障 害検知できない場 合がある ○ ○ Active-Active (Self-balancing) 56 参考資料 WebSphere DataPower Topology Guide Information center RedBook:DataPower SOA Appliance Administration, Deployment, and Best Practices http://publib.boulder.ibm.com/infocenter/wsdatap/v3r8m2/index.jsp?to pic=/xi50/welcome.htm http://www.redbooks.ibm.com/abstracts/sg247901.html?Open DataPower構成ガイド http://www.ibm.com/developerworks/jp/websphere/library/esb/dtpw_co nfig_guide/ 57