Access Manager をセッションフェイルオーバー用に設定するには、次の手順に従います。
各手順を、以降の節で詳細に説明します。
配備でセッションフェイルオーバーが有効であるかどうかを判別するには、AMConfig.properties ファイルの com.iplanet.services.debug.level プロパティーを error から message に変更します。 次に、Solaris システムでは /var/opt/SUNWam/debug ディレクトリ、Linux システムでは /var/opt/sun/identity/debug ディレクトリにある amSession ログを確認します。
Access Manager インスタンスを実行している各ホストサーバーで、Cookie エンコードを無効にします。
Web Server が Web コンテナの場合、AMConfig.properties ファイルの次のプロパティーが false (Java ES インストーラによって設定されるデフォルト値) に設定されていることを確認してください。
com.iplanet.am.cookie.encode=false
sun-web.xml ファイルの encodeCookies プロパティーを false に設定します。次に例を示します。
<sun-web-app> <property name="encodeCookies" value="false"/> ... </sun-web-app>
Application Server、BEA WebLogic、または IBM WebSphere Application Server が Web コンテナの場合は、AMConfig.properties ファイルの次のプロパティーを false に設定します。
com.iplanet.am.cookie.encode=false
Access Manager クライアントは、Cookie のエンコードもデコードも実行する必要はありません。リモート SDK クライアントは、AMConfig.properties ファイルまたは Web コンテナの sun-web.xml ファイルのどちらかで、Access Manager サーバー側の設定と同期させる必要があります。
Access Manager インスタンスを実行している各ホストサーバーで、Access Manager Web コンテナの server.xml (または同等の) 設定ファイルに、imq.jar と jms.jar がインストールされている場所を追加します。Solaris システムの場合は次のようになります。
<JAVA javahome="/usr/jdk/entsys-j2se" serverclasspath= "/usr/share/lib/imq.jar:/usr/share/lib/jms.jar: /opt/SUNWwbsvr/bin/https/jar/webserv-rt.jar: ${java.home}/lib/tools.jar: /opt/SUNWwbsvr/bin/https/jar/webserv-ext.jar: /opt/SUNWwbsvr/bin/https/jar/webserv-jstl.jar: /usr/share/lib/ktsearch.jar"
Message Queue のユーザー名とパスワードとして guest ユーザーを使用しない場合は、Message Queue がインストールされているサーバーで、Message Queue ブローカに接続するための新しいユーザーとパスワードを追加します。たとえば、Solaris システムで、amsvrusr という新しいユーザーを追加するには、次のように指定します。
# /usr/bin/imqusermgr add -u amsvrusr -p password
次のコマンドを発行して、guest ユーザーを非アクティブにします。
# /usr/bin/imqusermgr update -u guest -a false
amsessiondb スクリプトは、Berkeley DB クライアント (amsessiondb) の起動、データベースの作成、および特定のデータベース値の設定を行うために、amsfo スクリプトから呼び出されます。このスクリプトには、次に示すように、各種のデフォルトのパスやディレクトリを指定する変数が含まれています。
JAVA_HOME=/usr/jdk/entsys-j2se/ IMQ_JAR_PATH=/usr/share/lib JMS_JAR_PATH=/usr/share/lib BDB_JAR_PATH=/usr/share/db.jar BDB_SO_PATH=/usr/lib AM_HOME=/opt/SUNWam
これらのいずれかのコンポーネントがそれらのデフォルトのディレクトリにインストールされていない場合は、必要に応じて amsessiondb スクリプトを編集し、変数に正しい場所を設定します。
Access Manager 7 2005Q4 には、Access Manager 配備をセッションフェイルオーバー用に設定するための amsfoconfig スクリプトが用意されています。
amsfoconfig スクリプトを実行するには、Access Manager 配備が次の要件を満たしている必要があります。
配備内に 2 つ以上の Access Manager インスタンスがインストールおよび設定され ている必要がありますが、配備をサイトとして設定することはできません。amsfoconfig スクリプトによって、配備がサイトとして設定されているか、またはプラットフォームサーバーリスト内の任意のサーバーエントリでサイトが有効になっていると判断された場合、スクリプトはメッセージを表示して終了します。セッションフェイルオーバーを手動で設定するには、「セッションフェイルオーバーの手動での設定」を参照してください。
配備内の少なくとも 2 つのサーバーに Java Message Queue (MQ) ブローカがインストールおよび設定されている必要があります。
配備内に Berkeley DB のクライアントとデータベースがインストールおよび設定されている必要があります。
Directory Server が実行されており、このスクリプトからアクセス可能であり、かつ Access Manager データを使用して設定されている必要があります。
amsfoconfig スクリプトは amsfo.conf 設定ファイルを読み取り、次の機能を実行して、Access Manager 配備をセッションフェイルオーバー用に設定します。
新規サイトを設定します。スクリプトは、プラットフォームサーバーリスト内の Access Manager インスタンスと amsfo.conf ファイルのロードバランサに関する情報を使用して、Access Manager セッションフェイルオーバー配備用の新規サイトを作成します。このスクリプトは既存のプラットフォームサーバーリストを変更して、サイトが設定されたあと、プラットフォームサーバーリストのすべてのサーバーエントリがそのサイトに属するようにします。
たとえば、デフォルト値 10 が SiteID として使用されている場合、http://server1.example.com:80|01 は http://server1.example.com:80|01|10 に変更されます。
レルムまたは DNS のエイリアスの既存のリストを変更します。スクリプトは、ロードバランサのホスト名をこのリストに追加します。このホスト名は、amsfo.conf ファイルの lbServerHost 変数から取得されます。
セッションフェイルオーバー設定 XML を Directory Server にロードします。スクリプトは、設定情報に基づいてセッション設定 XML ファイルを動的に生成し、生成された XML を Directory Server にロードします。この情報は、Access Manager コンソールの「セッション」の「セカンダリ設定インスタンス」に対応しています。
次の表は、Access Manager セッションフェイルオーバーのスクリプトと設定ファイルを示しています。
表 6–2 Access Manager セッションフェイルオーバーのスクリプトと設定ファイル
名前 |
説明および場所 |
---|---|
amsofconfig |
Access Manager をセッションフェイルオーバー用に設定するためのスクリプト。 Solaris システム: AccessManager-base/SUNWam/bin Linux システム: AccessManager-base/identity/bin |
amsfo |
Message Queue ブローカや amsessiondb クライアントを起動および停止するためのスクリプト。 Solaris システム: AccessManager-base/SUNWam/bin Linux システム: AccessManager-base/identity/bin |
amsfopasswd |
暗号化された Message Queue ブローカユーザーのパスワードを生成するためのスクリプト。 Solaris システム: AccessManager-base/SUNWam/bin Linux システム: AccessManager-base/identity/bin |
amsfo.conf |
セッションフェイルオーバーの設定ファイル。 Solaris システム: AccessManager-base/SUNWam/lib Linux システム: AccessManager-base/sun/identity/lib |
amProfile.conf |
セッションフェイルオーバーの環境ファイル。 Solaris システム: etc/opt/SUNWam/config Linux システム: /etc/opt/sun/identity/config |
AccessManager-base は、Access Manager のベースインストールディレクトリを表します。デフォルト値は次のとおりです。 Solaris システム: /opt Linux システム: /opt/sun |
amsfoconfig スクリプトを実行して Access Manager をセッションフェイルオーバー用に設定するには、次の手順に従います。
スーパーユーザー (root) としてログインするか、スーパーユーザーになります。
表 6–3の説明に従って、amsfo.conf ファイル内の変数を設定します。
スクリプトを実行します。たとえば、Access Manager がデフォルトディレクトリにインストールされた Solaris システムでは、次のように入力します。
# cd /opt/SUNWam/bin # ./amsfoconfig
スクリプトの実行時に、状態情報が表示されます。
amsfoconfig スクリプトから入力を求められたら、次のパスワードを入力します。
Access Manager 管理者 (amAdmin) のパスワード
Message Queue ブローカユーザーのパスワード
結果をチェックするには、/var/tmp/amsfoconfig.log ファイルを確認します。
次の表は、amsfoconfig スクリプトで使用される amsfo.conf ファイル内の変数を示しています。amsfoconfig スクリプトを実行する前に、これらの変数を配備の必要に応じて設定します。
表 6–3 amsfoconfig スクリプトで使用される amsfo.conf ファイル内の変数
変数 |
説明 |
---|---|
CLUSTER_LIST |
クラスタに参加している Message Queue ブローカのリスト。形式は次のとおりです。 host1:port, host2:port,host3: port 次に例を示します。 jmq1.example.com:7777,jmq2.example.com:7777,jmq3.example.com:7777 デフォルトはありません。 |
lbServerPort |
ロードバランサのポート。デフォルトは 80 です。 |
lbServerProtocol |
ロードバランサへのアクセスに使用されるプロトコル (http または https)。デフォルトは http です。 |
lbServerHost |
ロードバランサの名前。 次に例を示します。lbhost.example.com |
SiteID |
amsfoconfig スクリプトによって作成される新規サイト(およびロードバランサ) の識別子。 SiteID は、プラットフォームサーバーリスト内にすでに存在している サーバー ID より大きい任意の値にすることができます。 デフォルトは 10 です。 |
次の例は、amsfoconfig スクリプトの実行例を示しています。
Welcome to Sun Java System Access Manager 7 2005Q4 Session Failover Configuration Setup script. ========================================================= ========================================================= Checking if the required files are present... ========================================================= Running with the following Settings. ------------------------------------------------- Environment file: /etc/opt/SUNWam/config/amProfile.conf Resource file: /opt/SUNWam/lib/amsfo.conf ------------------------------------------------- Using /opt/SUNWam/bin/amadmin Validating configuration information. Done... Please enter the LDAP Admin password: (nothing will be echoed): password1 Verify: password1 Please enter the JMQ Broker User password: (nothing will be echoed): password2 Verify: password2 Retrieving Platform Server list... Validating server entries. Done... Retrieving Site list... Validating site entries. Done... Validating host: http://amhost1.example.com:7001|02 Validating host: http://amhost2.example.com:7001|01 Done... Creating Platform Server XML File... Platform Server XML File created successfully. Creating Session Configuration XML File... Session Configuration XML File created successfully. Creating Organization Alias XML File... Organization Alias XML File created successfully. Loading Session Configuration schema File... Session Configuration schema loaded successfully. Loading Platform Server List File... Platform Server List server entries loaded successfully. Loading Organization Alias List File... Organization Alias List loaded successfully. Please refer to the log file /var/tmp/amsfoconfig.log for additional information. ############################################################### Session Failover Setup Script. Execution end time 10/05/05 13:34:44 ###############################################################