この章では、Oracle Traffic Directorを理解し、使用を開始するための情報を提供します。内容は次のとおりです。
Oracle Traffic Directorは高速で、かつ信頼性と拡張性のあるレイヤー7のソフトウェア・ロード・バランサです。バック・エンドのアプリケーション・サーバーおよびすべてのWebサーバーへのすべてのHTTP、HTTPSおよびTCPトラフィックに対する信頼できるエントリ・ポイントとして機能するように、Oracle Traffic Directorを設定できます。IT環境のニーズに応じて、リクエストをバックエンド・ユーザーに分散するとき、およびクライアントにレスポンスを転送するときに複数の複雑なルールを適用するようにOracle Traffic Directorを構成できます。
Oracle Traffic Directorは、クライアントから受信したリクエストの、指定されたロード・バランシング・メソッドに基づくバック・エンドのサーバーへの分散、指定されたルールに基づくリクエストのルーティング、頻繁にアクセスされるデータのキャッシュ、トラフィックの優先付け、およびサービス品質の制御を行います。
Oracle Traffic Directorのアーキテクチャでは、大量のアプリケーション・トラフィックを低遅延で処理できます。この製品は、Oracle Exalogic Elastic CloudおよびOracle SuperClusterでの使用に最適化されています。Exalogicのインフィニバンド・ファブリックを介してバック・エンドのサーバーと通信できます。Exalogicの詳細は、Oracle Exalogic Elastic Cloudのドキュメント(http://docs.oracle.com/cd/E18476_01/index.htm)を参照してください。Oracle Traffic Directorは様々なFusion Middleware製品でも動作保証されています。
Oracle Traffic Directorは、簡単にインストール、構成および使用できます。Oracle Traffic Directorインスタンスの管理には、シンプルでウィザードを利用したグラフィカル・インタフェースの他、堅牢なコマンドライン・インタフェースが用意されています。
エンジニアド・システム・プラットフォームで、Oracle Traffic Directorインスタンスのペアを設定し、組み込まれている高可用性機能をアクティブ-パッシブ・フェイルオーバーまたはアクティブ-アクティブ・フェイルオーバーのいずれかを設定するために活用できます。ネットワークのへのトラフィック量の増大に伴い、リクエストのルーティング先となるバックエンド・サーバーを追加してOracle Traffic Directorを再構成することで、環境を簡単に拡張できます。
Oracle Traffic Directorには、次の機能があります。
高度なロード分散メソッド
次のいずれかのメソッドを使用して、バックエンドのサーバーにクライアント・リクエストを分散するようにOracle Traffic Directorを構成します。
ラウンド・ロビン
最小接続件数
最小レスポンス時間
重み付けラウンド・ロビン
重み付け最小接続件数
バック・エンド・サーバーでの柔軟なルーティングおよびロード制御
リクエスト・ベースのルーティング
Oracle Traffic Directorは、リクエストURI内の情報(パターン、問合せ文字列、ドメイン、ソースおよび宛先のIPアドレスなど)に基づいて、バック・エンドの特定のサーバーにHTTP/Sリクエストをルーティングするように構成できます。
コンテンツベースのルーティング
HTTP/Sリクエストをリクエストのコンテンツに基づいてバックエンドにある特定のサーバーにルーティングするようにOracle Traffic Directorを構成できます。これにより、XMLやJSONなどのWebサービス・リクエストを、本文のコンテンツに含まれる特定の要素に基づいて特定のオリジン・サーバーに簡単にルーティングできます。コンテンツベースのルーティングはデフォルトで有効です。
リクエスト・レート・アクセラレーション
管理者は、バック・エンドの特定のサーバーに対してOracle Traffic Directorがロードを増やすレートを構成できます。この機能を使用して、管理者は、プールに追加された、または再起動されたサーバーでの起動タスク(データのロード、システム・リソースの割当てなど)の実行を許可します。
接続制限
Oracle Traffic Directorは、バック・エンドのサーバーへの同時接続数を制限するように構成できます。サーバーの構成済接続制限に達すると、新しい接続を要求するその後のリクエストは、そのサーバーには送信されません。
リクエスト・ロードおよびサービス品質の制御
リクエスト・レート制限
Oracle Traffic Directorは、特定のクライアントからの受信リクエスト、および特定のタイプのリクエストのレートを制限するように設定できます。この機能により、管理者は、使用可能な帯域幅の利用を最適化し、特定のサービス品質レベルを保証して、サービス拒否(DoS)攻撃を回避できます。
サービス品質のチューニング
受信リクエストに対し、使用可能なネットワーク・リソースを公平に利用するために、クライアントへの最大同時接続数、およびデータのクライアントへの最高転送速度を制限するようにOracle Traffic Director仮想サーバーを構成できます。
WebSocket接続のサポート
Oracle Traffic DirectorではWebSocket接続がデフォルトで処理されます。WebSocket接続は存続時間が長いため、ライブ・コンテンツやリアルタイムのゲーム、ビデオ・チャットなどをサポートできます。RFC 6455を厳密に遵守するこれらのクライアントのみを許可するように、Oracle Traffic Directorを構成できます。詳細は、「仮想サーバーのルートの構成」および『Oracle Traffic Directorコマンドライン・リファレンス』を参照してください。
Oracle Fusion Middlewareとの統合
Oracle Traffic Directorは、バック・エンドのOracle WebLogic Server管理対象サーバーへのリクエスト、およびサーバーからのレスポンスの一部であるヘッダーを認識し処理するように設計されています。
Oracle Traffic Directorインスタンスが、クラスタ化されたOracle WebLogic Server管理対象サーバーにクライアント・リクエストを分散するように構成されている場合、Oracle Traffic Directorは、管理対象サーバーの削除や追加などのクラスタ内の変更を自動検出し、リクエストのルーティング中この変更を考慮します。
Oracle Traffic Directorソフトウェア用に提供されているパッチは、OPatchというJavaベースのユーティリティを使用して適用できますが、これはOracle Fusion Middleware製品にパッチを適用する標準的な方法です。
簡単に使用できる管理インタフェース
管理者はグラフィカル・ユーザー・インタフェースまたはコマンドライン・インタフェースを使用して、Oracle Traffic Directorインスタンスを管理できます。
管理者はFusion Middleware Control(ブラウザベースのグラフィカル・ユーザー・インタフェース)を使用して、統計の監視、およびOracle Traffic Directorインスタンスのライフサイクル・タスクを実行することもできます。
セキュリティ
Oracle Traffic Directorを使用すると、次の方法でITインフラストラクチャのセキュリティを有効化および拡張できます。
リバース・プロキシ
Oracle Traffic Directorは、ネットワークの外のクライアントとバック・エンドのサーバー間の仲介者として機能し、バック・エンドのサーバーの名前をマスクし、バック・エンドの複数のサーバーによってホストされている重要なデータおよびアプリケーションへのアクセスをトラッキングするための単一のポイントを提供します。
TLS 1.0、1.1および1.2のサポート
送信中のデータを保護し、権限のあるユーザーのみがバック・エンドのサーバーにアクセスできるようにするため、Oracle Traffic DirectorインスタンスにTLSが有効化されたHTTPリスナーとTCPリスナーを構成できます。
VeriSignなどの商用CAによって発行されたデジタル証明書を使用するか、管理コンソールまたはWLSTを使用して、鍵サイズが4096ビットまでのRSAタイプおよび楕円曲線暗号(ECC)タイプの自己署名証明書を生成できます。
Webアプリケーション・ファイアウォール
Webアプリケーション・ファイアウォールを使用してHTTPリクエストにルールのセットを適用し、クロスサイト・スクリプティング(XSS)やSQLインジェクションなどの一般的な攻撃を阻止できます。Oracle Traffic DirectorのWebアプリケーション・ファイアウォール・モジュールはオープン・ソースのModSecurity 2.6をサポートしています。
オリジン・サーバー・プールのHTTP転送プロキシ・サポート
目的のオリジン・サーバーへのアクセスが企業のプロキシ・サーバーを通じて制限されている環境では、(指定プールの)すべてのメンバー・オリジン・サーバーが構成済HTTP転送プロキシ・サーバーを通じて通信するように、オプションでHTTP転送プロキシ・サーバーをオリジン・サーバー・プールに関連付けることができます。
高可用性
Oracle Traffic Directorは、次のメカニズムを介して、エンタープライズ・アプリケーションおよびサービスの高可用性を提供します。
バック・エンドのヘルス・チェック
バック・エンドのサーバーが使用不可であるか、完全にロードされている場合、Oracle Traffic Directorは、定期的なヘルス・チェックにより自動的にこの状況を検出し、そのサーバーへのクライアント・リクエストの送信を停止します。障害の発生したサーバーが再び使用可能になった場合、Oracle Traffic Directorは自動的にこれを検出し、このサーバーへのリクエストの送信を再開します。
バック・エンドのサーバーのバックアップ
Oracle Traffic Directorインスタンスのサーバー・プールを設定する際、バック・エンドのいくつかのサーバーをバックアップ・サーバーとして指定できます。Oracle Traffic Directorは、使用可能なプライマリ・サーバーがない場合にのみ、バックアップ・サーバーにリクエストを送信します。この機能により、バック・エンドのサーバーの一部に障害が発生しても、継続的な可用性が確保されます。
ロード・バランシングのためのフェイルオーバー
Oracle Traffic Directorインスタンスを、アクティブ-パッシブまたはアクティブ-アクティブ構成でデプロイできます。プライマリOracle Traffic Directorインスタンスに障害が発生した場合、バックアップ・インスタンスに処理が切り替わります。
動的再構成
Oracle Traffic Directorへのほとんどの構成変更は、インスタンスを再起動したり、処理中のリクエストに影響を及ぼしたりすることなく動的にデプロイできます。
統計の監視
管理者は、管理コンソール、コマンドライン・インタフェース、およびXML形式のレポートなど複数の方法で、Oracle Traffic Directorインスタンスのパフォーマンスに関連する統計を広範囲にわたって監視できます。
高パフォーマンス
SSL/TLSの負荷軽減
Oracle Traffic Directorは、HTTP/SリクエストおよびTCPリクエストのSSL/TLS終端点として構成できます。これにより、バック・エンドのサーバーの処理のオーバーヘッドが削減されます。
コンテンツ・キャッシュ
Oracle Traffic Directorは、オリジン・サーバーから受信したコンテンツを(プロセス・メモリー内に)キャッシュするように構成できます。コンテンツをキャッシュすることで、Oracle Traffic Directorは、バック・エンドのサーバーの負荷を削減し、クライアントのパフォーマンスを向上できます。
HTTP圧縮
管理者は、バック・エンドのサーバーから受信したデータを圧縮し、リクエスト元のクライアントに圧縮されたコンテンツを転送するようにOracle Traffic Directorインスタンスを構成できます。この機能により、低速接続で接続されたクライアントのレスポンス時間が向上します。
Oracle Traffic Directorは、簡単にインストール、構成および使用できます。Oracle Traffic Directorインスタンスの管理には、シンプルでウィザードを利用したグラフィカル・インタフェースの他、堅牢なコマンドライン・インタフェースが用意されています。Oracle Traffic Directorの管理サーバーは、Oracle Traffic Directorインスタンスの作成、変更および管理に使用できるインタフェースを備えています。
Oracle Traffic Directorのコマンドライン・インタフェースは、WebLogic Scripting Tool (WLST)です。
WLSTスクリプト環境は、Javaプラットフォーム用のPython言語の実装であるJythonに基づいています。このツールは、オンラインおよびオフラインの両方で使用できます。Oracle Traffic Directorには、WLSTを使用して実行できるカスタムWLSTコマンドが付属しています。
注意:
Oracle Traffic Directorには、Oracle Traffic Directorコマンドに必要な環境やライブラリを初期化するwlst.sh
ラッパー(<oracle_home>/otd/common/bin/wlst.sh
)が付属しています。すべてのOracle Traffic Directorのカスタム・コマンドは、このwlst.sh
からのみ実行できます。
WLSTの使用方法の詳細は、『Oracle Traffic Director WebLogic Scripting Toolコマンド・リファレンス』を参照してください。
Fusion Middleware Controlを表示するには、Fusion Middleware ControlのURLを入力します。このURLには、インストール時に割り当てられたホスト名と管理ポート番号が含まれます。このURLの形式は次のとおりです。
http://hostname.domain:port/em
ポート番号は、Fusion Middleware Controlのポート番号です。デフォルトのポート番号は7001です。ポート番号は、次のファイルにリストされています。
DOMAIN_HOME/config/config.xml
Web層など、一部のインストール・タイプでは、最後のインストール画面で「保存」をクリックしてインストール情報を保存した場合、Fusion Middleware ControlのURLが、ディスクに書き込まれたファイル(デフォルトではホーム・ディレクトリにあります)に含まれています。その他のインストール・タイプの場合、構成が完了すると構成ウィザードの「ドメインの作成」画面に情報が表示されます。
Fusion Middleware Controlを表示するには:
これでOracle Traffic Director構成を作成し、管理ノードのインスタンスとしてデプロイできるようになりました。
Oracle Traffic Director構成は、Oracle Traffic Directorインスタンスの実行時の動作を定義する一連の要素です。Oracle Traffic Director構成には、リスナー、オリジン・サーバー、フェイルオーバー・グループ、ログなど、Oracle Traffic Directorインスタンスの様々な要素に関する情報が含まれています。
次の表には、このマニュアルでOracle Traffic Directorの管理タスクを説明するときに使用されている用語が記載されています。
管理者はグラフィカル・ユーザー・インタフェースまたはコマンドライン・インタフェースを使用して、Oracle Traffic Directorインスタンスを管理できます。
前提条件
製品をインストールします。
サイレント・モードで、または対話型のグラフィカル・ウィザードを使用して、Oracle Traffic Directorをx86_64のOracle Linux 6.5+にインストールできます。12cでは、Oracle Traffic Directorにはそれ専用の管理サーバーはなく、Oracle WebLogic Serverの管理サーバーを使用することに注意してください。
詳細は、『Oracle Traffic Directorのインストール』を参照してください。
Oracle Traffic Director用のWebLogicドメインの作成。詳細は、PackおよびUnpackコマンドによるドメインの作成または『構成ウィザードによるWebLogicドメインの作成』を参照してください
Fusion Middleware ControlおよびWLSTへのアクセス
Oracle Traffic DirectorのFusion Middleware Controlおよびコマンドライン・インタフェースを使用して、Oracle Traffic Directorの構成を作成、変更および監視できます。
Fusion Middleware Controlおよびコマンドライン・インタフェースへのアクセスの詳細は、「管理インタフェース」を参照してください。
標準的なタスクは次のとおりです。
構成の作成および管理
Oracle Traffic Directorインスタンスを定義する構成を作成します。構成とは、Oracle Traffic Directorのインスタンス化に使用できるメタデータの集合です。この構成は、サーバー・インスタンスの起動時およびクライアント・リクエストの処理中にOracle Traffic Directorによって読み取られます。
詳細は、「構成の管理」を参照してください。
インスタンスの作成および管理
構成を作成した後、1つ以上のホストにその構成をデプロイすることによってOracle Traffic Directorサーバー・インスタンスを作成できます。各インスタンスの現在の状態を表示したり、各インスタンスを起動または停止したり、各インスタンスを再構成して構成の変更を反映させたりすることができます。
詳細は、「インスタンスの管理」を参照してください。
オリジン・サーバー・プールの定義および管理
Oracle Traffic Directorインスタンスによってクライアント・リクエストを分散させるには、バックエンド内に1つ以上のオリジン・サーバー・プールを定義する必要があります。オリジン・サーバー・プールごとに、Oracle Traffic Directorによるリクエストの分散に使用するロード分散方法を定義できます。さらにプール内のオリジン・サーバーごとに、Oracle Traffic Directorによるリクエスト・ロードの制御方法を定義できます。
詳細は、「オリジン・サーバーの管理」および「オリジン・サーバー・プールの管理」を参照してください。
仮想サーバーおよびリスナーの作成および管理
ノード上で実行されているOracle Traffic Directorインスタンスには、1つ以上の仮想サーバーが含まれています。各仮想サーバーには、クライアントからリクエストを受信するための1つ以上のリスナーが備わっています。各仮想サーバーでは、仮想サーバーによるリクエストのルーティング先となるオリジン・サーバー・プール、サービス品質の設定、リクエスト制限、キャッシュ・ルール、ログ・プリファレンスなどのパラメータを構成できます。
詳細は、「仮想サーバーの管理」および「リスナーの管理」を参照してください。
セキュリティの管理
Oracle Traffic Directorは、標準的なネットワークにおいて外部とのやり取りを担う位置に実装されるため、バックエンド内のデータおよびアプリケーションをネットワークの外部からの攻撃や不正アクセスから保護する上で重要な役割を果たします。さらに、Oracle Traffic Directorを通って残りのネットワークに達するデータについて、そのセキュリティおよび整合性を確保する必要があります。
詳細は、「セキュリティの管理」を参照してください。
ログの管理
Oracle Traffic Directorのログ・ファイルには、構成の変更、インスタンスの起動および停止、リクエスト処理中のエラーなどのサーバー・イベントに関するデータが記録されます。ログは、エラーのトラブルシューティングやシステムのチューニングによるパフォーマンス向上に役立ちます。
詳細は、「ログの管理」を参照してください。
統計の監視
Oracle Traffic Directorインスタンスの状態およびパフォーマンスは、構成設定、着信リクエストの量、オリジン・サーバーのヘルス、インスタンスを通過するデータの種類など、複数の要因によって影響を受けます。管理者は、コマンドライン・インタフェースおよびFusion Middleware Controlを使用して、これらの要因すべてについてのメトリックを表示し、XMLファイルのフォームに統計を出力して詳細な分析を行うことができます。Oracle Traffic Directorによって収集する統計の粒度を調整することもできます。
詳細は、「Oracle Traffic Directorインスタンスの監視」を参照してください。
高可用性を提供するためのOracle Traffic Directorインスタンスの設定
Oracle Traffic Directorインスタンスまたはその実行ノードに障害が発生した場合には、インスタンスによって提供されているロード・バランシング・サービスが、中断されることなく継続的に利用できるようにする必要があります。プライマリ・インスタンスに障害が発生したときにリクエストの処理を引き継ぐ、バックアップ用のOracle Traffic Directorインスタンスを構成することによって、この目標を達成できます。
詳細は、「フェイルオーバーの設定」を参照してください。
パフォーマンス向上のためのチューニング
パフォーマンス統計の分析に基づき、あるいはリクエスト・ロード・プロファイルの変更に応じて、パフォーマンスの維持や向上のためにOracle Traffic Directorのリクエスト処理パラメータの調整が必要になる場合があります。Oracle Traffic Directorにはパフォーマンス・チューニングのための様々なコントロールおよびノブが備わっており、これらを使用して、個々のリクエストのサイズおよび量を制限したり、タイムアウトの設定を制御したり、スレッド・プールの設定やSSL/TLSキャッシュの動作を構成したりすることができます。
詳細は、「パフォーマンス向上のためのOracle Traffic Directorのチューニング」を参照してください。
問題の診断およびトラブルシューティング
どんなに注意を払っていても、Oracle Traffic Directorインスタンスをインストール、構成または監視しているときに問題が発生することがあります。これらの問題の一部は、エラー・メッセージおよびログに表示されている情報に基づいて診断、解決できます。複雑な問題については、オラクル社のサポート担当者が問題の把握、再現および診断に使用できるように、ユーザーが特定のデータを収集する必要があります。
詳細は、「問題の診断およびトラブルシューティング」を参照してください。