Analysis Services アクセスに対して Windows ファイアウォールを構成する

このトピックでは、Analysis Services または PowerPivot for SharePoint へのアクセスを許可するためにファイアウォールのポートのブロックを解除する必要があるかどうかを判断する方法について説明します。このトピックで示す手順を実行すると、ポートとファイアウォールの両方の設定を構成できます。実際に Analysis Services サーバーへのアクセスを許可するには、これらの手順を組み合わせて実行する必要があります。

ファイアウォールの構成要件は、インストールされている Analysis Services コンポーネントによって異なります。PowerPivot for SharePoint がインストールされている場合、Windows ファイアウォールのポートを開く必要はありません。一方、スタンドアロンの Analysis Services へのリモート接続ではポートを開く必要があります。

Analysis Services の既定のインスタンスは TCP ポート 2383 をリッスンしますが、別の固定ポートをリッスンするか、動的ポート割り当てと SQL Server Browser サービスを使用するように、サーバーを構成することもできます。

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

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

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

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

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

PowerPivot for SharePoint のポート構成

Use a fixed port for a default or named instance of Analysis Services

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

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

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

ポートの設定は、msmdsrv.ini ファイルと、SQL Server Management Studio の Analysis Services インスタンスの [全般] プロパティ ページで指定します。Port が正の整数に設定されている場合、サービスは固定ポートをリッスンします。Port が 0 に設定されている場合、サービスが既定のインスタンスであればポート 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 の既定のインスタンスへのリモート アクセスを有効にする必要があります。既定のインスタンスがインストールされている場合に固定ポートをリッスンするようにサービスを構成する場合は、このトピックの「Use a fixed port for a default or named instance of Analysis Services」を参照してください。

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

注意

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

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

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

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

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

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

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

  5. [アクション] で、[接続を許可する] をクリックし、[次へ] をクリックします。

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

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

  8. リモート接続が有効になっているかどうかを確認するには、SQL Server Management Studio または Excel を他のコンピューターで開き、[サーバー名] に表示されているサーバーのネットワーク名を指定して 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 サービスによって接続時点でのサービスの接続情報が提供されます。

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

  • 固定ポートを使用し、Windows ファイアウォールでそのポートのブロックを解除します。<servername>:<portnumber> の形式を使用してサーバーに接続します。

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

  • 固定ポートを SQL Server Browser サービスと共に使用します。この方法では、動的ポート割り当てで使用する <servername>\<instancename> の形式を使用して接続できます。ただし、この場合はサーバーは固定ポートをリッスンします。このシナリオでは、SQL Server Browser サービスは固定ポートをリッスンしている 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 ファイアウォール] をクリックします。

  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 のインスタンスへのアクセスには固定ポートの使用をお勧めします。

固定ポートを割り当てるには、このトピックの「Use a fixed port for a default or named instance of Analysis Services」で説明している手順を実行してから、このセクションに戻ってポートのブロックを解除します。

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

  1. Windows 7 または Windows Vista の場合は、コントロール パネルの [システムとセキュリティ][Windows ファイアウォール][詳細設定] の順にクリックします。Windows Server 2008 または 2008 R2 の場合は、[管理ツール] を開き、[セキュリティが強化された 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)」を参照してください。システムで既に使用されているポートの一覧を表示するには、コマンド プロンプト ウィンドウを開き、「netstat –a –p TCP」と入力して、システムで開いている TCP ポートの一覧を表示します。

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

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

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

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

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

複数のネットワーク カードが取り付けられたコンピューターの場合、Analysis Services は指定されたポートを使用してすべての IP アドレスをリッスンします。クラスター化されたインスタンスの場合、Analysis Services はクラスター グループのすべての IP アドレスをリッスンしますが、使用されるのは TCP ポート 2383 のみです。クラスター化されたインスタンスに別の固定ポートを指定することはできません。

PowerPivot for SharePoint のポート構成

PowerPivot for SharePoint がインストールされている場合、Windows ファイアウォールのポートを開く必要はありません。PowerPivot for SharePoint では、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 のファイアウォール規則で十分です。