構成可能なWebLogic Serverリソース(ネットワーク・チャネルやドメイン全体の管理ポートなど)を使用すると、アプリケーションをホストするマシンのネットワーク機能を効果的に利用してサービス品質を管理できます。
以下の項では、構成可能なWebLogic Serverネットワーク・リソース、それらの使用例、および構成プロセスについて説明します。
多くの開発環境では、管理対象サーバーのリスニング・アドレスとリスニング・ポートを指定するだけで、WebLogic Serverネットワーク・リソースを簡単に構成できます。ただし、ほとんどの本番環境では、管理者がネットワークに対する要求と照らし合わせて限られたネットワーク・リソースのバランスをとる必要があります。アプリケーションの可用性を維持するタスクは、アプリケーションの特定の要件、セキュリティの考慮事項、およびメンテナンス・タスク(予定どおりのものと予定外のものの両方)によって複雑化します。
WebLogic Serverでは、アプリケーションに関連するネットワーク・トラフィックを様々な方法で制御したり、アプリケーションやエンド・ユーザーの多様な要件を満たすように環境を構成したりできます。次のことができます。
異なるタイプのネットワーク・トラフィックごとに、管理対象サーバーで使用するネットワーク・インタフェース・カード(NIC)とポートを指定する
複数のプロトコルとセキュリティ要件をサポートする
接続とメッセージのタイムアウトを指定する
メッセージのサイズ制限を課する
これらおよび他の接続特性を指定するには、ネットワーク接続を管理するための主要な構成可能なWebLogic Serverリソースであるネットワーク・チャネルを定義します。ネットワーク・チャネルは、管理コンソール(「サーバー」>「プロトコル」>「チャネル」)を使用するか、NetworkAccessPointMBean
を使用して構成します。
以降の項では、ネットワーク・チャネル、WebLogic Serverで事前に構成されている標準チャネル、およびチャネル用の一般的なアプリケーションについて説明します。
ネットワーク・チャネルは、WebLogic Serverに対するネットワーク接続の属性を定義する構成可能なリソースです。たとえば、ネットワーク・チャネルでは以下の項目を定義できます。
接続がサポートするプロトコル
リスニング・アドレス
セキュア通信および非セキュア通信のリスニング・ポート
ログイン・タイムアウト値や最大メッセージ・サイズなどの接続プロパティ
接続でトンネリングをサポートするかどうか
接続は、ドメイン内の他のWebLogic Serverインスタンスとの通信に使用できるか、クライアントとの通信にのみ使用するか
チャネルを構成するときには、次のガイドラインに従ってください。
特定のチャネルは1つのサーバー・インスタンスのみに割り当てることができる
サーバー・インスタンスには複数のチャネルを割り当てることができます。
特定のサーバー・インスタンスに割り当てられた各チャネルは、リスニング・アドレス、リスニング・ポート、およびプロトコルの組み合わせが一意でなければならない
非SSLチャネルとSSLチャネルを同じサーバー・インスタンスに割り当てる場合は、同じポート番号が使用されないようにする
チャネルをサーバー・インスタンスに割り当てない場合は、WebLogic Serverにより、ServerMBean
またはSSLMBean
の属性に基づいて自動的に構成されるWebLogic Serverのデフォルト・チャネルが使用されます。デフォルト・チャネルの詳細は、「デフォルト・ネットワーク・チャネル」を参照してください。
ServerMBean
とSSLMBean
は、サーバー・インスタンスとそのSSL構成を表します。「サーバー」>「構成」>「一般」ページを使用してサーバー・インスタンスのリスニング・アドレス、リスニング・ポート、およびSSLリスニング・ポートを構成すると、それらの値はサーバー・インスタンスのServerMBean
およびSSLMBean
に格納されます。
カスタム・チャネルの定義で特定の接続属性を指定しないと、そのチャネルではServerMBean
の属性に指定された値が継承されます。たとえば、チャネルを作成して、そのリスニング・アドレスを定義しない場合、そのチャネルではServerMBean
で定義されたリスニング・アドレスが使用されます。同様に、管理対象サーバーがチャネルで構成されたリスニング・アドレスまたはリスニング・ポートにバインドできない場合、その管理対象サーバーはServerMBean
またはSSLMBean
のデフォルト値を使用します。
ネットワーク・チャネルを使用すると、サービス品質の管理、様々な接続要件への適合、システム・リソースやネットワーク・リソースの利用の効率化を行えます。たとえば、ネットワーク・チャネルを使用すると次のことができます。
様々なタイプのネットワーク・トラフィックの分離 - チャネルが送信接続をサポートするかどうかを構成できます。2つのチャネル(送信接続をサポートするチャネルとサポートしないチャネル)をサーバー・インスタンスに割り当てると、クライアント接続とサーバー接続で独立してネットワーク・トラフィックを構成し、クライアント・ネットワーク・トラフィックとサーバー・ネットワーク・トラフィックを別々のリスニング・アドレスまたはリスニング・ポートに物理的に分けることができます。
ドメイン全体の管理ポートまたは管理チャネルを構成すると、インスタンスの管理トラフィックとアプリケーション・トラフィックを分離することもできます。詳細は、「管理ポートと管理チャネル」を参照してください。
同じ管理対象サーバーで多様なアプリケーションまたはユーザー要件をサポート - 管理対象サーバーで複数のチャネルを構成して、複数の異なるプロトコルをサポートしたり、セキュアなトラフィックと非セキュアなトラフィックのプロパティを調整できます。
内部アプリケーションのネットワーク・トラフィックの分離 - 特定のチャネルをEJBに割り当てることができます。
マルチホーム・マシン上のサーバー・インスタンスでネットワーク・チャネルを使用する場合は、ServerMBean
またはチャネルで、有効なリスニング・アドレスを入力する必要があります。チャネルおよびServerMBean
のリスニング・アドレスが空白な場合、またはlocalhostアドレス(IPアドレス0.0.0.0または127.*.*.*)を指定する場合は、サーバーはネットワーク・チャネルのリスニング・ポートとSSLリスニング・ポートを、マルチホーム・マシンで使用可能なすべてのIPアドレスにバインドします。ServerMBean
のリスニング・アドレスの設定は、「デフォルト・ネットワーク・チャネル」を参照してください。
リモート・サーバーとの接続を開始するときに、必要な送り先、プロトコル、およびサービス品質が同じ複数のチャネルが存在する場合、WebLogic Serverは接続が確立されるか、試してみるチャネルがなくなるまでそれぞれを順番に試していきます。
WebLogic Serverでは、明示的に定義する必要のない定義済みチャネルが提供されます。
デフォルト・チャネル - すべての管理対象サーバーにデフォルト・チャネルがあります。
管理チャネル - ドメイン全体の管理ポートを構成すると、WebLogic Serverではドメイン内の管理対象サーバーごとに管理チャネルが構成されます。
すべてのWebLogic Serverドメインには、WebLogic Serverによって自動的に生成されるデフォルト・チャネルがあります。デフォルト・チャネルは、ServerMBean
およびSSLMBean
で定義されているリスニング・アドレスとリスニング・ポートに基づきます。デフォルト・チャネルは、1つのリスニング・アドレス、HTTP通信用の1つのポート(デフォルトは7001)、およびHTTPS通信用の1つのポート(デフォルトは7002)を提供します。リスニング・アドレスとリスニング・ポートは、管理コンソールの「構成」>「一般」ページで構成できます。割り当てられた値は、ServerMBean
およびSSLMBean
の属性に格納されます。
デフォルトの構成は、次の場合に使用できます。
単純なネットワーク要件を備えたテスト環境にインストールしている場合。
1つのNICだけを使用し、デフォルト・ポート番号によって、ドメイン内のネットワーク・トラフィックを分割するのに十分な柔軟性が提供される場合。
デフォルトの構成を使用すると、サード・パーティの管理ツールと新しいインストールとの互換性が確保されます。ネットワーク構成の属性は、この場合もServerMBean
およびSSLMBean
に格納されているためです。
ドメインにカスタム・ネットワーク・チャネルを定義して使用しても、デフォルト・チャネルの設定はServerMBean
とSSLMBean
にそのまま格納され、必要に応じてサーバー・インスタンスに接続を提供するために使用されます。
ドメインにはオプションの管理ポートを定義できます。構成された管理ポートは、ドメインの各管理対象サーバーで、ドメインの管理サーバーとの通信用に排他的に使用されます。
管理ポートを使用すると、以下のことができます。
サーバーをスタンバイ状態で起動します。これにより、他のネットワーク接続がクライアント接続を受け入れない状態で管理対象サーバーを管理できます。スタンバイ状態の詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』のSTANDBY状態を参照してください。
ドメイン内で、管理トラフィックをアプリケーション・トラフィックから分離します。本番環境では、トラフィックを分離すると、同じネットワーク接続上でクリティカルな管理操作(サーバーの起動と停止、サーバーの構成の変更、およびアプリケーションのデプロイ)が大量のアプリケーション・トラフィックと競争せずに済みます。
WLSTを使用して、デッドロック状態のサーバー・インスタンスを管理します。管理ポートを構成しないと、threadDump
やshutdown
などの管理コマンドがデッドロック状態のサーバー・インスタンスで機能しません。
管理ポートが有効になっている場合、WebLogic Serverはサーバー・インスタンスの起動時にポート設定に基づいて自動的に管理チャネルを生成します。
管理ポートはセキュアなSSLトラフィックのみを受け付け、管理ポート経由の接続はすべて認証を必要とします。管理ポートを有効にすると、ドメインに以下の制約が課せられます。
ドメイン内の管理サーバーとすべての管理対象サーバーは、SSLプロトコルをサポートするように構成する必要があります。SSLをサポートしない管理対象サーバーは、起動時に管理サーバーに接続できません。そのようなサーバーを構成するためには、管理ポートを無効にする必要があります。
ドメイン内のすべてのサーバー・インスタンスが同時に管理ポートを有効または無効にする必要があるため、管理ポートはドメイン・レベルで構成します。個々の管理対象サーバーの管理ポート番号は変更できますが、管理対象サーバーごとに管理ポートを有効または無効にすることはできません。ポート番号を変更できると、同じリスニング・アドレスを持つサーバー・インスタンスが複数存在する場合に便利です。
管理ポートを有効にした後にドメイン内の管理対象サーバーを起動するには、管理サーバーへのSSL接続を確立する必要があります。この制限は、管理対象サーバーをコマンド・ラインから起動するのか、またはノード・マネージャを使用して起動するのかに関係なく適用されます。SSL接続の確立方法については、「管理ポートで必須のSSL」を参照してください。
管理ポートを有効にした後は、すべての管理コンソールのトラフィックについて管理ポートを介した接続が必須になります。
ドメイン全体の管理ポートを使用するドメイン内の同一のコンピュータ上で複数のサーバー・インスタンスが実行される場合には、以下のいずれかを行う必要があります。
サーバー・インスタンスをマルチホーム・マシンでホストし、各サーバー・インスタンスに一意のリスニング・アドレスを割り当てます。
または、マシン上にある、1つを除くすべてのサーバー・インスタンスにドメイン全体のポートをオーバーライドします。ポートをオーバーライドするには、管理コンソールの「サーバー」>「接続」>SSLポートページの詳細属性の「ローカル管理ポートのオーバーライド」オプションを使用します。
管理ポートではSSLが必要です。SSLは、WebLogic Serverをインストールするとデフォルトで有効になります。ドメインのいずれかのサーバー・インスタンス(管理サーバーとすべての管理対象サーバーを含む)でSSLが無効になっている場合は、管理コンソールの「サーバー」>「構成」>「一般」ページを使用して再び有効にする必要があります。
ドメイン内の各サーバー・インスタンスでは、デフォルト・リスニング・ポートまたはデフォルトSSLリスニング・ポートが構成されている必要があります。デフォルト・ポートは、管理コンソールの「サーバー」>「構成」>「一般」ページで割り当てます。デフォルト・ポートは、構成された管理ポートにサーバーがバインドできない場合に必要となります。追加のデフォルト・ポートが使用できる場合、サーバーは起動を続行します。その後で管理ポートを適切な値に変更できます。
デフォルトでは、WebLogic Serverはデモ用の証明書ファイルを使用するように構成されます。本番用のセキュリティ・コンポーネントを構成するには、『Oracle WebLogic Serverの保護』のSSLの構成の手順に従ってください。
Oracle WebLogic Server管理コンソール・ヘルプのドメイン全体の管理ポートの有効化の説明に従って、管理ポートを有効にします。
管理ポートを構成した後は、その新しい管理ポートを使用するために、管理サーバーとすべての管理対象サーバーを再起動する必要があります。
コマンド・ラインまたは起動スクリプトで管理対象サーバーを再起動する場合は、URLのポート部分で管理ポートを指定します。URLは、次のように、接頭辞としてhttp://
ではなくhttps://
を指定する必要があります。
-Dweblogic.management.server=https://host:admin_port
注意: ノード・マネージャを使用して管理対象サーバーを再起動する場合は、管理対象サーバーの起動設定または引数を修正する必要はありません。ノード・マネージャは、正確なURLを自動的に取得し、それを使用して管理対象サーバーを起動します。 |
URLのホスト名が管理サーバーの証明書のホスト名と同じでない場合は、次のように、コマンド・ラインまたは起動スクリプトでホスト名検証を無効にします。
-Dweblogic.security.SSL.ignoreHostnameVerification=true
管理対象サーバーが再起動の際に管理チャネルにバインドできるようにするには、次のコマンド・ライン・オプションを使用します。
-Dweblogic.admin.ListenAddress=<addr>
これにより、管理対象サーバーは、管理チャネルを使用して起動できるようになります。最初のブート・ストラップ接続後、標準の管理チャネルが使用されます。
注意: このオプションは、config.xml のダウンロード前に、確実に適切なNICセマンティクスが使用されるようにするのに役立ちます。 |
標準のWebLogic Server管理チャネルで必要条件が満たされない場合は、管理トラフィック用にカスタム・チャネルを構成できます。たとえば、カスタム管理チャネルを使用すると、管理トラフィックを独立したNICに分けることができます。
管理トラフィック用のカスタム・チャネルを構成するには、「チャネルの構成」の説明に従ってチャネルを構成し、チャネル・プロトコルとして「admin」を選択します。以下の参照先で説明されている構成と使用方法のガイドラインに注意してください。
以前のバージョンのWebLogic Serverでは、外部トラフィック用に複数のチャネルを構成することは可能でしたが、サーバー・インスタンス間の内部トラフィックにはデフォルト・チャネルを使用する必要がありました。WebLogic Serverでは、クラスタ間の管理トラフィックや通信を処理するためのネットワーク・チャネルを作成できるようになりました。この機能は、以下の状況において有用です。
内部管理トラフィックを、他のネットワーク・トランザクションとは別にセキュアな接続で発生させる必要がある
他のタイプのネットワーク・トラフィック(たとえばレプリケーション・データ)を、別のネットワーク接続で発生させる必要がある
特定のタイプのネットワーク・トラフィックをモニターする必要がある
すべての内部トラフィックは、ネットワーク・チャネルを介して処理されます。管理トラフィックやクラスタリングされたトラフィックを処理するためのカスタム・ネットワーク・チャネルを作成していない場合は、接続に必要なプロトコルに基づいてデフォルト・チャネルが自動的に選択されます。デフォルト・チャネルの詳細は、「デフォルト・ネットワーク・チャネル」を参照してください。
クラスタ内には、以下のタイプのサーバー間接続を処理するための内部チャネルを作成できます。
マルチキャスト・トラフィック
レプリケーション・トラフィック
管理トラフィック
クラスタ内のチャネルの構成については、「クラスタにおけるネットワーク・チャネルの構成」を参照してください。
ネットワーク・チャネルは、管理コンソールの「サーバー」>「プロトコル」>「チャネル」ページを使用するか、NetworkAccessPointMBean
を使用して構成します。
クラスタリングされている管理対象サーバーのチャネルを構成するには、「クラスタにおけるネットワーク・チャネルの構成」を参照してください。
ネットワーク・チャネルに関する主要な事実の要約と、その構成のガイドラインについては、「チャネルの構成のガイドライン」を参照してください。
チャネルを構成するときには、次のガイドラインに従ってください。
特定のサーバー・インスタンスで構成した各チャネルは、リスニング・アドレス、リスニング・ポート、およびプロトコルの組み合わせが一意である必要があります
チャネルは1つのサーバー・インスタンスに割り当てることができます。
サーバー・インスタンスには複数のチャネルを割り当てることができます。
非SSLチャネルとSSLチャネルを同じサーバー・インスタンスに割り当てる場合は、アドレスとポート番号の同じ組み合わせが使用されないようにする必要があります。
WebLogic Serverでは、サーバーを再起動せずにネットワーク・チャネルを構成できます。また、動的に構成されたチャネルを、サーバーの実行中に開始したり停止したりできます。ただし、サーバーの実行中にチャネルを停止した場合、進行中のタスクの正常な終了は試行されません。
一部のプロトコルではチャネルの特定の機能がサポートされていません。特に、COMプロトコルではSSLまたはトンネリングがサポートされていません。
サーバー・インスタンスでサポートする必要のある各プロトコルで、別々のチャネルを定義する必要があります(HTTPを除く)。
RMIプロトコルは通常、スタブとクラスをダウンロードするためにHTTPのサポートを必要とするため、チャネルを作成するとHTTPはデフォルトで有効になります。HTTPのサポートは、管理コンソールの「サーバー」>「プロトコル」>「チャネル」ページの「詳細オプション」部で無効にできます。
WebLogic Serverは、内部チャネル名.WLDefaultChannel
および.WLDefaultAdminChannel
を使用します。.WL
接頭辞はチャネル名用に予約されています。カスタム・チャネルの名前の先頭に.WL
を使用しないでください。
(『Oracle WebLogic Serverクラスタの使い方』のプロキシ・レイヤーとクラスタの間のファイアウォールで説明されているように)プロキシWebサーバーとクラスタの間のファイアウォールが構成に含まれており、クラスタリングされたサーバーが、HTTPSトラフィックとHTTPトラフィックを分離するために2つのカスタム・チャネルで構成されている場合、それらのチャネルでは同じリスニング・アドレスを共有する必要があります。さらに、HTTPトラフィックとHTTPSトラフィックの両方をサポートする必要がある場合は、それぞれに対してカスタム・チャネルが必要となります。どちらかでデフォルト構成を使用することはできません。
それらのチャネルのいずれかで(ファイアウォールの存在から予想されるように)PublicAddress
が定義されている場合、両方のチャネルでPublicAddress
を定義する必要があり、かつ両方とも同じPublicAddress
を定義する必要があります。
クラスタリングされている管理対象サーバーのチャネルを構成するには、「チャネルの構成のガイドライン」の情報に注意し、以降の項で説明されているガイドラインに従ってください。
クラスタがまだ構成されていない場合は、次のことができます。
『Oracle WebLogic Serverクラスタの使い方』のクラスタリングされたドメインの作成の手順に従い、構成ウィザードを使用してクラスタリングされたドメインを新しく作成します。
Oracle WebLogic Server管理コンソール・ヘルプのクラスタの作成と構成の手順に従い、管理コンソールを使用して既存のドメインでクラスタを作成します。
WebLogic Serverクラスタの構成の情報とガイドラインは、『Oracle WebLogic Serverクラスタの使い方』の「始める前に」を参照してください。
Oracle WebLogic Server管理コンソール・ヘルプのネットワーク・チャネルの構成の手順に従って、クラスタ内の各管理対象サーバーで新しいネットワーク・チャネルを作成します。新しいチャネルを作成する場合は、次のようにします。
クラスタで使用するチャネルごとに、クラスタ内の各管理対象サーバーで名前も含めてまったく同じようにチャネルを構成します。
各管理対象サーバーのチャネルで定義したリスニング・ポートとSSLリスニング・ポートが、管理対象サーバーのデフォルト・リスニング・ポートと必ず異なるようにします。カスタム・チャネルで管理対象サーバーのデフォルト・ポートと同じポートが指定される場合は、カスタム・チャネルと管理対象サーバーのデフォルト・チャネルがそれぞれ同じポートにバインドしようとするので、管理対象サーバーを起動できなくなります。
クラスタでクラスタ・アドレスが明示的に構成されている場合は、「サーバー」>「プロトコル」>「チャネル」>「構成」ページの「クラスタ・アドレス」フィールドにそのアドレスが表示されます。
動的なクラスタのアドレス指定を使用している場合は、「クラスタ・アドレス」フィールドが空白になっており、クラスタ・アドレスを指定する必要はありません。クラスタ・アドレスの詳細、およびWebLogic Serverでクラスタ・アドレスを動的に生成する方法は、『Oracle WebLogic Serverクラスタの使い方』のクラスタ・アドレスを参照してください。
注意: 動的なクラスタ・アドレッシングを使用する場合は、「サーバー」>「プロトコル」>「チャネル」>「構成」ページでクラスタ・アドレスを指定しないようにしてください。クラスタ・アドレスを明示的に指定すると、その値が優先され、クラスタ・アドレスが動的に生成されなくなります。 |
レプリケーション・チャネルは、クラスタ間でレプリケーション情報を転送するためのネットワーク・チャネルです。レプリケーション・チャネルが明示的に定義されていない場合、レプリケーション情報はデフォルトのネットワーク・チャネルで転送されます。
WebLogic Serverでデフォルトのネットワーク・チャネルをレプリケーション・チャネルとして使用する場合、SSL暗号化はデフォルトでは使用されません。ClusterMBean
のsecureReplicationEnabled
属性を使用してSSL暗号化を有効にする必要があります。この設定は、管理コンソールから更新することもできます。
SSL暗号化を有効にすると、設計上、セッション・レプリケーションによってブロックされるため(つまり、レプリケーションが完了するまでレスポンスがクライアントに送信されないため)、クラスタリングされたアプリケーションのスループットに直接影響する可能性があります。レプリケーション・チャネルでSSLを有効にする場合は、この点を考慮に入れるようにしてください。
レプリケーション・チャネルが明示的に定義されている場合は、そのチャネルのプロトコルを使用してレプリケーション・トラフィックが転送されます。
1つのクラスタ内でおよそ20以上のチャネルを使用すると、ヘッダーのマルチキャスト送信がデフォルトの最大パケット・サイズを超過することがあります。config.xml
のServer
要素に含まれるMTUSize
属性では、関連するネットワーク・カードを使用して、送信されるパケットの最大サイズを1500に設定しています。MTUSize
の値を超えるパケットを送信すると、java.lang.NegativeArraySizeException
が送出されます。パケットのサイズがMTUSize
を超えることから生じる例外を防止するには、MTUSize
の値をデフォルト値の1500より大きくします。
EJBにカスタム・チャネルを割り当てることができます。カスタム・チャネルを構成したら、weblogic-ejb-jar.xml
のnetwork-access-point
要素を使用してEJBに割り当てます。詳細は、『Oracle WebLogic Server WebLogic Enterprise JavaBeansのプログラミング』のnetwork-access-pointを参照してください。