フェイルオーバーをサポートするためのロード・バランサの構成
複数のEssbaseインスタンスをインストールし、フェイルオーバーをサポートするように構成するつもりである場合は、フロントエンドのロード・バランサが必要です。
ロード・バランサとして検討できるオプションの1つに、Oracle HTTP Serverがあげられます。なぜなら、Oracle HTTP ServerはWebLogicと統合され、Oracle Fusion MiddlewareのWebサービスを提供するためです。
もう1つのオプションは、Apache HTTPD Serverです。
ノート:
/aps/SmartViewというURLを使用してSmart View経由で接続する場合は、このURLを変更する必要があります。新しいEssbase Smart View接続URLへのリダイレクトを参照してください。あるいは、Webサーバーで新規URLへのリダイレクトを構成できます。Oracle HTTP Server (OHS)またはApache HTTPD Serverを使用する場合は、このトピックの説明に従って、Oracle HTTP Server構成の変更時にURLをリダイレクトします。 
               Oracle HTTP ServerまたはApache HTTPD Server
- まず、Apache HTTPD ServerまたはOracle HTTP Serverをインストールおよび構成します。
- 次に、Oracle HTTP Serverインストール環境のOHSドメイン・ルート下でmod_wl_ohs.confファイルを見つけます。例: <OHS>/oracle/user_projects/domains/SOHSDomain/config/fmwconfig/components/OHS/ohs1/mod_wl_ohs.conf(OHSはOracle HTTP Serverインストールのホームの場所です) 
- mod_wl_ohs.confに適切な「weblogic_module」エントリを挿入します。- easと- easconsoleの場所のエントリを含める必要はありません。ただし、Essbase Administration Servicesを使用するようにホスト1でEssbaseが構成されている場合を除きます。- <IfModule weblogic_module> ConnectTimeoutSecs 10 ConnectRetrySecs 2 DebugConfigInfo ON WLSocketTimeoutSecs 2 WLIOTimeoutSecs 300 Idempotent ON FileCaching ON KeepAliveSecs 20 KeepAliveEnabled ON DynamicServerList ON WLProxySSL OFF </IfModule> <Location /essbase> SetHandler weblogic-handler WebLogicCluster hostname:managed_server_port Debug ALL KeepAliveSecs 20 KeepAliveEnabled ON DebugConfigInfo ON </Location> <Location /eas> SetHandler weblogic-handler WebLogicCluster hostname:eas_managed_server_port Debug ALL KeepAliveSecs 20 KeepAliveEnabled ON DebugConfigInfo ON </Location> <Location /easconsole> SetHandler weblogic-handler WebLogicCluster hostname:eas_managed_server_port Debug ALL KeepAliveSecs 20 KeepAliveEnabled ON DebugConfigInfo ON </Location>
- mod_wl_ohs.confに挿入したテキストを次のように編集します。- <Location /Essbase>を編集して、- hostnameをホスト1のホスト名に置き換え、- managed_server_portをホスト1のEssbase WebLogic管理対象サーバー・ポートに置き換えます。コンマ区切りの形式を使用して、クラスタに含める予定の追加のEssbase管理対象サーバー・ノードをそれぞれ追加します。- 例: - たとえば、Essbaseホスト1が - hostname1:managed_server_port1で実行され、ホスト2が- hostname2:managed_server_port2で実行されているとします。- これらのサーバーをコンマ区切りの形式で指定するには、次のように入力します(スペースは追加しないでください)。 - hostname1:managed_server_port1,hostname2:managed_server_port2- どのホスト名にもhttpまたはhttpsの接頭辞を追加しないでください。 
- <Location /eas>を編集して、- hostnameをホスト1のホスト名に置き換え、- eas_managed_server_portをホスト1のEssbase Administration Services WebLogic管理対象サーバー・ポートに置き換えます。
- <Location /easconsole>を編集して、- hostnameをホスト1のホスト名に置き換え、- eas_managed_server_portをホスト1のEssbase Administration Services WebLogic管理対象サーバー・ポートに置き換えます。
 
- 構成を保存します。
- Oracle HTTP Serverを再起動します。
                     - Oracle HTTP Serverを停止する手順は、次のとおりです。
                           - 
                                 OHSドメイン・ルート下の binディレクトリに移動します。cd ./user_projects/domains/SOHSDomain/bin/
- 
                                 次のスクリプトを実行してOHSサーバー・コンポーネントを停止します。 ./stopComponent.sh ohs1
- 
                                 バックグラウンドで、次のスクリプトを実行してノード・マネージャを停止します。 nohup ./stopNodeManager.sh &
- パスワードの入力を求めるプロンプトで、インストール時に入力したパスワードを入力します。
 
- 
                                 
- Oracle HTTP Serverを起動するには:
                           - 
                                 OHSドメイン・ルート下のbinディレクトリに移動します。 cd ./user_projects/domains/SOHSDomain/bin/
- 
                                 バックグラウンドで、次のスクリプトを実行してノード・マネージャを起動します。 nohup ./startNodeManager.sh &
- 
                                 次のスクリプトを実行してOHSサーバー・コンポーネントを起動します。 ./startComponent.sh ohs1
- パスワードの入力を求めるプロンプトで、インストール時に入力したパスワードを入力します。
 
- 
                                 
 Oracle HTTP ServerのSSL構成については、mod_wl_ohsの構成を参照してください。 
- Oracle HTTP Serverを停止する手順は、次のとおりです。
                           
Apache HTTPD Serverを使用したSSLオフロードのサンプル・コード
ここでは、Apache HTTPD Serverを使用したSSLオフロードのサンプルHTTP構成を示します。この構成では、EssbaseへのHTTPSオフロードにSSLのデフォルト・ポート443 (または選択した別のポート)を使用しています。
#
# Macro file for the Essbase proxy settings
#
<Macro EssbaseProxy $TargetUrl>
ProxyPreserveHost On
ProxyPassReverse  / $TargetUrl/
ProxyErrorOverride Off
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/$                      
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/$                       https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/$                       http://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase(/)?$            
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase(/)?$            https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase(/)?$            http://%{HTTP_HOST}/essbase/jet/ [L,R]
# jsession redirect issue
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/jet(;.*)?$      
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/jet(;.*)?$      https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase/jet(;.*)?$      http://%{HTTP_HOST}/essbase/jet/ [L,R]
# Logout url
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/jet/logout.html
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/jet/ [L,R]
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/jet/logout.html https://%{HTTP_HOST}/essbase/jet/ [L,R]RewriteRule ^/essbase/jet/logout.html http://%{HTTP_HOST}/essbase/jet/ [L,R]
# Support redirect_uri logout for virtual hosts
RewriteCond %{QUERY_STRING} ^logout=$
RewriteCond %{HTTP:X-Forwarded-Proto} ^.+$ [NC]
RewriteRule ^/essbase/redirect_uri$
%{HTTP:X-Forwarded-Proto}://%{HTTP_HOST}/essbase/redirect_uri?logout=%{HTTP:X-Forwarded-Proto}://%{HTTP:X-Forwarded-Host}/essbase/jet/logout.html [L,R]
RewriteCond %{QUERY_STRING} ^logout=$
RewriteCond %{HTTPS} on
RewriteRule ^/essbase/redirect_uri$
https://%{HTTP_HOST}/essbase/redirect_uri?logout=https://%{HTTP_HOST}/essbase/jet/logout.html [L,R]
RewriteCond %{QUERY_STRING} ^logout=$
RewriteRule ^/essbase/redirect_uri$
http://%{HTTP_HOST}/essbase/redirect_uri?logout=http://%{HTTP_HOST}/essbase/jet/logout.html [L,R]
# Set weblogic specific headers
<If "%{HTTP:X-Forwarded-Proto} == 'https' || %{HTTPS} == 'on'">
  RequestHeader set WL-Proxy-SSL "true"
  RequestHeader set IS_SSL       "ssl"
</If>
<Location "/">
   Options -Indexes
   SetOutputFilter DEFLATE
   SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
</Location>
<Location "/essbase">
   ProxyPass "$TargetUrl/essbase"
</Location>
<Location "/essbase/redirect_uri">
   ProxyPass "!"
</Location>
<Location "/weblogic/ready">
   ProxyPass "$TargetUrl/weblogic/ready"
</Location>
</Macro>