次の方法で共有


スケールアウト配置の計画

レポート サーバーのスケールアウト配置では、複数のレポート サーバー インスタンスが 1 つのレポート サーバー データベースを共有します。スケールアウト配置の利点としては、レポートに同時にアクセスできるユーザー数を増やせる点や、レポート サーバーの可用性を高めることができる点などがあります。この配置トポロジを使用する場合、必須ではありませんが、複数のレポート サーバー インスタンスの設定を統一することをお勧めします。対話型のレポート処理を実行するインスタンスを、スケジュールされたレポート処理やサブスクリプションのレポート処理を実行するインスタンスから切り離すなど、各サーバーに特定の機能に特化した構成を適用し、それぞれ独立したインスタンスとして実行できます。

スケールアウト配置でサポートされるシナリオを次に示します。

  • レポート サーバー インスタンスを負荷分散ソリューションで実行して大量の要求時レポートをサポートする。

  • レポート サーバーの可用性を強化する。

  • サービス機能を特定のコンピューターに分離することにより、使用可能なすべてのシステム リソースを最大限利用しつつ、同じレポート サーバー データベースの同じデータを格納および取得できるようにする。

スケールアウト配置には、次の要件が適用されます。

要件

説明

エディションの要件

スケールアウト配置は、Enterprise Edition、Developer Edition、および Evaluation Edition でサポートされています。

Standard Edition、Workgroup Edition、および Express Edition ではスケールアウト配置をサポートしていません。

バージョンの要件

すべてのレポート サーバーは、メジャー バージョンが一致していること、同じ更新プログラムおよびサービス パックが適用されていることが必要です。

ドメインの要件

レポート サーバーはすべて、同じドメインまたは信頼されたドメインに存在する必要があります。

認証の要件

スケールアウト配置内のレポート サーバー インスタンスはすべて、認証拡張機能の種類を同じにする必要があります。カスタム認証拡張機能を作成した場合は、その拡張機能をすべてのノードに配置して使用する必要があります。スケールアウト配置の各ノードには、同じ種類の認証を構成する必要があります。

この制限のため、スケールアウト配置の構成で、認証の種類と承認規則の構成がそれぞれに異なる複数のレポート サーバー インスタンスからイントラネットとエクストラネットを介して同時に同じレポート サーバー データベースにアクセスできるようにすることはできません。

この制限が生じる理由は、種類の異なる認証間で Reporting Services がカスタム権限設定を同期しないためです。特定のアイテムで権限の継承を無効にしてロールの割り当てを作成した場合、他の認証プロバイダーによって認証されたユーザーがそのアイテムにアクセスすると、アクセス拒否エラーが発生します。この問題を回避するには、両方のサーバーでアイテム固有のロールの割り当てをすべて複製し、両方の認証拡張機能に二重のセキュリティ ポリシーが存在するようにする必要があります。この方法は手間がかかるうえに間違いを犯しやすく、アクセス拒否エラーにつながることが予想されます。このため、このシナリオはサポートされていません。

このトピックの残りのセクションでは、サポートされているシナリオの詳細を説明します。

負荷分散ソリューション用のスケールアウト配置

レポート サーバーのスケールアウト配置を構成すると、レポート サーバー ノードの負荷をネットワーク負荷分散 (NLB) クラスターに分散して、大量のレポートをサポートできるようになります。ソフトウェア ソリューションおよびハードウェア ソリューションを使用して、NLB クラスターを実装できます。Reporting Services を NLB クラスターに配置するのは、レポート サーバーの応答性を向上させる必要がある場合や、同時に処理可能な対話型レポート数を増やす必要がある場合だけです。スケジュールされたレポートとサブスクリプション処理はスケールアウト配置で高速になりますが、パフォーマンスの高速化に NLB クラスターが必ずしも必要とは限りません。

NLB クラスターを作成および構成するには、その機能をサポートしているソフトウェアおよびツールを使用する必要があります。Microsoft Windows Server オペレーティング システムにもサードパーティのアプリケーションにも負荷分散機能があります。Reporting Services 自体には、負荷分散機能や、複数のレポート サーバー ノードにアクセスする 1 つの仮想サーバー URL を定義する機能は用意されていません。ハードウェア ソリューションまたはソフトウェア ソリューションの選択にあたっては、レポート サーバーのスケールアウト配置を構成するすべてのノードに対する単一のエントリ ポイントとして仮想サーバー名を定義する手段を備えていることが要件となります。 

Reporting Services は Microsoft Cluster Services を認識しません。Microsoft Cluster Services を使用する場合は、次の情報を確認してください。

  • Microsoft Cluster Services のアクティブ/パッシブ クラスターで Reporting Services を実行した場合、各クラスター ノード上のレポート サーバー サービスが要求を処理します。

  • レポート サーバー データベースが、フェールオーバー クラスターの一部である SQL Server でホストされている場合、フェールオーバー クラスターの仮想名を使ってレポート サーバー データベースに接続するように、レポート サーバーを構成する必要があります。そうしないと、フェールオーバーが発生した場合に、レポート サーバーがレポート サーバー データベースに接続できなくなります。

  • SQL Server のフェールオーバー クラスタリングを介して、レポート サーバーを Microsoft Cluster Services に配置することはできません。ただし、SQL Server のインストール時に、ファイルのみのオプションでレポート サーバーをインストールすることはできます。 

配置を構成するには

  1. NLB クラスターで実行する複数のサーバーを構成します。

  2. レポート サーバー データベースをホストする別個のサーバーを構成します。

  3. NLB クラスターの各ノード上にレポート サーバー インスタンスをインストールすることによって、レポート サーバーのスケールアウト配置をインストールおよび構成します。レポート サーバーをインストールし、スケールアウト配置に参加させる方法の詳細については、「レポート サーバーのスケールアウト配置を構成する方法 (Reporting Services 構成)」を参照してください。

  4. ビュー ステート検証を構成し、レポート サーバーの構成を確認します。詳細については、「ネットワーク負荷分散クラスターでレポート サーバーを構成する方法」を参照してください。

  5. スケールアウト配置の各ノードについて、NLB の URL 名が使用されるように、レポート サーバーの Hostname プロパティを構成します。この手順により、レポート サーバーによって生成された URL が、特定のサーバーではなく、NLB を指すように構成されます。詳細については、「ネットワーク負荷分散クラスターでレポート サーバーを構成する方法」を参照してください。

スケールアウト配置によるサービス機能のパフォーマンス強化

スケールアウト配置の個々のレポート サーバーに特定の種類の処理を割り当てることによって、レポート サーバーのパフォーマンスを強化することができます。たとえば、スケジュールされたレポートやサブスクリプションの処理と、対話型レポートの処理とを別々のレポート サーバーに割り当てます。レポート サーバーは同じスケールアウト配置で実行されるため、各サーバーは、同じレポートのセットを処理します。

配置を構成するには

  1. レポート サーバーのスケールアウト配置をインストールして構成します。手順については、「レポート サーバーのスケールアウト配置を構成する方法 (Reporting Services 構成)」を参照してください。

  2. 対話型レポート用のサーバーで、スケジュールされたレポートとサブスクリプションの処理をオフにします。

  3. バックグラウンド処理に使用するもう一方のサーバーで、レポート サーバー Web サービスおよびレポート マネージャーをオフにします。

特定の機能をオフにする方法の詳細については、「Reporting Services 機能を有効または無効にする方法」を参照してください。

スケールアウト配置に関する考慮事項

オペレーティング システムのバージョンにより、サポートされるカルチャと照合順序が異なる

スケールアウト配置に含まれているコンピューターでさまざまなオペレーティング システムが実行されている場合、それらのコンピューターでサポートされるカルチャや照合順序もさまざまなものになる可能性があります。これにより、レポートを処理および表示するときに、レポートに矛盾が生じたり、レポート エラーが発生することがあります。

レポートの作成者は、レポートをデザインするときに、レポートの処理および表示に使用されるカルチャに影響を与えるレポートまたはレポート オブジェクトのプロパティを構成できます。オペレーティング システムのバージョンによってサポートされるカルチャと照合順序が異なるため、これによりレポート データの矛盾やエラーが発生し、スケールアウト配置内の同じサーバーでレポートの処理に矛盾が生じる可能性があります。

たとえば、スケールアウト配置に Windows 2003 サーバーと Windows 2008 サーバーが含まれているとします。スケールアウト配置の Reporting Services では、ネットワーク環境でソフトウェアやハードウェアを使用してさまざまなサーバーへの要求を負荷分散することが前提となります。ただし、Reporting Services は、負荷分散ソリューションによって特定のユーザー セッションのすべての要求が単一のサーバーに送信されることを必要または前提としません。ロード バランサーは、あるページ要求を Windows 2008 サーバーに送信し、次のページ要求を Windows 2003 サーバーに送信することができます。この例では、処理されるレポートは、Windows 2003 サーバーではなく Windows 2008 サーバーでサポートされる照合順序に依存します。このように、レポートを処理および表示するときに予期される照合順序には一貫性がありません。そのため、レポートの結果に矛盾が生じることがあります。次に、発生する可能性がある状況の例をいくつか示します。

  • 追加のグループ化、並べ替え、またはフィルター処理を必要とするレポート処理で不適切な照合順序が比較に使用され、結果に誤りが生じる。

  • HideDuplicates 機能で不適切な照合順序が使用され、表示されない値と表示される値の結果に誤りが生じる。

  • Lookup、LookupSet、および MultiLookup 機能で不適切な照合順序が使用され、結果に誤りが生じる。

カルチャや言語と連携するプロパティの処理は、オペレーティング システムの違いに影響されます。影響を受けるプロパティの一部 (すべてではありません) を次に示します。

  • レポートの言語プロパティ

  • データセットの照合順序プロパティ

  • レポート アイテムの LableLocId および ValueLocID プロパティ

この問題を回避するには、次のいずれかを検討します。

  • スケールアウト配置内のすべてのサーバーで同じバージョンのオペレーティング システムを使用する。

  • さまざまなバージョンのオペレーティング システムが存在する場合は、すべてのサーバーでサポートされているカルチャのみをレポートの作成に使用する。

  • 負荷分散ソリューションにアフィニティを設定し、特定のレポートおよびユーザー セッションのすべての要求が同じサーバーに送信されるようにする。