高可用性の目標は、バックアップ・メカニズムを提供し、プライマリー・システムに障害が発生した場合にはリクエストとデータ処理をスタンバイ・システムに転送できるようにすることです。けれどもユーザーおよびシステムの要件はそれぞれに異なります。すべてに共通する 1 つの理想的な構成というものは存在しないため、構成の設定はシステムのパフォーマンス、可用性、スケーラビリティー、そして信頼性を基に慎重に検討しなければなりません。
この記事では、高可用性と障害からの回復を実現できるように Cognos ソリューションをセットアップおよび保守する方法として、以下を用いた方法を提案します。
- Cognos ゲートウェイおよび Cognos アプリケーション・サーバー
- アクティブ/スタンバイ・モードの Cognos Content Manager
- IBM® DB2® HADR (High Availability and Disaster Recovery)
Cognos を IBM Cloud (IBM Smart Business Development and Test on the IBM Cloud) にインストールして構成する方法についての詳細は、この連載の他の記事と Cognos のサイト (「参考文献」) を参照してください。
Cognos ゲートウェイおよび Cognos アプリケーション・サーバー
ゲートウェイ層でフェイルオーバーをサポートするには、Web ファームの各 Web サーバーごとに 1 つの Cognos ゲートウェイをインストールしてください。Web サーバーに障害が発生した場合に、Web ファームのエントリー・ポイント (通常はルーターまたはリバース・プロキシー・サーバー) が使用可能な次の Web サーバーにリクエストを再ルーティングできるようにするためです (図 1 を参照)。
図 1. リバース・プロキシー・ルーターによる高可用性 Cognos クラウド環境
また、Cognos ゲートウェイごとに、複数の Cognos アプリケーション・サーバーを構成することをお勧めします。この場合、ゲートウェイは到着したリクエストを、リストに記載されているサーバーのうち、使用可能なサーバーとして一番初めに記載されているサーバーへ、ルーティングします。もしこのサーバーが使用可能でなければ、ゲートウェイは次に使用可能なサーバーにそのリクエストをルーティングしなおします。このような具合でリクエストはルーティングされます。
各 Cognos ゲートウェイの プライマリー Cognos アプリケーション・サーバーのステータスは、ゲートウェイ自身によって監視されることに注意してください。したがって、プライマリー・サーバーがサービスに復帰するとすぐに、リクエストはそのプライマリー・サーバーにルーティングされるようになります。
代替案: ゲートウェイとしての Cognos アプリケーション・サーバー
他の C/C++ アプリケーションにはゲートウェイのサポートが必要ないのであれば、(前のセクションで説明した) Cognos ゲートウェイの代わりに、すべてのサービスを無効にした Cognos アプリケーション・サーバーを使用することもできます (図 2 を参照)。
図 2. Cognos アプリケーション・サーバーをゲートウェイとして使用する場合
図 2 に示すトポロジーでは、ゲートウェイとアプリケーション・サーバーとの間の構成を管理、保守する必要がなくなります。この部分の構成は、Cognos アプリケーション・サーバーが提供する自動サービス・ディスカバリー機能によって管理されるためです。
アクティブ/スタンバイ・モードの Cognos Content Manager
Cognos Content Manager のフェイルオーバー・サポートでは、Cognos Content Manager の複数のインスタンスを Cognos ソリューションに組み込めるようになっています。ソリューションにインストールしたインスタンスのうちの 1 つをアクティブな Cognos Content Manager として選択してください。残りのインスタンスはすべてスタンバイ・モードで実行されます (図 3 を参照)。
図 3. アクティブ/スタンバイ・モードの Cognos Content Manager
アクティブな Cognos Content Manager に障害が発生すると、Cognos アプリケーション・サーバーはそのインスタンスとは通信できなくなります。すると、Cognos アプリケーション・サーバーはスタンバイ Cognos Content Manager を 1 つ選択し、そのインスタンスを新しいアクティブ Content Manager にします。それ以降は、すべてのリクエストがこの新しくアクティブになった Content Manager に転送されます。Cognos Content Manager の残りすべてのインスタンスは引き続きフェイルオーバーをサポートするためにスタンバイ・モードで実行されます。
フェイルオーバー保護を実現するには、少なくとも 1 つのアクティブ Cognos Content Manager と 1 つのスタンバイ Cognos Content Manager をインストールしなければなりません。アクティブ Content Manager に障害が発生した場合には、システム管理者もこのイベントを認識することになります。障害発生時に保存されていなかったセッション・データは失われ、新しい Content Manager がアクティブになった後、ユーザーに再度ログオンするようプロンプトが出されます。
IBM DB2 HADR (High Availability and Disaster Recovery)
IBM DB2 が提供する DB2-HADR は簡単に使用できるフィーチャーで、Cognos ソリューションのさまざまなリポジトリー・データベース障害に対処する高可用性ソリューションとなります。DB2-HADR 環境では、システム管理者はプライマリーとスタンバイの 2 つの DB2 データベースをセットアップします。トランザクション・ログはプライマリー・データベースからスタンバイ・データベースに自動的に同期されます (図 4 を参照)。
図 4. IBM DB2 HADR (High Availability and Disaster Recovery)
DB2-HADR 環境でのクライアントからデータベースへの接続は、自動クライアント・ルーティング (ACR) 設定によって管理されます。通常の環境では、すべてのリクエストはプライマリー・データベースにルーティングされます。プライマリー・データベースに障害が発生すると、クライアントは接続失敗の通知を受け取った時点で、ACR 設定に保管された情報を使用してスタンバイ・システムへの接続を自動的に試行します。
DB2-HADR 環境には、Cognos 管理者がシステムのパフォーマンス、スケーラビリティー、信頼性のバランスを検討して選択できるように以下の同期モードが用意されています。
- 同期 (Synchronous): プライマリー・データベースとスタンバイ・データベースの間でデータが失われる可能性はありませんが、プライマリー・データベースのパフォーマンスが犠牲になります。
- 近同期 (Near Synchronous): プライマリー・データベースとスタンバイ・データベースの両方に障害が同時に発生した場合でもデータが失われる可能性がほとんどありません。このモードでは、パフォーマンスと信頼性のバランスが最も高いレベルで取れています。
- 非同期 (Asynchronous): 3 つのモードのうち、最高のパフォーマンスをもたらしますが、プライマリー・インスタンスまたはスタンバイ・インスタンスに障害が発生した場合、あるいは接続ネットワークに障害が発生した場合には、データが失われる可能性があります。
すべての Cognos ソリューションには近同期モードをセットアップし、ミッション・クリティカルな場合には同期モードをセットアップするようお勧めします。
この記事で紹介したベスト・プラクティスによって、IBM Cloud で Cognos のスマート・ビジネス・アナリティクス機能を利用する際のシステム構成として、高可用性を実現するためのシステム構成のいくつかを理解する助けになったようであれば幸いです。
Cognos をクラウドで実行する方法については、Cognos サイトおよび developerWorks で詳細を調べてください (「参考文献」を参照)。
学ぶために
- この連載の他の記事、「単一イメージのトポロジーから複数イメージのトポロジーへの移行」および「パフォーマンスとスケーラビリティーに応じたアーキテクチャーのサイズ変更」を読んでください。
- Cognos Business Analytics についての詳細を調べてください。
- その他の IBM ビジネス・アナリティクス・ソフトウェアを調べてください。
- Cognos Proven Practices チームでは、顧客の実体験に基づいたベスト・プラクティスに関する資料を提供しています。
- Redbooks のドラフト版「IBM Smart Analytics Cloud」では、Smart Analytics Cloud の実験的実装について詳しく説明しています。
- developerWorks のクラウド開発者向けリソースで、クラウド開発プロジェクトを作成しているアプリケーションおよびサービス開発者たちの知識と経験を調べて共有してください。
製品や技術を入手するために
- Cognos 8 Business Intelligence ソフトウェアのオンライン・デモを見て、この製品を試してみてください。
議論するために
- ディスカッション・フォーラムに参加してください。
- My developerWorks でクラウド・コンピューティング・グループの一員になってください。
- My developerWorks でクラウドに関する優れたブログのすべてを読んでください。
- 専門家のネットワークであるとともに、互いにつながりを持ち、共有、協力するためのコミュニティー・ツールが集められている My developerWorks コミュニティーに加わってください。
Stephan Jou は、IBM Business Analytics 部門 Office of the CTO の Technology and Innovation チームの技術アーキテクト、研究スタッフ・メンバー、およびシニア技術スタッフ・メンバーとして働いています。Cognos ソフトウェアにおける経歴では、初期リリース製品の設計を担当し、データ・マイニング、ニューラル・ネットワーク、可視化、ダッシュボード、可動性、およびセマンティック検索を実現したという意味で、開発および製品化を主導しました。IBM での現在の任務は、学術研究および IBM の研究を Cognos および SPSS ソフトウェアの製品戦略につなげることです。彼は、University of Toronto で計算論的神経科学と生体工学の理学修士号、およびコンピューター・サイエンスと人間生理学の二重学位を取得しました。
William Lee は、IBM の Cognos 買収後、IBM でシニア・ソフトウェア顧問エンジニアとして働いています。彼は IBM Business Analytics 部門 Office of the CTO の Technology and Innovation チームの一員として、Cognos および SPSS ソフトウェア製品の技術ビジョンと方向性の定義を支援しています。1992年に IBM に入社して以来、Cognos に取り組んでいます。彼はカナダ・オタワ州の Carleton University でコンピューター・サイエンスの理学士号と修士号を取得しました。
Thanh Pham は、IBM Information Management Advanced Technology に所属するソリューション・アーキテクトです。現在は、IBM Mashup Center 製品および IBM クラウド・コンピューティングを使用したアプリケーション構築のための顧客支援を重点に取り組んでいます。この任務の前は、ECM/Filenet Business Process Framework のアーキテクトを担当していました。
Biraj Saha は IBM Cognos の顧問ソフトウェア開発者で、Cognos Framework Manager、Cognos Metrics Designer、Cognos Architectなどのモデリング・ツールのメタデータとアルゴリズムの設計および開発、そして Cognos 8 BI Server の SOA および SDK 開発を専門としています。2000年までは、EDS Systemhouse のシニア・ソフトウェア・エンジニアとして、ERP および RDBMS ベンダー・アプリケーションの変換、カスタム Java™、C++、ストアード・プロシージャー、4GL アプリケーションを初めとする多種多様な RDBMS 関連の開発において、広範な顧客の開発プロジェクトを主導してきました。彼はカナダの University of New Brunswick でコンピューター・サイエンスの学士号を取得し、カナダのUniversity of Waterloo ではオブジェクト指向データベースの制約理論を専攻してコンピューター・サイエンスの修士号を取得しました。