Tl; Dr
マルチインスタンスSQL Serverに専用のIPアドレスとポート(162.xxx.xxx.51:1433)を持つSQL Serverインスタンス(SQLSERVER01-i01)があります(Windows Server上の各SQL Serverインスタンスには独自のIPアドレスがあります) )これらはすべて1つのWindowsサーバー(SQLSERVER01 / 162.xxx.xxx.50)で実行されています。
また、独自のIPアドレスとポート(168.xxx.xxx.71:1433)を持つ専用のReporting Servicesインスタンス(SQLSERVERRS01-i01)があり、独自のIPアドレス(168を持つ別のWindowsサーバー(SQLSERVERRS01)で実行されています.xxx.xxx.70)。
専用のReporting Servicesサーバーには、またはを介してAPPL1
アクセスできるアプリケーションがあります。 http://SQLSERVERRS01-i01:80/Reports_APPL1
http://SQLSERVERRS01:80/Reports_APPL1
*:80
ホストヘッダーのReporting Services構成の構成により、SSRSは両方の要求を取得します。
各IP範囲の間に複数のファイアウォールがあります。つまり、IP-to-IPまたはIPrange-to-IP接続ごとに特定のルールを適用する必要があります。ただし、2つのサーバーが関与している場合、セキュリティでは常にファイアウォール内のIP-to-IPルールである必要があると規定されています。
質問
(さらに下のスクリーンショットに基づく)
Reporting ServicesサーバーがSQLサーバーインスタンス(162.xxx.xxx.51)に接続してデータを取得すると、Windowsサーバーの基になるIPアドレス(168.xxx.xxx.70 /推奨)との接続が常に構築されます)SSRSが実行されているか、または(時々)SQL Server Reporting ServicesインスタンスのIPアドレス(168.xxx.xxx.71)を使用しますか?
これは、IP-to-IPアプローチを使用したファイアウォールルールの設定に関連しています。ポート1433を介した168.xxx.xxx.71から162.xxx.xxx.51への接続、または168.xxx.xxx.70から162.xxx.xxx.51への接続を定義するルールを適用する必要がありますポート1433。
現在、私は両方のファイアウォールルールに適用します。
ボーナス質問
専用IPアドレスと通信するようにReporting Servicesサーバーを構成できますか?この場合は168.xxx.xxx.71アドレスです。
私が探していない答え
ファイアウォールの構成を最適化する方法や、ネットワークにゾーニングの概念を実装する方法についてのアドバイスは求めていません。(すでにパイプラインに入っています)。さらに、SQL ServerとSSRSを同じサーバー上に置くことで問題が解決することを示すフィードバックには興味がありません。私はそれを知っており、喜んでそれを行いますが、SSRSコンポーネントと一緒に実行するために必要なサードパーティのソフトウェアについては。
できます
私が持っている構成は、SSRSとSQL Serverインスタンスの間に両方のファイアウォールルールを適用すると機能します。
168.xxx.xxx.71 --> 162.xxx.xxx.51 : 1433
168.xxx.xxx.70 --> 162.xxx.xxx.51 : 1433
安全にファイアウォールルールを1つ減らし、すべてが引き続き機能することを確認したいと思います。(下のスクリーンショットを参照)
編集:これまでに読んだ記事は、2番目のルールだけが必要であることを示唆していますが、保証はありません。
私がすでに相談した記事
SQL Serverインストール
ベースの記事のセキュリティに関する考慮事項。SQL Serverアクセスを許可するようにWindowsファイアウォールを構成する
この記事では、SQL Serverのファイアウォール構成に関する他のすべての記事を示します。データベースエンジンアクセス用のWindowsファイアウォールを構成する
IPアドレスの単語は使用されません。レポートサーバーアクセス用のファイアウォールの構成
この記事は、次のように非常に興味深いものでした。外部コンピューターのSQL Serverリレーショナルデータベースにアクセスする場合、またはレポートサーバーデータベースが外部SQL Serverインスタンスにある場合は、外部コンピューターのポート1433および1434を開く必要があります。
Windows Server 2008およびWindows VistaのソースIPアドレス選択の機能は、以前のバージョンのWindowsの対応する機能とは異なります
記事5および6はJames(dba.se)から親切に提供されました。それらは現在最も適切な答えのようです。ただし、複数のIPが割り当てられているNICが1つしかないのに対して、1つの記事で複数のNICの使用について言及しているのは少し懐疑的です。トム(dba.se)もアドバイスと一般的なコメントを寄せています。
dba.stackexchange.comにない理由
最初はこの質問の複雑な性質のため、serverfault.comにこの質問を投稿することに抵抗がありました。この質問には、SQL Server固有の傾向とWindows Server固有の傾向の両方があります。最終的に私はそれをここに投稿することにしました。これは、Windows ServerのIPを処理するためのものだと思うからです(より良い言葉を失うため)。
モデレーターがdba.stackexchange.comでより良い応答を得ると考えている場合は、質問をそこに移動してください。
長い説明
私たちの環境には、複数のSQL Serverインスタンスと複数のIP設定をホストするWindowsサーバーがあります。複雑なファイアウォール構成、専用のSQL Server Reporting Services(SSRS)サーバーを追加し、次のような環境を作成します。
基本的に、個々のIPアドレスで最大15(15)のSQL Serverインスタンスを実行する1つのWindowsサーバーを持つことができます。同じことが専用のReporting Servicesインスタンスにも当てはまります。
ファイアウォールルール
現在、さまざまなIP範囲はゾーンとして構成されていません。つまり、各ファイアウォールルールをIP-to-IPまたはIPrange-to-IPルールとして個別に構成する必要があります。2つのサーバーが関係する場合、セキュリティにより、常にIP-to-IPルールでなければならないことが規定されています。各SQL Serverインスタンスには、サーバーからサーバーへのリンクまたはクライアントからサーバーへのリンクなど、通信に関与するファイアウォール用の独自のルールセットがあります。ファイアウォールルールを適用すると、現在4〜6週間の待機期間が発生します。ファイアウォールルールの量を減らすと、ネットワークセキュリティチームへのプレッシャーが軽減されます。
SQL ServerインスタンスのIP構成
専用IPおよびポートでのみピックアップするようにSQL Serverインスタンスを構成するには、SQL Server構成マネージャーユーティリティの一部の設定を変更します。最初のステップは、SQL Server構成マネージャーを起動し、左側のセクションでSQL Serverネットワーク構成を選択することです。InstanceNameのプロトコル。左ペインで、TCP / IPプロトコル名を左クリックし、プロトコルを有効にします。次に、プロトコルを再度左クリックして、[ TCP / IPのプロパティ ] ウィンドウを表示します。
次に、次の設定がプロトコルレジスタに設定されていることを確認します。
Enabled : Yes
Listen All : No
ではIPなアドレスはは(例えばこの例では、Reporting Servicesのサーバーのために、それは168.xxx.xxx.71のためになる)、当該IPアドレスに対して次の設定を確認してください登録
Active : Yes
Enabled : Yes
IP Address : 168.xxx.xxx.71
TCP Dynamic Ports :
TCP Port : 1433
注: TCP動的ポートの設定は、0(ゼロ)だけでなく空であることも重要です。
これで、ポート1433を使用して168.xxx.xxx.71のデータベース接続のみをピックアップするSQL Serverインスタンスが作成されました。
SQL Serverインスタンスの概要
SQL Server Browserサービスは実行されておらず、個々のSQL Serverインスタンスはそれぞれ、ポート1433で独自のIPアドレスのみを使用するように構成されています。GENERALというSQL Serverインスタンスがあり、ホスト名SQLSERVER01と2つのIPアドレス162.xxxを持つWindowsサーバー.xxx.50(ホスト)と162.xxx.xxx.51(SQLインスタンス)次の構成項目になります。
Windows Server : SQLSERVER01
Windows Server IP : 162.xxx.xxx.50
SQL Server Instance : SQLSERVER01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 162.xxx.xxx.51:1433
SQL Serverは、162.xxx.xxx.50:1433の要求を取得しません。SQLServer構成マネージャーユーティリティでこのIPアドレスをリッスンするように構成されているSQL Serverインスタンスがないためです。SQL Serverは、SQLSERVER01-i01(ポート1433)または162.xxx.xxx.51,1433の要求のみを取得します。
SQL Server Reporting Servicesインスタンスの概要
SQL Server Browserサービスは実行されておらず、個々のSQL Server Reporting Servicesインスタンスは、ポート1433で独自のIPアドレスのみを使用するように構成されています。名前付きSSRS APPL1
と2つのIPアドレス168.xxx.xxx.70(ホスト)と168.xxx.xxx.71(SQLインスタンス)で、次の構成項目になります。
Windows Server : SQLSERVERRS01
Windows Server IP : 168.xxx.xxx.70
SQL Server Instance : SQLSERVERRS01-i01 (DNS A record)
SQL Server Instance : GENERAL (can only be used on the host itself)
SQL Server IP/Port : 168.xxx.xxx.71:1433
Reporting Services : http://sqlserverrs01-i01/Reports_APPL1
http://sqlserverrs01/Reports_APPL1
SQL Serverは、168.xxx.xxx.70:1433の要求を取得しません。これは、SQL Server構成マネージャーユーティリティでこのIPアドレスをリッスンするように構成されているSQL Serverインスタンスがないためです。SQL Serverは、SQLSERVER01-i01(ポート1433)または162.xxx.xxx.71,1433の要求のみを取得します。
ホストヘッダーのReporting Services構成の*:80構成のため、SSRSはhttp:// sqlserverrs01-i01 / Reports_APPL1またはhttp:// sqlserverrs01 / Reports_APPL1のいずれかの要求をピックアップします 。
私が答えを書くことに時間を費やすことをいとわない人に十分な情報を提供したことを願っています。技術的な詳細とリンクを楽しみにしています。
歴史
編集1:初期リリース
編集2:読みやすくするために再フォーマット。説明SF / DBを下に移動しました。Windows Server
Edit 3のホスト名が追加されました。ファイアウォールルールリストの間違ったIPアドレスが修正されました。
編集4:一部の場所でホスティングという言葉を実行に変更しました(非仮想化環境です)。一度の文にIPアドレスを追加
編集5:サポートを参照して参照した記事のリストを追加
編集6:履歴セクションのクリーンアップ