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 で現在使用されているポートに接続要求をリダイレクトします。
SharePoint モードで Analysis Services をインストールするときに TCP ポート 2382 を開き、PowerPivot for SharePoint 2013 をサポートします。 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 用に構成されたポートを使用し、PowerPivot データ モデルを読み込んでクエリする Analysis Services インスタンスへのローカル接続のみを行います。
Azure Virtual Machines で実行されている Analysis Services インスタンスの場合は、サーバー アクセスを構成するための別の手順を使用します。 「Azure Virtual Machines でのビジネス インテリジェンスのSQL Server」を参照してください。
Analysis Services の既定のインスタンスは TCP ポート 2383 でリッスンしますが、別の固定ポートでリッスンするようにサーバーを構成し、servername:portnumber> という形式<でサーバーに接続<できます。>
Analysis Services インスタンスで使用できる TCP ポートは 1 つだけです。 複数のネットワーク カードまたは複数の IP アドレスを持つコンピューターでは、Analysis Services は、コンピューターに割り当てられている、またはエイリアス化されたすべての IP アドレスについて、1 つの TCP ポートでリッスンします。 特定のマルチポート要件がある場合は、HTTP アクセス用に Analysis Services を構成することを検討してください。 そうすれば、どのポートを選択しても、複数の HTTP エンドポイントを設定できます。 「インターネット インフォメーション サービス (IIS) 8.0 で Analysis Services への HTTP アクセスを構成する」を参照してください。
このトピックは、次のセクションで構成されています。
Windows ファイアウォールの既定の設定の詳細と、データベース エンジン、Analysis Services、Reporting Services、および Integration Services に影響する TCP ポートの説明については、「 SQL Server のアクセスを許可するための Windows ファイアウォールの構成」をご覧ください。
Analysis Services で使用されるポートとファイアウォールの設定
SQL Server 2014 でサポートされている 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
サービスによって、使用されるポートが起動時に決定されます。 名前付きインスタンスによって使用されている実際のポート番号は、次の方法で調べることができます。
タスク マネージャーを起動し、[ サービス ] をクリックして の PID を
MSOLAP$InstanceName
取得します。コマンド ラインから「
netstat -ao -p TCP
」を実行し、その PID に対応する TCP ポート情報を表示します。SQL Server Management Studioを使用してポートを確認し、次の形式で Analysis Services サーバーに接続します: <IPAddress>:<portnumber>。
アプリケーションが特定のポートをリッスンしていても、ファイアウォールによってアクセスがブロックされていれば、接続は失敗します。 Analysis Services の名前付きインスタンスに接続するには、msmdsrv.exe へのアクセスのブロックを解除するか、ファイアウォール内でリッスンしている固定ポートへのアクセスのブロックを解除する必要があります。 以降のセクションで、その手順について説明します。
Analysis Services に対するファイアウォール設定が既に定義されているかどうかを確認するには、コントロール パネルの [セキュリティが強化された Windows ファイアウォール] を使用します。 [監視] フォルダーの [ファイアウォール] ページに、ローカル サーバーに対して定義されている規則がすべて表示されます。
Analysis Services の場合、すべてのファイアウォール規則を手動で定義する必要があることに注意してください。 Analysis Services と SQL Server Browser はポート 2382 と 2383 を予約しますが、SQL Server セットアップ プログラムも構成ツールも、ポートまたはプログラムの実行可能ファイルへのアクセスを許可するファイアウォール規則を定義しません。
Analysis Services の既定のインスタンスに対する Windows ファイアウォールの構成
Analysis Services の既定のインスタンスは、TCP ポート 2383 でリッスンします。 既定のインスタンスをインストールし、このポートを使用する場合は、Analysis Services の既定のインスタンスへのリモート アクセスを有効にするために、Windows ファイアウォールの TCP ポート 2383 への受信アクセスのブロックを解除するだけで済みます。 既定のインスタンスがインストールされているときに、固定ポートでリッスンするようにサービスを構成する場合は、このトピックの「 Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用 」を参照してください。
このサービスが既定のインスタンス (MSSQLServerOLAPService) として動作しているかどうか確認するには、SQL Server 構成マネージャーでサービスの名前を確認します。 Analysis Services の既定のインスタンスは、常に [SQL Server Analysis Services (MSSQLSERVER)]という名前で表示されます。
注意
Windows オペレーティング システムの種類によっては、Windows ファイアウォールを構成する別のツールが用意されています。 ほとんどのツールでは、特定のポートとプログラム実行可能ファイルのどちらを開くかを選択できます。 プログラム実行可能ファイルを指定する必要がなければ、ポートを指定することをお勧めします。
受信の規則を指定するときには、後で探しやすいような名前を付けてください (たとえば、 SQL Server Analysis Services (TCP-in) 2383など)。
セキュリティが強化された Windows ファイアウォール
Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ]をクリックした後、 [Windows ファイアウォール]、 [詳細設定]の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、 [セキュリティが強化された Windows ファイアウォール]をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「 Windows ファイアウォール」と入力します。
[受信の規則] を右クリックし、 [新しい規則]をクリックします。
[ルールの種類] で、[次へ] をクリック
Port
します。[プロトコルとポート] で [TCP] を選択し、次に「特定のローカル ポート」と入力
2383
します。[操作] で、 [接続を許可する] をクリックし、 [次へ]をクリックします。
[プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、 [次へ]をクリックします。
[名前] に、この規則のわかりやすい名前 (例: ) を入力し、[
SQL Server Analysis Services (tcp-in) 2383
完了] をクリック します。リモート接続が有効になっていることを確認するには、別のコンピューターで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 Server 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 のブロックを解除する必要があります。
Note
SQL Server Browser サービスは、データベース エンジンに対応する UDP ポート 1434 と、Analysis Services に対応する TCP ポート 2382 をリッスンします。 SQL Server Browser サービス用に UDP ポート 1434 のブロックを既に解除している場合でも、Analysis Services 用に TCP ポート 2382 のブロックを解除する必要があります。
セキュリティが強化された Windows ファイアウォール
Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ]をクリックした後、 [Windows ファイアウォール]、 [詳細設定]の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、 [セキュリティが強化された Windows ファイアウォール]をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「 Windows ファイアウォール」と入力します。
SQL Server Browser サービスへのアクセスのブロックを解除するには、 [受信の規則] を右クリックし、 [新しい規則]をクリックします。
[ルールの種類] で、[次へ] をクリック
Port
します。[プロトコルとポート] で [TCP] を選択し、[特定のローカル ポート] を入力
2382
します。[操作] で、 [接続を許可する] をクリックし、 [次へ]をクリックします。
[プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、 [次へ]をクリックします。
[名前] に、このルールのわかりやすい名前 (例: ) を入力し、[
SQL Server Browser Service (tcp-in) 2382
完了] をクリック します。リモート接続が有効になっていることを確認するには、別のコンピューターでSQL Server Management Studioまたは Excel を開き、サーバーのネットワーク名とインスタンス名を servername\instancename> という形式<で指定して Analysis Services に接続<します。> たとえば、名前付きインスタンス Finance のある AW-SRV01という名前の付けられたサーバーでは、サーバー名は AW-SRV01\Financeとなります。
オプション 2: 名前付きインスタンスに固定ポートを使用する
または、固定ポートを割り当てた後で、そのポートへのアクセスのブロックを解除します。 このアプローチには、プログラムの実行ファイルへのアクセスを許可するよりも監査を実行しやすいというメリットがあります。 このため、Analysis Services の任意のインスタンスにアクセスする方法としては、固定ポートを使用するアプローチをお勧めします。
固定ポートを割り当てるには、このトピックの「 Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用 」で説明する手順を実行してから、このセクションに戻ってポートのブロックを解除します。
セキュリティが強化された Windows ファイアウォール
Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ]をクリックした後、 [Windows ファイアウォール]、 [詳細設定]の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、 [セキュリティが強化された Windows ファイアウォール]をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「 Windows ファイアウォール」と入力します。
Analysis Services へのアクセスのブロックを解除するには、 [受信の規則] を右クリックし、 [新しい規則]をクリックします。
[ルールの種類] で、[次へ] をクリック
Port
します。[プロトコルおよびポート] で、 [TCP] をクリックし、 [特定のローカル ポート]に固定ポートの番号を入力します。
[操作] で、 [接続を許可する] をクリックし、 [次へ]をクリックします。
[プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、 [次へ]をクリックします。
[名前] に、このルールのわかりやすい名前 (例: ) を入力し、[
SQL Server Analysis Services on port 54321
完了] をクリック します。リモート接続が有効になっていることを確認するには、別のコンピューターで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 サービスによって名前付きインスタンスへの接続が解決されます。
使用可能な TCP/IP ポートから、使用するポートを決定します。
使用が禁止されている予約済みポートと登録済みポートの一覧については、IANA の「 Port Numbers」 (ポート番号) を参照してください。 システムで既に使用されているポートを確認するには、コマンド プロンプト ウィンドウを開き、「
netstat -a -p TCP
」と入力すると、システム内で開かれている TCP ポートの一覧が表示されます。使用するポートを決定した後、msmdsrv.ini ファイルまたは SQL Server Management Studio の Analysis Services インスタンスの [全般プロパティ] ページで、
Port
構成設定を編集して、ポートを指定します。サービスを再起動します。
Windows ファイアウォールを構成して、指定した TCP ポートのブロックを解除します。 名前付きインスタンスに固定ポートを使用する場合は、そのインスタンスに指定した TCP ポートと、SQL Server Browser サービスで使用される TCP ポート 2382 の両方のブロックを解除します。
接続を検証します。それには、Management Studio を使用してローカルで接続した後、別のコンピューターのクライアント アプリケーションからリモートで接続します。 Management Studio を使用するには、サーバー名を servername:portnumber> という形式<で指定して、Analysis Services の既定のインスタンスに接続<します。> 名前付きインスタンスの場合は、サーバー名を servername>\instancename として<指定します><。
Analysis Services クラスターのポートの構成
Analysis Services フェールオーバー クラスターは、既定のインスタンスとしてインストールしたか名前付きインスタンスとしてインストールされたかに関係なく、常に TCP ポート 2383 でリッスンします。 動的ポート割り当ては、Windows フェールオーバー クラスターにインストールされている場合、Analysis Services では使用されません。 クラスターで Analysis Services を実行しているすべてのノードで TCP 2383 を開く必要があります。 Analysis Services のクラスタリングの詳細については、「How to Cluster 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 サービスは TCP ポート 2382 で Analysis Services の名前付きインスタンスに送信された接続要求をリッスンし、要求を現在のポートにリダイレクトします。
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 ファイアウォールを構成する