Usando o Application Request Routing para migrar sites para o IIS7 - parte 2

No meu post anterior falei como instalar o IIS e o ARR para criar uma solução que permita a migração transparente de aplicações de um ambiente “antigo” para o IIS7.x. Um ponto importante nesta configuração é que os dois servidores devem possuir exatamente a mesma configuração, ou inconsistências podem ocorrer ao processar as requisições nos servidores ARR.

O IIS7.x felizmente possui um recurso que permite em manter todos os arquivos de configuração do IIS em um único local de rede compartilhado por todos os servidores do WebFarm, chamado de Shared Configuration. Esta configuração é necessária para que ambos os servidores utilizem sempre o mesmo conjunto de regras de rotamento para os requests, evitando inconsistências.

UPDATE (09/02/2013) : o Shared Configuration não é requerido para o ARR funcionar. Se você estiver usando um único servidor poderá seguir sem utilizá-lo, mas se tiver dois ou mais servidores é recomendado que faça uso deste recurso.

Os seguintes passos são requeridos para essa configuração:

Passo 1: Criação de pasta compartilhada no Servidor ARR-1:

Para habilitar o Shared Configuration, uma pasta compartilhada na rede deve ser criada em um servidor de arquivos, ou em um dos servidores Web com o ARR. Para facilitar o gerenciamento, optamos por criar a pasta compartilhada (SHAREDCONFIG) em um dos servidores ARR.

A pasta compartilhada deve atender os seguintes requisitos:

  • deve possuir o “Caching” habilitado (no próximo post explicarei mais detalhes deste requisito);
  • deve ter assignado um usuário com direitos de escrita na mesma.

Para atender estes requisitos, cria-se um usuário local nos dois servidores ARR com o mesmo nome de login e mesma senha, ou usa-se uma conta de domínio para atribuir as permissões no share. Também configura-se o “Caching” do compartilhamento conforme as figuras a seguir:

image003[47]   image004[47]

Passo 2: Exportação da configuração do IIS para a pasta compartilhada no servidor ARR-1.

image005 No servidor ARR1, utilizando a console de gerenciamento do IIS, deve ser exportada a configuração do IIS para a pasta compartilhada criada no passo 1. Antes de exportar a configuração é necessário certificar-se que o usuário criado possui permissões de escrita tanto no compartilhamento de rede quanto no sistema de arquivos NTFS. Se o mesmo não possuir permissões adequdas, uma mensagem de erro será exibida.

Passo 3: Configuração do Shared Configuration nos servidores ARR-1 e ARR-2

No servidor ARR-1, utilizando a console de gerenciamento do IIS, deve-se configurar o recurso de Shared Configuration. Para isso, utiliza-se o compartilhamento de rede criado no servidor próprio ARR‑1. Deve-se repetir os mesmos passos no servidor ARR-2. image006

Importante: Após configurar o recurso de Shared Configuration, as alterações de configuração realizadas em um dos servidores serão aplicadas a todos os membros do farm (no nosso caso, ARR-1 e ARR-2). Para instalar novos pacotes do IIS (por exemplo, suporte a ASP, ASP.NET ou outro qualquer), deve-se desabilitar o recurso de Shared Configuration dos dois servidores. Em seguida, o pacote deve ser instalado individualmente em cada servidor. Deve-se repetir os três passos descritos acima. A não observância deste procedimento poderá levar a inconsistências de configuração em um dos servidores do farm.

Referências adicionais:

https://learn.iis.net/page.aspx/264/shared-configuration/

A gente continua em breve.

Paulo.