Tl; Dr
다중 인스턴스 SQL Server에 전용 IP 주소와 포트 (162.xxx.xxx.51 : 1433)가있는 SQL Server 인스턴스 (SQLSERVER01-i01)가 있습니다 (Windows Server의 각 SQL Server 인스턴스에는 고유 한 IP 주소가 있음) )는 모두 하나의 Windows 서버에서 실행 중입니다 (SQLSERVER01 / 162.xxx.xxx.50).
또한 고유 한 IP 주소와 포트 (168.xxx.xxx.71 : 1433)를 가진 전용 Reporting Services 인스턴스 (SQLSERVERRS01-i01)가 있으며 고유 한 IP 주소 (168)를 가진 다른 Windows 서버 (SQLSERVERRS01)에서 실행됩니다. .xxx.xxx.70).
전용보고 서비스 서버는 응용 프로그램이 APPL1
를 통해 중 하나에 도달 할 수 있습니다 http://SQLSERVERRS01-i01:80/Reports_APPL1
또는 통해를 http://SQLSERVERRS01:80/Reports_APPL1
.
SSRS는 *:80
호스트 헤더에 대한 Reporting Services 구성 의 구성으로 인해 두 요청을 모두 선택합니다 .
각 IP 범위 사이에 여러 개의 방화벽이 있으므로 각 IP-to-IP 또는 IPrange-to-IP 연결에 대해 특정 규칙을 적용해야합니다. 그러나 두 대의 서버가 관련된 경우 보안에 따라 항상 방화벽에서 IP-IP 규칙이되어야합니다.
질문
(스크린 샷을 기반으로 아래로)
Reporting Services 서버가 데이터를 검색하기 위해 SQL Server 인스턴스 (162.xxx.xxx.51)에 연결하면 항상 Windows 서버의 기본 IP 주소 (168.xxx.xxx.70 / 선호)와 연결됩니다 ) SSRS가 실행 중이거나 SQL Server Reporting Services 인스턴스 (168.xxx.xxx.71)의 IP 주소를 사용합니까 (때로는)?
이는 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
하나의 방화벽 규칙을 안전하게 줄이고 모든 것이 여전히 작동하는지 확인하고 싶습니다. (참조 더 아래 스크린 샷)
편집 : 내가 지금까지 읽은 기사가 난 단지 두 번째 규칙을 필요로 제안하지만 보장은 없습니다.
내가 이미 상담 한 기사
SQL Server 설치
기반 문서에 대한 보안 고려 사항SQL Server 액세스를 허용하도록 Windows 방화벽 구성
이 문서에서는 SQL Server의 방화벽 구성과 관련된 다른 모든 문서를 설명합니다.데이터베이스 엔진 액세스를위한 Windows 방화벽 구성
사용 된 IP 주소가 없습니다.보고서 서버 액세스를위한 방화벽 구성
이 기사는 다음과 같이 매우 흥미 롭습니다.외부 컴퓨터의 SQL Server 관계형 데이터베이스에 액세스하거나 보고서 서버 데이터베이스가 외부 SQL Server 인스턴스에있는 경우 외부 컴퓨터에서 포트 1433 및 1434를 열어야합니다.
Windows Server 2008 및 Windows Vista에서 소스 IP 주소 선택 기능은 이전 버전의 Windows에서 해당 기능과 다릅니다.
제 5 조와 제 6 조는 제임스 (dba.se)에 의해 친절하게 제공되었습니다 . 그들은 현재 가장 적합한 답변 인 것 같습니다. 그러나 한 기사에서 여러 개의 NIC 사용에 대해 언급하는 반면, 여러 개의 IP가 할당 된 NIC는 하나뿐입니다. Tom (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 인스턴스를 실행하는 하나의 Windows Server를 가질 수 있습니다. 전용 Reporting Services 인스턴스에도 동일하게 적용됩니다.
방화벽 규칙
다른 IP 범위는 현재 영역으로 구성되어 있지 않으므로 각 방화벽 규칙을 IP-IP 또는 IPrange-to-IP 규칙으로 독립적으로 구성해야합니다. 두 대의 서버가 관련되면 보안에 따라 항상 IP-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 Adresses은 (는 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이고 두 개의 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 구성 관리자 유틸리티에서이 IP 주소를 수신하도록 구성된 SQL Server 인스턴스가 없으므로 SQL Server는 162.xxx.xxx.50 : 1433에 대한 요청을 선택하지 않습니다. SQL Server는 SQLSERVER01-i01 (포트 1433) 또는 162.xxx.xxx.51,1433에 대한 요청 만 선택합니다.
SQL Server Reporting Services 인스턴스 요약
SQL Server Browser 서비스가 실행되고 있지 않으며 각 개별 SQL Server Reporting Services 인스턴스는 포트 1433에서 고유 한 IP 주소 만 사용하도록 구성되어 있습니다. 호스트 이름이 SQLSERVERRS01 인 응용 프로그램 인 Windows Server 인 GENERAL이라는 SQL Server Reporting Services 인스턴스 SSRS라는 이름 APPL1
과 두 개의 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 구성 관리자 유틸리티에서이 IP 주소를 수신하도록 구성된 SQL Server 인스턴스가 없으므로 SQL Server는 168.xxx.xxx.70 : 1433에 대한 요청을 선택하지 않습니다. SQL Server는 SQLSERVER01-i01 (포트 1433) 또는 162.xxx.xxx.71,1433에 대한 요청 만 선택합니다.
SSRS는 호스트 헤더에 대한 Reporting Services 구성의 * : 80 구성으로 인해 http : // sqlserverrs01-i01 / Reports_APPL1 또는 http : // sqlserverrs01 / Reports_APPL1에 대한 요청을 선택합니다 .
답변을 작성하는 데 시간을 할애 할 수있는 충분한 정보를 제공해 주시길 바랍니다. 자세한 기술 정보와 링크를 기다리겠습니다.
StackEdit으로 작성 하고 나중에 수동으로 스택 교환 호환 가능하도록 수정했습니다.
역사
편집 1 : 최초 릴리스
편집 2 : 가독성을 위해 다시 포맷되었습니다. 설명 SF / DB를 아래로 이동했습니다. Windows Server
Edit 3의 호스트 이름 추가 : 방화벽 규칙 목록에서 잘못된 IP 주소를 수정했습니다.
편집 4 : 어떤 곳에서 호스팅 단어를 실행으로 변경했습니다 (가상화되지 않은 환경입니다). 한 문장으로 IP 주소 추가
편집 5 : 이미 상담하고 참조한 기사 목록 추가
편집 6 : 정리 내역 섹션