ヘッダーをスキップ
Oracle Fusion Middleware Oracle Web Cache管理者ガイド
11g リリース1(11.1.1)
B56248-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

10 一般的なデプロイメント・シナリオの構成

この章では、Oracle Web Cacheを使用した一般的なデプロイメント・シナリオの構成方法について説明します。次のトピックが含まれます:

10.1 一般的なデプロイメントでのOracle Web Cacheの使用方法

図10-1に、一般的なOracle Application Server構成内のOracle Web Cacheを示します。一連のOracle Web Cacheサーバーが、一連のWebアプリケーション・サーバーのコンテンツをキャッシュに格納します。Webアプリケーション・サーバーapp1-host1およびapp1-host2がサイトwww.app1.company.comのコンテンツを提供し、app2-hostwww.app2.company.comのコンテンツを提供します。2つのOracle Web Cacheサーバーは、1つまたは2つの高速CPUを搭載した専用のコンピュータ上で実行されています。Webサイトの可用性および容量を高めるために、これらのサーバーはキャッシュ・クラスタまたはフェイルオーバー・ペアのいずれかとして構成されています。

キャッシュの状態をチェックするために、ハードウェア・ロード・バランサが各Oracle Web Cacheサーバーを定期的にpingするように設定することをお薦めします。

キャッシュ・クラスタとして機能する場合、2つのOracle Web Cacheサーバーは、障害検出とフェイルオーバーを実現します。Oracle Web Cacheサーバーの1つで障害が発生した場合、キャッシュ・クラスタの他のメンバーがその障害を検出し、障害の発生したクラスタ・メンバーにキャッシュされたコンテンツの所有権を引き継いで、キャッシュの障害を隠します。Oracle Web Cacheは、キャッシュ障害の影響を受けない、コンテンツを格納する1つの仮想キャッシュを保持できます。ロード・バランサは、キャッシュ・クラスタ・メンバーに受信リクエストを分散します。キャッシュ・クラスタのメンバーは受信したリクエストを処理します。キャッシュに格納されていないリクエストを受信した場合、Oracle Web Cacheは、サイトに対応するそれぞれのWebアプリケーション・サーバーにリクエストを分散します。

フェイルオーバー・ペアとして機能する場合は、両方のOracle Web Cacheサーバーが同じコンテンツをキャッシュするよう構成されます。両方のOracle Web Cacheサーバーが稼働中のときは、ロード・バランサによって負荷が2つのサーバーに分散されます。1つのサーバーに障害が発生すると、もう1つのサーバーがすべてのリクエストを受信し、処理します。

図10-1 一般的な構成でのOracle Web Cacheの配置

図10-1の説明が続きます
「図10-1 一般的な構成でのOracle Web Cacheのデプロイ」の説明

このトポロジを構成するには、次の手順を実行します。

  1. ロード・バランサのIPアドレスをwww.app1.company.comおよびwww.app2.company.comに登録します。

  2. ロード・バランサに、Oracle Web Cacheサーバーのホスト名webche1-hostおよびwebche2-hostを構成します。また、各キャッシュ・サーバーを定期的にpingしてキャッシュの状態をチェックするようにロード・バランサを構成します。

  3. キャッシュに格納されているURL /_oracle_http_server_webcache_static_.htmlで各Oracle Web Cacheサーバーを定期的にpingするように、ロード・バランサを構成します。

  4. キャッシュ・クラスタを構成する場合は、クラスタ・メンバーとしてwebche1-hostおよびwebche2-hostを指定します。

    キャッシュ・クラスタの構成方法の詳細は、第3.6項 を参照してください。

  5. Oracle Web Cacheサーバーを次のように構成します。

    • 指定したリスニング・ポートでHTTPリクエストおよびHTTPSリクエストを受信します。

    • HTTPリクエストおよびHTTPSリクエストを、指定したリスニング・ポートからWebアプリケーション・サーバーapp1-host1app1-host2およびapp2-hostに送信します。

    • app1-host1およびapp1-host2にマップされているサイトwww.app1.company.comを定義します。

    • app2-hostにマップされているサイトwww.app2.company.comを定義します。

    詳細は、次を参照してください。

    • リスニング・ポートの構成方法の詳細は、第2.11.1項を参照してください。

    • オリジン・サーバー設定の構成方法の詳細は、第2.11.2項を参照してください。

    • サイト定義およびサイトからサーバーへのマッピングの作成方法は、第2.11.3項を参照してください。

10.2 グローバル・イントラネット・アプリケーションでのキャッシュ階層の使用方法

Webサイトの多くには、複数のデータ・センターが存在します。分散トポロジのネットワークでは、各データ・センターのOracle Web Cacheを分散キャッシュ階層に配置できます。図10-2は、Oracle Web Cacheサーバーが米国と日本のオフィスに分散された分散トポロジを示しています。Webアプリケーション・サーバーが米国のオフィスに配置され、データ・ソースが地理的に1箇所に集中化されています。米国にある集中キャッシュがWebアプリケーション・サーバーapp1-host1app2-host2およびapp2-hostのコンテンツをキャッシュし、日本にあるリモート・キャッシュは集中キャッシュのコンテンツをキャッシュします。

クライアントは、ローカルのDNSサーバーにwww.app1.company.comおよびwww.app2.company.comの解決をリクエストします。ローカルのDNSサーバーは、各サイトの上位のDNSサーバーにルーティングされます。上位のDNSサーバーは、クライアントのIPアドレスを使用して、リクエストを処理するための最も近いOracle Web Cacheサーバーを選択します。その後、適切なOracle Web CacheサーバーのIPアドレスをクライアントに返します。

図10-2 Oracle Web Cache階層の配置

図10-2の説明が続きます
「図10-2 Oracle Web Cache階層のデプロイ」の説明

このトポロジを構成するには、次の手順を実行します。

  1. ロード・バランサのIPアドレスをwww.app1.company.comおよびwww.app2.company.comに登録します。

  2. ロード・バランサに、Oracle Web Cacheサーバーのホスト名us.webche1-hostおよびus.webche2-hostを構成します。また、各キャッシュ・サーバーを定期的にpingしてキャッシュの状態をチェックするようにロード・バランサを構成します。

  3. Oracle Web Cacheサーバーus.webche1-hostおよびus.webche1-hostを次のように構成します。

    • 指定したリスニング・ポートでHTTPリクエストおよびHTTPSリクエストを受信します。

    • HTTPリクエストおよびHTTPSリクエストを、指定したリスニング・ポートからWebアプリケーション・サーバーapp1-host1app1-host2およびapp2-hostに送信します。

    • app1-host1およびapp1-host2にマップされているサイトwww.app1.company.comを定義します。

    • app2-hostにマップされているサイトwww.app2.company.comを定義します。

  4. Oracle Web Cacheサーバーjp.webche-hostを次のように構成します。

    • 指定したリスニング・ポートでHTTPリクエストおよびHTTPSリクエストを受信します。

    • HTTPリクエストおよびHTTPSリクエストを、指定したリスニング・ポートからWebアプリケーション・サーバーus.webche1-hostおよびus.webche2-hostに送信します。

    • app1-host1およびapp1-host2にマップされているサイトwww.app1.company.comを定義します。

    • app2-hostにマップされているサイトwww.app2.company.comを定義します。

  5. キャッシュ階層内の各キャッシュに対する無効化メッセージの伝播を有効化します。

    1. 次の場所にあるwebcache.xmlをテキスト・エディタで開きます。

      (UNIX) ORACLE_INSTANCE/<instance_name>/config/WebCache/<webcache_name>
      (Windows) ORACLE_INSTANCE\<instance_name>\config\WebCache\<webcache_name>
      
    2. <SECURITY>要素のサブ要素である<INTERCACHE>要素を探します。

    3. ENABLEINBOUNDICC属性とENABLEOUTBOUNDICC属性をYESに変更します。次に例を示します。

      <?xml version="1.0" encoding='ISO-8859-1'?>
      <CALYPSO ... >
       <VERSION DTD_VERSION="11.1.1.0.0"/>
       <GENERAL>
         <CLUSTER NAME="WebCacheCluster" ... />
         <SECURITY SSLSESSIONTIMEOUT="3600" ... >
           <USER TYPE="INVALIDATION" ... />
           <USER TYPE="MONITORING" ... />
           <SECURESUBNET ALLOW="ALL"/>
           <DEBUGINFO HEADER="YES" ... />
           <HTTPREQUEST MAXTOTALHEADERSIZE="819000" ... />
           <INTERCACHE ENABLEINBOUNDICC="YES" ENABLEOUTBOUNDICC="YES"/>
         </SECURITY>
      ... 
      
    4. webcache.xmlを保存します。

  6. 次のコマンドを使用して階層内のキャッシュを再起動します。

    opmnctl restartproc ias-component=component_name
    

    この実行可能ファイルは次のディレクトリにあります。

    (UNIX) ORACLE_INSTANCE/bin
    (Windows) ORACLE_INSTANCE\bin
    

詳細は、次を参照してください。

10.3 ハードウェア・ロード・バランサを使用せずに高可用性を実現するためのOracle Web Cacheの使用方法

次のように構成することにより、ハードウェア・ロード・バランサを使用せずにOracle Web Cacheで高可用性を実現できます。

構成の詳細は、第3.8項および第3.9項を参照してください。