SharePoint 2010 토폴로지 서비스 부하 분산에 대한 추가 정보
SharePoint 2010 토폴로지 서비스 부하 분산에 대한 추가 정보
이 게시물은 JoshGav가 Beside the Point 블로그 https://blogs.msdn.com/b/besidethepoint/archive/2010/12/08/load-balancing-the-sharepoint-2010-topology-service.aspx(영문일 수 있음)에 올린 멋진 게시물에 대한 부록인 셈입니다. Josh가 날카롭게 지적한 대로 토폴로지 서비스는 여러 서비스 응용 프로그램 끝점으로 요청을 부하 분산하는 책임을 맡고 있습니다. 하지만 서비스 응용 프로그램을 다른 팜에 게시할 때는 토폴로지 서비스 자체의 부하를 분산할 수 있는 무언가가 필요합니다. 예를 들어 일반적으로 https://serverNetBiosName:32844/Topology/topology.svc와 같은 형태의 URL을 통해 다른 서비스 응용 프로그램에 액세스합니다. 물론 문제는 “serverNetBiosName”이 다운되는 경우 프록시를 연결하여 필요한 서비스 끝점의 URL을 가져올 수 없다는 것입니다.
따라서 무엇보다 가장 먼저 해야 할 일은 이 주제에 대한 Josh의 블로그를 읽어 보는 것입니다. 제가 여기에 추가하는 내용은 직접 설정하면서 남긴 몇 가지 추가적인 메모일 뿐입니다. 이를 염두에 두고 저는 Josh가 설명한 1번 방법을 사용했습니다. 그것은 여러 SAN(주체 대체 이름)이 있는 새 SSL 인증서를 만들어서 팜 내의 각 서버에 연결하는 것입니다. 제가 남긴 메모는 다음과 같습니다.
1. SAN 지원이 있는 새 SSL 인증서 만들기: SSL에 대한 새 인증서를 만들려는 각 서버에서 이 작업을 수행합니다. 세 개의 이름을 지원해야 합니다. 그 세 개의 이름은 localhost, 서버의 NetBIOS 이름, 사용할 부하 분산 이름입니다. SharePoint는 기본적으로 localhost 및 NetBIOS 이름을 포함하도록 되어 있으므로 여기서는 같은 방식을 따르고 부하 분산 이름을 추가합니다.
a. 연구실에서 이 내용을 테스트하고 있으며 Active Directory 인증서 서비스를 사용하여 인증서를 발급하고 있는 경우에는 SAN 명명을 지원하도록 구성할 수 있습니다. 인증서 서비스를 실행 중인 서버에서 명령 프롬프트를 사용하여 다음을 실행합니다.
certutil –setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
첫 줄을 실행할 때 작동했는지 여부에 대한 피드백을 받게 됩니다.
b. MMC를 시작하고 인증서 템플릿 스냅인을 추가합니다. 이 작업은 Active Directory 인증서 서비스를 실행하는 서버에서 수행해야 합니다. Certificate Templates 노드를 클릭하여 확장하고 모든 템플릿을 봅니다. 아래쪽으로 스크롤하고 Web Server 템플릿을 두 번 클릭합니다. 보안 탭을 클릭합니다. 인증된 사용자의 경우 허용 열에서 등록 옆의 확인란을 선택하고 변경 내용을 저장해야 합니다. 그러기 전에는 다음 단계의 지침에 따라 진행할 수 없습니다.
c. 다음 문서에서 SAN 지원을 포함하는 AD 인증서 서비스로부터 인증서를 요청하는 단계별 지침을 참조하십시오. https://technet.microsoft.com/ko-kr/library/ff625722(WS.10).aspx(영문일 수 있음). 웹 응용 프로그램 서비스를 실행하는 팜에 있는 모든 서버에서 이 작업을 수행해야 합니다.
2. SharePoint Services 웹 응용 프로그램의 SSL 인증서 변경: 저는 기본적으로 Josh의 게시물에서 가져온 간단한 PowerShell 스크립트를 사용했습니다. 이 스크립트는 본 게시물에 첨부된 zip 파일에 포함되어 있습니다. 인증서 지문을 변경해야 하고, 웹 응용 프로그램 서비스를 실행하는 팜에 있는 모든 서버에서 이 스크립트를 실행해야 한다는 것을 잊지 마십시오. 인증서 지문을 보다 쉽게 가져올 수 있도록 GetThumbprints라는 간단한 도구를 만들었습니다. 이 도구도 본 게시물에 첨부된 zip 파일에 포함되어 있습니다. 이 도구는 My Stores 및 SharePoint Stores에 있는 Local Machine 인증서 저장소에 나타납니다. 이 도구를 사용하려면 위의 1단계에서 만든 인증서도 위 저장소 중 하나에 있어야 합니다.
3. 부하 분산 이름을 위해 모든 서버에 VIP 설정: 부하 분산 서비스와 마찬가지로 풀에 있는 모든 컴퓨터 간에 공유되는 가상 IP가 필요합니다. 부하 분산 솔루션에 따라 기존 VIP를 사용할 수도 있고, 새로운 VIP를 만들어야 할 수도 있습니다. 사용 중인 부하 분산 솔루션에 무엇이 맞는지 알아보고 필요하면 새 VIP를 배포하십시오. 제 경우에는 이미 WIndows Server와 함께 제공된 네트워트 부하 분산을 사용하여 팜 콘텐츠의 요청을 분산하고 있었기 때문에 토폴로지 서비스 분산에도 같은 VIP를 사용했습니다. 즉, 제 경우에는 저의 웹 프론트 엔드만 게시된 서비스 응용 프로그램의 요청을 받게 됩니다.
4. 부하 분산 이름에 대한 부하 분산 장치 및 DNS 설정: 다중 서버 팜에 있는 경우에는 이미 일종의 부하 분산 솔루션이 있어야 합니다. 부하 분산 장치에서 토폴로지 서비스에 대한 부하 분산 이름을 설정하십시오. 저는 이미 사용 중이었기 때문에 부하 분산된 토폴로지 서비스 이름에 대해 DNS에서 새 Alias(A) 레코드를 만들기만 하면 됐습니다. 주소로는 팜에 대한 웹 요청을 부하 분산하는 데 사용한 것과 동일한 VIP를 지정했습니다.
5. SharePoint 토폴로지 서비스에 대한 부하 분산 URL 구성: 이 작업은 2단계 프로세스로 수행하는 것이 가장 좋습니다.
a. PowerShell에서 Get-SPTopologyServiceApplication을 실행하여 토폴로지 서비스 정보를 먼저 가져옵니다. 서비스 ID와 현재 부하 분산 URL이 표시됩니다.
b. Set-SPTopologyServiceApplication -LoadBalancerUrl <부하 분산 이름> 명령을 실행합니다. 이때 Josh의 문서에 있는 팁을 잘 따라야 합니다. PowerShell이 다시 나타나서 토폴로지 서비스의 ID를 묻습니다. 이전 단계에서 Get-SPTopologyServiceApplication을 실행할 때 표시된 ID를 여기에 복사할 수 있습니다.
6. 서비스 응용 프로그램 게시: 여기에는 특별히 추가할 만한 내용이 없습니다. 무엇보다도 '팜 간에 서비스 응용 프로그램 공유' 문서 https://technet.microsoft.com/ko-kr/library/ff621100.aspx(영문일 수 있음)에 언급된 모든 단계를 수행하면 됩니다. 이전에 팜 간에 서비스 응용 프로그램을 게시하고 사용했더라도 최소한 게시된 서비스 응용 프로그램에서 원격 팜에 모든 권한을 부여해야 합니다. 이렇게 하지 않으면 액세스 거부 오류 메시지가 나타납니다.
7. 게시된 서비스 응용 프로그램 사용: 이전 메모와 똑같은 내용 외에는 덧붙일 말이 없습니다. 위에 언급된 문서의 단계를 그대로 따르십시오.
이 정도만 알고 계시면 충분할 것입니다. Search Service 응용 프로그램을 게시하고 사용하는 시나리오처럼 유효성 검사가 보다 용이한 시나리오부터 먼저 시작하는 것이 좋습니다. 특정 문서를 반환해야 한다는 것을 이미 알고 있는 쿼리를 실행하여 해당 쿼리를 등록된 팜에서 사용해 보면 쉽습니다.
훌륭한 게시물을 작성해 준 Josh에게 다시 한 번 큰 감사의 말을 전합니다. 그는 자신의 문서에 중요한 내용을 이미 모두 적어 놓았고, 제가 작성한 이 문서는 몇 가지 세부적인 사항만 제시할 뿐입니다.
이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Additional Info on Load Balancing the SharePoint 2010 Topology Service를 참조하십시오.