Analysis Services のアクセスを許可するための Windows ファイアウォールの構成

Analysis Services や PowerPivot for SharePoint をネットワーク上で利用できるようにするための重要な最初の手順は、ファイアウォールのポートのブロックを解除する必要があるかどうかを判断することです。 ほとんどのインストールでは、Analysis Services への接続を許可する受信ファイアウォール ルールを少なくとも 1 つ作成する必要があります。

ファイアウォールの構成要件は、Analysis Services のインストール方法によって異なります。

  • 既定のインスタンスをインストールした場合や、Analysis Services フェールオーバー クラスターを作成した場合は、TCP ポート 2383 を開きます。

  • 名前付きインスタンスをインストールした場合は、TCP ポート 2382 を開きます。 名前付きインスタンスは、動的なポート割り当てを使用します。 Analysis Services の検出サービスとして、SQL Server Browser サービスは TCP ポート 2382 をリッスンし、Analysis Services によって現在使用されているポートに対して接続要求をリダイレクトします。

  • Analysis Services を SharePoint モードでインストールし、PowerPivot for SharePoint 2013 をサポートしている場合は、TCP ポート 2382 を開きます。 PowerPivot for SharePoint 2013 では、Analysis Services インスタンスは SharePoint の外部に位置します。 SharePoint Web アプリケーションから発信され、ネットワーク接続を経由して名前付きの 'PowerPivot' インスタンスに至る着信要求では、開かれたポートが必要になります。 他の名前付き Analysis Services インスタンスと同様に、TCP 2382 で SQL Server Browser サービスに対して PowerPivot for SharePoint へのアクセスを許可する受信ルールを作成します。

  • PowerPivot for SharePoint 2010 の場合は、Windows ファイアウォールでポートを開けないでください。 このサービスは SharePoint アドインとして、SharePoint を対象として構成されたポートを使用し、Analysis Services インスタンスへのローカル接続のみを作成します。このインスタンスは、PowerPivot データ モデルの読み込みとそのモデルに対するクエリを実行します。

  • Windows Azure 仮想マシンで実行されている Analysis Services インスタンスの場合は、サーバー アクセスを構成するための代替の手順に従います。 「Windows Azure の仮想マシンでの SQL Server Business Intelligence」を参照してください。

Analysis Services の既定のインスタンスは TCP ポート 2383 をリッスンしますが、別の固定ポートをリッスンするか、次の形式でサーバーに接続するように、サーバーを構成することができます。<servername>:<portnumber>

1 つの Analysis Services インスタンスで使用できるのは、1 つの TCP ポートのみです。 複数のネットワーク カードまたは複数の IP アドレスを使用しているコンピューターでは、Analysis Services は、そのコンピューターに割り当てられているすべての IP アドレス、または別名を付けられているすべての IP アドレスに対応する 1 つの TCP ポートをリッスンします。 特定のマルチポート要件がある場合は、HTTP アクセス用に Analysis Services を構成することを検討してください。 そうすれば、どのポートを選択しても、複数の HTTP エンドポイントを設定できます。 「インターネット インフォメーション サービス (IIS) 7.0 上の Analysis Services への HTTP アクセスの構成」を参照してください。

このトピックの内容は次のとおりです。

  • Analysis Services で使用されるポートとファイアウォールの設定

  • Analysis Services の既定のインスタンスに対する Windows ファイアウォールの構成

  • Analysis Services の名前付きインスタンスに対する Windows ファイアウォール アクセスの構成

  • Analysis Services クラスターのポートの構成

  • PowerPivot for SharePoint のポートの構成

  • Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用

Windows ファイアウォールの既定の設定の詳細と、データベース エンジン、Analysis Services、Reporting Services、および Integration Services に影響する TCP ポートの説明については、「SQL Server のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。

Analysis Services で使用されるポートとファイアウォールの設定

SQL Server 2012 でサポートされる Microsoft Windows オペレーティング システムの場合、既定で Windows ファイアウォールが有効になっており、リモート接続はブロックされます。 Analysis Services への着信要求を許可するために、ファイアウォール内でポートを手動で開く必要があります。 SQL Server セットアップでは、この手順が自動的に実行されません。

ポートの設定は、msmdsrv.ini ファイルと、SQL Server Management Studio の Analysis Services インスタンスの [全般プロパティ] ページで指定します。 Port が正の整数に設定されている場合、Analysis Services は固定ポートでリッスンします。 Port が 0 に設定されている場合、Analysis Services が既定のインスタンスであればポート 2383 でリッスンし、名前付きインスタンスであれば動的に割り当てられたポートでリッスンします。

動的なポート割り当ては、名前付きインスタンスでのみ使用されます。 MSOLAP$InstanceName サービスによって、使用されるポートが起動時に決定されます。 名前付きインスタンスによって使用されている実際のポート番号は、次の方法で調べることができます。

  • タスク マネージャーを起動し、[サービス] をクリックして、MSOLAP$InstanceName の PID を調べます。

  • コマンド ラインから「netstat –ao –p TCP」を実行し、その PID に対応する TCP ポート情報を表示します。

  • SQL Server Management Studio を使用してそのポートを表示し、<IPAddress>:<portnumber> という形式で指定して Analysis Services サーバーに接続します。

アプリケーションが特定のポートをリッスンしていても、ファイアウォールによってアクセスがブロックされていれば、接続は失敗します。 Analysis Services の名前付きインスタンスに接続するには、msmdsrv.exe へのアクセスのブロックを解除するか、ファイアウォール内でリッスンしている固定ポートへのアクセスのブロックを解除する必要があります。 以降のセクションで、その手順について説明します。

Analysis Services に対するファイアウォール設定が既に定義されているかどうかを確認するには、コントロール パネルの [セキュリティが強化された Windows ファイアウォール] を使用します。 [監視] フォルダーの [ファイアウォール] ページに、ローカル サーバーに対して定義されている規則がすべて表示されます。

Analysis Servicesでは、すべてのファイアウォール ルールを手動で定義する必要があることに注意してください。 Analysis Services ではポート 2382 および 2383 が予約されていますが、SQL Server セットアップ プログラムでも、その他の構成ツールでも、ポートまたはプログラム実行可能ファイルへのアクセスを許可するファイアウォールの規則は自動的に定義されません。

Analysis Services の既定のインスタンスに対する Windows ファイアウォールの構成

Analysis Services の既定のインスタンスは TCP ポート 2383 でリッスンします。 既定のインスタンスがインストールされている場合にこのポートを使用するには、Windows ファイアウォールで TCP ポート 2383 への受信アクセスを解除し、Analysis Services の既定のインスタンスへのリモート アクセスを有効にする必要があります。 既定のインスタンスがインストールされているときに、固定ポートでリッスンするようにサービスを構成する場合は、このトピックの「Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用」を参照してください。

このサービスが既定のインスタンス (MSSQLServerOLAPService) として動作しているかどうか確認するには、SQL Server 構成マネージャーでサービスの名前を確認します。 Analysis Services の既定のインスタンスは、常に [SQL Server Analysis Services (MSSQLSERVER)] という名前で表示されます。

注意

Windows オペレーティング システムの種類によっては、Windows ファイアウォールを構成する別のツールが用意されています。 ほとんどのツールでは、特定のポートとプログラム実行可能ファイルのどちらを開くかを選択できます。 プログラム実行可能ファイルを指定する必要がなければ、ポートを指定することをお勧めします。

受信の規則を指定するときには、後で探しやすいような名前を付けてください (たとえば、SQL Server Analysis Services (TCP-in) 2383 など)。

セキュリティが強化された Windows ファイアウォール

  1. Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ] をクリックした後、[Windows ファイアウォール][詳細設定] の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、[セキュリティが強化された Windows ファイアウォール] をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「Windows ファイアウォール」と入力します。

  2. [受信の規則] を右クリックし、[新しい規則] をクリックします。

  3. [規則の種類] で、[ポート] をクリックした後、[次へ] をクリックします。

  4. [プロトコルおよびポート] で、[TCP] をクリックし、[特定のローカル ポート] に「2383」と入力します。

  5. [操作] で、[接続を許可する] をクリックし、[次へ] をクリックします。

  6. [プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、[次へ] をクリックします。

  7. [名前] で、この規則のわかりやすい名前 (たとえば、SQL Server Analysis Services (tcp-in) 2383) を入力し、[完了] をクリックします。

  8. リモート接続が有効になっているかどうかを検証するには、SQL Server Management Studio または Excel を異なるコンピューター上で開き、[サーバー名] に表示されているサーバーのネットワーク名を指定して Analysis Services に接続します。

    注意

    他のユーザーは、アクセス許可が与えられるまでこのサーバーにはアクセスできません。 詳細については、「Analysis Services 多次元データベースに対するユーザー権限の付与」を参照してください。

Netsh AdvFirewall 構文

  • 次のコマンドを実行すると、TCP ポート 2383 での受信要求を許可する受信の規則が作成されます。

    netsh advfirewall firewall add rule name="SQL Server Analysis Services inbound on TCP 2383" dir=in action=allow protocol=TCP localport=2383 profile=domain
    

Analysis Services の名前付きインスタンスに対する Windows ファイアウォール アクセスの構成

Analysis Services の名前付きインスタンスは、指定した固定ポートまたは動的に割り当てられたポートをリッスンできます。動的に割り当てられたポートでは、SQL Server Browser サービスによって接続時現在のサービスの接続情報が提供されます。

SQL Browser サービスは TCP ポート 2382 でリッスンします。 UDP は使用されません。 TCP は、Analysis Services で使用される唯一の転送プロトコルです。

次のアプローチのいずれかを使用して、Analysis Services の名前付きインスタンスへのリモート アクセスを有効にします。

  • 動的なポート割り当ておよび SQL Server Browser サービスを使用します。 SQL Server Browser サービスが使用するポートのブロックを Windows ファイアウォールで解除します。 サーバーに <servername>\<instancename> の形式を使用して接続します。

  • 固定ポートおよび SQL Server Browser サービスの両方を連携して使用します。 このアプローチでは、動的なポート割り当てで使用する <servername>\<instancename> の同じ形式を使用して接続できます。ただし、この場合には、サーバーは固定ポートでリッスンします。 このシナリオでは、SQL Server Browser Service は、固定ポートでリッスンしている Analysis Services のインスタンスに名前解決を提供します。 このアプローチを使用するには、サーバーを固定ポートでリッスンするように構成し、そのポートへのアクセスのブロックを解除して、SQL Server Browser サービスが使用するポートへのアクセスのブロックを解除します。

SQL Server Browser サービスは、名前付きインスタンスでのみ使用されます。既定のインスタンスで使用されることはありません。 サービスは、SQL Server の任意の機能が名前付きインスタンスとしてインストールされるときに、自動的にインストールされ有効になります。 SQL Server Browser サービスが必要なアプローチを選択する場合、サービスが使用するサーバーで有効になっていることと起動されていることを確認してください。

SQL Server Browser サービスが使用できない場合は、ドメイン名の解決をスキップし、接続文字列内で固定ポートを割り当てる必要があります。 SQL Server Browser サービスを使用しない場合は、すべてのクライアント接続に接続文字列 (AW-SRV01:54321 など) にあるポート番号が含まれている必要があります。

オプション 1: 動的なポート割り当てを使用し、SQL Server Browser サービスへのアクセスのブロックを解除する

Analysis Services の名前付きインスタンスに対する動的なポート割り当ては、サービスの起動時に、MSOLAP$InstanceName によって決定されます。 既定で、使用可能なポートのうち最も小さい番号のポートが要求され、サービスが再起動されるたびに異なるポート番号が使用されます。

インスタンス名の解決は、SQL Server Browser サービスによって処理されます。 名前付きインスタンスのある動的ポートの割り当てを使用している場合には、必ず、SQL Server Browser サービスの TCP ポート 2382 のブロックを解除する必要があります。

注意

SQL Server Browser サービスは、データベース エンジンに対応する UDP ポート 1434 と、Analysis Services に対応する TCP ポート 2382 をリッスンします。 SQL Server Browser サービス用に UDP ポート 1434 のブロックを既に解除している場合でも、Analysis Services 用に TCP ポート 2382 のブロックを解除する必要があります。

セキュリティが強化された Windows ファイアウォール

  1. Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ] をクリックした後、[Windows ファイアウォール][詳細設定] の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、[セキュリティが強化された Windows ファイアウォール] をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「Windows ファイアウォール」と入力します。

  2. SQL Server Browser サービスへのアクセスのブロックを解除するには、[受信の規則] を右クリックし、[新しい規則] をクリックします。

  3. [規則の種類] で、[ポート] をクリックした後、[次へ] をクリックします。

  4. [プロトコルおよびポート] で、[TCP] をクリックし、[特定のローカル ポート] に「2382」と入力します。

  5. [操作] で、[接続を許可する] をクリックし、[次へ] をクリックします。

  6. [プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、[次へ] をクリックします。

  7. [名前] に、この規則のわかりやすい名前 (「SQL Server Browser Service (tcp-in) 2382」など) を入力し、[完了] をクリックします。

  8. リモート接続が有効になっているかどうかを検証するには、SQL Server Management Studio または Excel を異なるコンピューター上で開き、サーバーのネットワーク名とインスタンス名を <servername>\<instancename> という形式で指定して Analysis Services に接続します。 たとえば、名前付きインスタンス Finance のある AW-SRV01 という名前の付けられたサーバーでは、サーバー名は AW-SRV01\Finance となります。

オプション 2: 名前付きインスタンスに固定ポートを使用する

または、固定ポートを割り当てた後で、そのポートへのアクセスのブロックを解除します。 このアプローチには、プログラムの実行ファイルへのアクセスを許可するよりも監査を実行しやすいというメリットがあります。 このため、Analysis Services の任意のインスタンスにアクセスする方法としては、固定ポートを使用するアプローチをお勧めします。

固定ポートを割り当てるには、このトピックの「Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用」で説明する手順を実行してから、このセクションに戻ってポートのブロックを解除します。

セキュリティが強化された Windows ファイアウォール

  1. Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ] をクリックした後、[Windows ファイアウォール][詳細設定] の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、[セキュリティが強化された Windows ファイアウォール] をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「Windows ファイアウォール」と入力します。

  2. Analysis Services へのアクセスのブロックを解除するには、[受信の規則] を右クリックし、[新しい規則] をクリックします。

  3. [規則の種類] で、[ポート] をクリックした後、[次へ] をクリックします。

  4. [プロトコルおよびポート] で、[TCP] をクリックし、[特定のローカル ポート] に固定ポートの番号を入力します。

  5. [操作] で、[接続を許可する] をクリックし、[次へ] をクリックします。

  6. [プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、[次へ] をクリックします。

  7. [名前] に、この規則のわかりやすい名前 (「ポート 54321 上の SQL Server Analysis Services」など) を入力し、[完了] をクリックします。

  8. リモート接続が有効になっているかどうかを検証するには、SQL Server Management Studio または Excel を異なるコンピューター上で開き、サーバーのネットワーク名とポート番号を <servername>:<portnumber> という形式で指定して Analysis Services に接続します。

Netsh AdvFirewall 構文

  • 次のコマンドにより、SQL Server Browser サービス用の TCP 2382 のブロックを解除する受信の規則と、Analysis Services インスタンス用に指定された固定ポートのブロックを解除する受信の規則が作成されます。 これらのうちのいずれかを実行すると Analysis Services の名前付きインスタンスにアクセスできるようにできます。

    このサンプル コマンドの場合、ポート 54321 が固定ポートです。 実際のシステムで使用する場合、このポートを実際のポート番号に置き換えてください。

    netsh advfirewall firewall add rule name="SQL Server Analysis Services (tcp-in) on 54321" dir=in action=allow protocol=TCP localport=54321 profile=domain
    
    netsh advfirewall firewall add rule name="SQL Server Browser Services inbound on TCP 2382" dir=in action=allow protocol=TCP localport=2382 profile=domain
    

Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用

ここでは、固定ポートをリッスンするように Analysis Services を構成する方法について説明します。 Analysis Services を名前付きインスタンスとしてインストールしている場合、一般的に固定ポートが使用されます。ただし、ビジネス要件またはセキュリティ要件によって既定でないポート割り当てを使用するように指定されている場合、このアプローチを使用することができます。

固定ポートを使用すると、サーバー名にポート番号を付加する必要があるため、既定のインスタンス用の接続構文が変わることに注意してください。 たとえば、SQL Server Management Studio で、ポート 54321 をリッスンしている Analysis Services のローカルな既定のインスタンスに接続するには、Management Studio の [サーバーへの接続] ダイアログ ボックスにサーバー名として「localhost:54321」と入力する必要があります。

名前付きインスタンスを使用する場合、固定ポートを割り当てることができるため、サーバー名の指定方法は変わりません (具体的には、<servername\instancename> を使用することで、固定ポートをリッスンしている名前付きインスタンスに接続できます)。 このアプローチは、SQL Server Browser サービスが実行されており、サービスがリッスンしているポートのブロックが解除されている場合のみに使用できます。 SQL Server Browser サービスは、<servername\instancename> に基づいて固定ポートへのリダイレクトを行います。 SQL Server Browser サービスと、固定ポートをリッスンする Analysis Services の名前付きインスタンスの両方に対してポートを開いている限り、SQL Server Browser サービスによって名前付きインスタンスへの接続が解決されます。

  1. 使用可能な TCP/IP ポートから、使用するポートを決定します。

    使用が禁止されている予約済みポートと登録済みポートの一覧については、IANA の「Port Numbers (ポート番号)」を参照してください。 システムで既に使用されているポートを確認するには、コマンド プロンプト ウィンドウを開き、「netstat –a –p TCP」と入力すると、システム内で開かれている TCP ポートの一覧が表示されます。

  2. 使用するポートを決定した後、msmdsrv.ini ファイルまたは SQL Server Management Studio の Analysis Services インスタンスの [全般プロパティ] ページで、Port 構成設定を編集して、ポートを指定します。

  3. サービスを再起動します。

  4. Windows ファイアウォールを構成して、指定した TCP ポートのブロックを解除します。 名前付きインスタンスに固定ポートを使用する場合は、そのインスタンスに指定した TCP ポートと、SQL Server Browser サービスで使用される TCP ポート 2382 の両方のブロックを解除します。

  5. 接続を検証します。それには、Management Studio を使用してローカルで接続した後、別のコンピューターのクライアント アプリケーションからリモートで接続します。 Management Studio を使用するには、<servername>:<portnumber> という形式でサーバー名を指定して、Analysis Services の既定のインスタンスに接続します。 名前付きインスタンスの場合は、サーバー名を <servername>\<instancename> として指定します。

Analysis Services クラスターのポートの構成

Analysis Services フェールオーバー クラスターは、既定のインスタンスとしてインストールしたか、名前付きインスタンスとしてインストールしたかにかかわらず、常に TCP ポート 2383 でリッスンします。 Analysis Services は、Windows フェールオーバー クラスターにインストールされた場合、動的ポート割り当てを使用しません。 クラスターで Analysis Services を実行しているすべてのノードで、TCP 2383 を開いてください。 Analysis Services のクラスタリングの詳細については、「SQL Server Analysis Services をクラスター化する方法」を参照してください。

PowerPivot for SharePoint のポートの構成

PowerPivot for SharePoint に対応するサーバー アーキテクチャは、使用する SharePoint のバージョンによって大きく異なります。

SharePoint 2013

SharePoint 2013 では、Excel Services が Power Pivot データ モデルに対する要求をリダイレクトし、ついでその要求は、SharePoint 環境外にある Analysis Services インスタンスに読み込まれます。 接続は一般的なパターンに従い、ローカル コンピューター上にある Analysis Services クライアント ライブラリが、同じネットワーク上にあるリモートの Analysis Services インスタンスに接続要求を送信します。

PowerPivot for SharePoint によって Analysis Services が必ず名前付きインスタンスとしてインストールされるため、SQL Server Browser サービスと動的ポートの割り当てを想定する必要があります。 既に説明したように、SQL Server Browser サービスは、Analysis Services の名前付きインスタンス宛てに送信される接続要求を TCP ポート 2382 でリッスンし、その要求を現在のポートにリダイレクトします。

SharePoint 2013 内の Excel Services が、固定ポートを使用した接続構文をサポートしないことに注意して、SQL Server Browser サービスがアクセス可能になるようにしてください。

SharePoint 2010

SharePoint 2010 を使用している場合は、Windows ファイアウォールのポートを開く必要はありません。 SharePoint は、自らが必要としているポートを開き、また PowerPivot for SharePoint のようなアドインは SharePoint 環境内で動作します。 PowerPivot for SharePoint 2010 のインストールでは、PowerPivot System サービスによって、同じコンピューターにインストールされているローカルの SQL Server Analysis Services (PowerPivot) サービス インスタンスが排他的に使用されます。 ローカルの Analysis Services エンジン サービスへのアクセスには、ネットワーク接続ではなくローカル接続が使用されます。このサービスは、SharePoint サーバー上の PowerPivot データの読み込み、クエリ、および処理を行います。 クライアント アプリケーションから PowerPivot データを要求する場合、SharePoint セットアップによって開かれたポートを経由して要求がルーティングされます。セットアップでは、SharePoint へのアクセスを許可するための受信規則が定義されます (80、SharePoint サーバー管理 v4、SharePoint Web サービス、SPUserCodeV4)。 PowerPivot Web サービスは SharePoint ファーム内で実行されるため、SharePoint ファーム内の PowerPivot データへのリモート アクセスには SharePoint のファイアウォール規則で十分です。

関連項目

概念

SQL Server Browser サービス (データベース エンジンと SSAS)

データベース エンジン、SQL Server エージェント、SQL Server Browser サービスの開始、停止、一時停止、再開、および再起動

データベース エンジン アクセスを有効にするための Windows ファイアウォールを構成する