Sun Identity Manager の概要

Identity Manager の高可用性機能セットについて

Identity Manager は、HA インフラストラクチャーを利用できる場合、これを利用するように設計されています。たとえば、Identity Manager は高可用性の達成にアプリケーションサーバークラスタを必要としませんが、クラスタが存在する場合はこれを利用できます。

次の図は、非冗長アーキテクチャーに配備された Identity Manager の主要コンポーネントを示しています。次の節からは、Identity Manager リポジトリ、アプリケーションサーバー、およびゲートウェイを高可用性化する方法について説明します。

図 3–1 Identity Manager の標準的なシステムアーキテクチャー

標準的な Identity Manager のシステムアーキテクチャーを示す論理図。


注 –

遅延やネットワークの輻輳によって発生するパフォーマンスの問題を最小化するために、どのコンポーネントを近付けて配置するべきかについては、「システムの分離と物理的な近接性のガイドラインについて」を参照してください。


リポジトリの高可用性化

Identity Manager は、プロビジョニングと状態の情報をすべて Identity Manager リポジトリに格納します。

Identity Manager リポジトリを格納するデータベースインスタンスの可用性は、高可用性を備えた Identity Manager の配備でもっとも重要です。リポジトリは Identity Manager のインストール全体を表し、そこに含まれるデータは他の重要なデータベースアプリケーションと同様に保護する必要があります。最低でも、定期的なバックアップの実行が必要です。


注 –

パフォーマンス (1 秒あたりのトランザクション数) の大幅な低下につながるため、Identity Manager リポジトリを VMware 仮想マシンなどの仮想プラットフォームでホストしないでください。


作成できるリポジトリのイメージは 1 つだけです。Identity Manager 用に 2 つのデータベースを用意して、これらを夜間に同期することはできません。データベースのクラスタ化またはミラーリング機能を利用して、耐障害性を提供することをお勧めします。

アプリケーションサーバーの高可用性化

Identity Manager をアプリケーションサーバークラスタ内で実行すると、クラスタで提供される可用性や負荷分散を利用することができます。ただし、Identity Manager はクラスタ化で必要な J2EE 機能を使用しません。

Identity Manager は、Servlet API を通して利用できる HTTP セッションオブジェクトを使用します。このセッションオブジェクトは、ユーザーがログインしたりアクションを実行したときに、ユーザーのアクセスを追跡します。クラスタ環境では、セッション中にユーザーの要求を複数のノードに処理させることもできます。ただし、通常はこのような処理を推奨しません。ほとんどのインストールでは、同一セッションにおけるユーザーの要求は、すべて同じサーバーに送信するように設定されます。

クラスタを設定しなくても、Identity Manager を実行するアプリケーションサーバーに可用性や機能を追加することができます。このためには、Identity Manager を実行する複数のアプリケーションサーバーをインストールし、これらのアプリケーションサーバーを同じリポジトリに接続して、すべてのアプリケーションサーバーの前に「セッションアフィニティー」を設定したロードバランサを配置します。


注 –

セッションアフィニティーについては、「セッションアフィニティーとセッション持続性に関する FAQ」を参照してください。


Identity Manager は、スケジュールされた調整タスクなど、特定のタスクをバックグラウンドで実行します。これらのタスクはデータベースに格納され、任意の Identity Manager サーバーによって実行可能です。別のノードへのフェイルオーバーが必要な場合でも、Identity Manager はデータベースを使用して、常にこれらのタスクが最後まで実行されることを保証します。

アプリケーションサーバーノードでの Active Sync クラスタ化の設定

Waveset.properties ファイルの sources.hosts の設定は、複数インスタンス環境で Active Sync 要求の実行にどのホストを使用するかを制御します。この設定では、ソースアダプタを実行できるホストのリストを提供します。この設定に localhost または null を指定すると、ソースアダプタは Web ファームの任意のホストで実行できます (デフォルト)。リストに 1 つまたは複数のホストを指定すると、アダプタの実行をリストの内容に制限できます。特定のホストを使用するように、別のシステムから更新を受け取った場合は、sources.hosts 設定を使用してホスト名を記録します。

また、sources. resourceName.hosts という名前のプロパティーを定義して、リソースの Active Sync タスクをどこで実行するかを制御できます。resourceName は、指定するリソースオブジェクトの名前で置き換えてください。

Gateway の高可用性化

Identity Manager は、サーバーから直接アクセスできないリソースを管理するために、軽量なゲートウェイを必要とします。これらのリソースには、プラットフォームに固有のクライアント側 API 呼び出しを必要とするシステムが含まれます。たとえば、Identity Manager が UNIX ベースのアプリケーションサーバーで動作している場合、管理対象の NT ドメインまたは Active Directory ドメインに対して NTLM または ADSI 呼び出しを行うことはできません。これらのリソースを管理するために Identity Manager はゲートウェイを必要とするため、Identity Manager Gateway が高可用性を備えていることは重要です。

Gateway がシングルポイント障害となることを避けるために、複数のマシンで Gateway インスタンスを実行することをお勧めします。メインの Gateway インスタンスに障害が発生したときにフェイルオーバーを提供するように、ネットワークルーティングデバイスを設定してください。フェイルオーバーデバイスではスティッキーセッションを設定し、単純なラウンドロビンスキーマを使用します。負荷分散を行うデバイスの背後には、Gateway を配置しないでください。これはサポートされていない設定で、Identity Manager の特定の機能で障害が発生します。

Gateway が管理するすべての Windows ドメインは、同じフォレストに所属している必要があります。フォレスト境界を越えるドメインの管理はサポートされていません。複数のフォレストがある場合は、各フォレストに少なくとも 1 つの Gateway をインストールしてください。

Win32 監視ツールを設定すると、Win32 ホスト上の gateway.exe プロセスを監視することができます。gateway.exe で障害が発生した場合、プロセスは自動的に再起動します。