Informações adicionais sobre o balanceamento de carga do serviço de topologia do SharePoint 2010
Informações adicionais sobre o balanceamento de carga do serviço de topologia do SharePoint 2010
Esta postagem é essencialmente um adendo da excelente postagem que JoshGav fez no blog Beside the Point em https://blogs.msdn.com/b/besidethepoint/archive/2010/12/08/load-balancing-the-sharepoint-2010-topology-service.aspx. Como Josh comenta, o serviço de Topologia é responsável pelas solicitações de balanceamento de carga para pontos de extremidade de aplicativos de serviço diferentes. Entretanto, você precisa de algo para balancear a carga no próprio Serviço de Topologia quando estiver publicando aplicativos de serviço em outros farms. Por exemplo, geralmente você se conecta a outro aplicativo de serviço através de uma URL parecida com https://serverNetBiosName:32844/Topology/topology.svc. O problema obviamente é que, se o “serverNetBiosName” ficar inativo, seus proxies não conseguirão se conectar para obter a URL necessária do ponto de extremidade do serviço.
Sendo assim, antes de mais nada, leia o blog de Josh sobre esse tópico! O que estou acrescentando aqui são apenas algumas observações adicionais sobre o que encontrei durante a configuração. Com isso em mente, escolhi a abordagem número 1 que Josh descreveu, que é criar um novo certificado SSL com vários SAN (Subject Alternative Names) e associá-lo a cada servidor no meu farm. Veja a seguir as minhas observações:
1. Crie um novo certificado SSL com suporte para SAN: em cada servidor em que você deseje criar um novo certificado para SSL. Ele deve oferecer suporte a três nomes: localhost, o nome NetBIOS do servidor e o nome de balanceamento de carga que você deseja usar. O comportamento imediato do SharePoint é incluir localhost e o nome NetBIOS. Portanto, estamos seguindo a mesma abordagem aqui e apenas acrescentando o nome de carga balanceada adicional.
a. Para quem está testando isso em laboratório usando os Serviços de Certificados do Active Directory para emitir certificados, é possível fazer a configuração de forma a oferecer suporte as nomes SAN. Nos servidores que estão executando os Serviços de Certificado, execute o seguinte em um prompt de comando:
certutil –setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
net stop certsvc
net start certsvc
Quando executar a primeira linha, você receberá uma resposta indicando se isso funcionou ou não.
b. Inicie um MMC e adicione o snap-in Modelos de Certificado (você precisa fazer isso em um servidor que esteja executando os Serviços de Certificados do Active Directory). Clique no nó Modelos de Certificado para expandir e ver todos os modelos. Role até a parte inferior e clique duas vezes no modelo Servidor Web. Clique na guia Segurança. Para Usuários Autenticados, você deve marcar a caixa ao lado de Registrar na coluna Permitir e salvar as alterações. Sem fazer isso, você não conseguirá seguir as instruções da próxima etapa.
c. Consulte o artigo a seguir para obter instruções passo a passo para a solicitação de um certificado do Serviços de Certificados do AD que inclua suporte para SAN: https://technet.microsoft.com/en-us/library/ff625722(WS.10).aspx. Lembre-se de que você precisa fazer isso em CADA servidor do farm que esteja executando o serviço de aplicativo Web.
2. Altere o certificado SSL do aplicativo Web SharePoint Services: Usei um script simples do PowerShell, basicamente extraído da postagem de Josh. Ele está incluído no arquivo zip anexado a esta postagem. Lembre-se de que você precisará alterar a impressão digital do certificado em cada servidor do farm que esteja executando o serviço de aplicativo Web. Para facilitar a remoção das impressões digitais de certificados, desenvolvi uma pequena ferramenta chamada GetThumbprints, que também está incluída no arquivo zip anexado a esta postagem. Ela simplesmente examina o repositório de certificados do Computador Local e os repositórios My e SharePoint. Verifique se o certificado que você criou na etapa 1 acima se encontra em um desses repositórios, se quiser usar essa ferramenta.
3. Configure o VIP em todas os servidores para o nome de carga balanceada: como em qualquer serviço de carga balanceada, você precisará de um IP virtual que seja compartilhado entre todas as máquinas do pool. Dependendo da sua solução de balanceamento de carga, talvez você consiga usar um VIP existente ou precise criar um novo VIP. Descubra o que é ideal para a sua solução de balanceamento de carga e implante um novo VIP, se necessário. No meu caso, eu já estava usando um Balanceamento de Carga de Rede que vem com o Windows Server para balancear as solicitações de conteúdo do farm e, portanto, apenas usei esse mesmo VIP do balanceamento do Serviço de Topologia. Isso significa que somente meus front-ends receberão solicitações de aplicativos de serviço publicados.
4. Configure o balanceador de carga e o DNS do nome com carga balanceada: talvez você já tenha algum tipo de solução de balanceamento de carga se estiver em um farm multiservidor. Configure o nome com carga balanceada para o Serviço de Topologia no seu balanceador de carga. Como eu já estava usando um nome com carga balanceada, só tive que criar um novo registro Alias (A) no DNS para meu nome do Serviço de Topologia com carga balanceada; em relação ao endereço, apliquei o mesmo VIP usado para balancear a carga de solicitações da Web para o farm.
5. Configure a URL com carga balanceada do serviço de topologia do SharePoint: a melhor forma de fazer isso é seguindo um processo de duas etapas:
a. Obtenha primeiro as informações do Serviço de Topologia, executando Get-SPTopologyServiceApplication no PowerShell. Isso exibe a ID do serviço, assim como a URL com carga balanceada atual.
b. Execute o comando Set-SPTopologyServiceApplication -LoadBalancerUrl <nome com carga balanceada>. Siga as dicas do artigo de Josh neste ponto. O PowerShell solicitará a identidade do serviço de topologia. Aqui é o local onde você pode copiar a ID que foi mostrada quando Get-SPTopologyServiceApplication foi executado na etapa anterior.
6. Publique o aplicativo de serviço: não há nada realmente significativo para acrescentar aqui. Antes de mais nada, apenas LEMBRE-SE DE SEGUIR TODAS AS ETAPAS contidas no artigo Share Service Apps Across Farm em https://technet.microsoft.com/en-us/library/ff621100.aspx. Mesmo que você tenha publicado e consumido aplicativos de serviço entre farms antes, lembre-se de pelo menos conceder Controle Total ao farm remoto nas Permissões do aplicativo de serviço publicado, ou você obterá mensagens de erro de acesso negado.
7. Consuma o aplicativo de serviço publicado: nada a acrescentar aqui além da recomendação de cuidado como na observação anterior – siga explicitamente as etapas deste artigo.
Isso deve ser suficiente para você continuar. Recomendo que você comece primeiro com um cenário de fácil validação, como a publicação e o consumo de um aplicativo de serviço de pesquisa. É muito mais fácil do que executar uma consulta que você sabe que trará um documento específico e experimentar fazer isso no farm do assinante.
Mais uma vez, um muito obrigado a Josh pelo artigo que ele publicou. Nesse artigo, há tudo o que há de importante e isso deve ajudar a esclarecer alguns detalhes.
Esta é uma postagem de blog traduzida. Consulte o artigo original Additional Info on Load Balancing the SharePoint 2010 Topology Service