Compartilhar via


Configurar a recuperação de desastre para um aplicativo Web baseado em IIS de várias camadas

Software de aplicativo é o motor da produtividade comercial em uma organização. Vários aplicativos Web podem servir para propósitos diferentes em uma organização. Alguns aplicativos, como aplicativos usados para processamento da folha de pagamento, aplicativos financeiros e sites voltados ao cliente, podem ser críticos para uma organização. Para evitar perda de produtividade, é importante que a organização tenha esses aplicativos continuamente em execução. Mais importante ainda, ter esses aplicativos consistentemente disponíveis pode ajudar a prevenir danos à marca ou imagem da organização.

Aplicativos Web críticos normalmente são configurados como aplicativos de várias camadas: a Web, o banco de dados e o aplicativo estão em diferentes camadas. Além de espalharem-se por várias camadas, os aplicativos também podem usar vários servidores em cada camada para balancear a carga do tráfego. Além disso, os mapeamentos entre várias camadas e no servidor Web podem estar baseados em endereços IP estáticos. Em failover, alguns desses mapeamentos precisam ser atualizados, especialmente se vários sites estiverem configurados no servidor Web. Se os aplicativos Web usarem o TLS, você precisará atualizar as associações de certificado.

Métodos de recuperação tradicionais que não são baseados na replicação envolvem o backup de vários arquivos de configuração, configurações de registro, associações, componentes personalizados (COM ou .NET), conteúdo e certificados. Os arquivos são recuperados através de um conjunto de etapas manuais. Os métodos de recuperação tradicionais de backup e recuperação manual de arquivos são complicados, propensos a erros e não escaláveis. Por exemplo, é muito fácil esquecer de fazer backup de certificados. Após o failover, não haverá outra escolha senão comprar novos certificados para o servidor.

Uma boa solução de recuperação de desastres tem suporte para modelos de planos de recuperação para arquiteturas de aplicativo complexo. Além disso, é possível adicionar etapas personalizadas ao plano de recuperação para manipular mapeamentos de aplicativos entre camadas. Se houver um desastre, os mapeamentos de aplicativos fornecem uma solução de único clique segura que ajuda a conduzir um RTO inferior.

Este artigo descreve como proteger um aplicativo Web baseado no IIS (Serviços de Informações da Internet) usando o Azure Site Recovery. O artigo aborda as melhores práticas para replicação de um aplicativo Web baseado no IIS de três camadas para Azure, como fazer uma análise da recuperação de desastres e como fazer failover no aplicativo para Azure.

Pré-requisitos

Antes de começar, certifique-se de que você sabe fazer as tarefas a seguir:

Padrões de implantação

Um aplicativo Web baseado no IIS normalmente segue um destes padrões de implantação:

Padrão de implantação 1

Um web farm baseado no IIS com ARR (Application Request Routing), um servidor IIS e SQL Server.

Diagram of an IIS-based web farm that has three tiers

Padrão de implantação 2

Um web farm baseado no IIS com ARR, um servidor IIS, um servidor de aplicativos e SQL Server.

Diagram of an IIS-based web farm that has four tiers

Suporte do Site Recovery

Para os exemplos neste artigo, usamos máquinas virtuais VMware com o IIS 7.5 no Windows Server 2012 R2 Enterprise. Como a replicação do Site Recovery não é específica do aplicativo, as recomendações contidas neste artigo devem ser aplicadas nos cenários listados na tabela a seguir e para diferentes versões do IIS.

Origem e destino

Cenário Para um site secundário Para o Azure
Hyper-V Sim Sim
VMware Sim Sim
Servidor físico Não Sim
Azure NA Sim

Replicar máquinas virtuais

Para iniciar a replicação de todas as máquinas virtuais do web farm do IIS para Azure, siga as orientações em Failover de teste para Azure no Site Recovery.

Se você estiver usando um endereço IP estático, poderá especificar o endereço IP que você deseja que a máquina virtual use. Para configurar o endereço IP, vá para Configurações de rede>TARGET IP.

Screenshot that shows how to set the target IP in the Site Recovery Network pane

Criar um plano de recuperação

Um plano de recuperação dá suporte à sequência de várias camadas em um aplicativo de várias camadas durante um failover. O sequenciamento ajuda a manter a consistência do aplicativo. Quando você criar um plano de recuperação para um aplicativo Web de várias camadas, conclua as etapas descritas em Criar um plano de recuperação usando o Site Recovery.

Adicionar máquinas virtuais aos grupos de failover

Um aplicativo Web do IIS de várias camadas típico consiste nos componentes a seguir:

  • Uma camada de banco de dados que possui máquinas virtuais do SQL.
  • A camada da web, que consiste em um servidor IIS e uma camada de aplicativo.

Adicione máquinas virtuais a diferentes grupos com base na camada:

  1. Crie um plano de recuperação. Adicione as máquinas virtuais de camada de banco de dados no Grupo 1. Isso garante que as máquinas virtuais de camada de banco de dados sejam desligadas por último e acionadas primeiro.
  2. Adicione as máquinas virtuais de camada de aplicativo no Grupo 2. Isso garante que as máquinas virtuais de camada de aplicativo sejam acionadas após o acionamento da camada de banco de dados.
  3. Adicione as máquinas virtuais de camada Web no Grupo 3. Isso garante que as máquinas virtuais de camada Web sejam acionadas após o acionamento da camada de aplicativo.
  4. Adicione máquinas virtuais de balanceamento de carga no Grupo 4. Isso garante que as máquinas virtuais de balanceamento de carga sejam acionadas após o acionamento da camada Web.

Para obter mais informações, consulte Personalizar o plano de recuperação.

Adicionar um script ao plano de recuperação

Para que o web farm do IIS funcione corretamente, será necessário fazer algumas operações nas máquinas virtuais do Azure pós-failover ou durante um failover de teste. É possível automatizar algumas operações pós-failover. Por exemplo, você pode atualizar a entrada DNS, alterar uma associação do site ou alterar uma cadeia de conexão, adicionando scripts correspondentes ao plano de recuperação. Adicionar um script do VMM a um plano de recuperação descreve como configurar tarefas automatizadas usando um script.

Atualização de DNS

Se o DNS estiver configurado para atualização dinâmica de DNS, as máquinas virtuais normalmente atualizarão o DNS com o novo endereço IP quando forem iniciadas. Se você quiser adicionar uma etapa explícita para atualizar o DNS com os novos endereços IP das máquinas virtuais, adicione um script para atualizar o IP no DNS como uma ação pós-failover em grupos de planos de recuperação.

Cadeia de conexão no web.config do aplicativo

A cadeia de conexão especifica o banco de dados com o qual o site comunica-se. Se a cadeia de conexão mantiver o nome da máquina virtual do banco de dados, não serão necessárias etapas adicionais pós-failover. O aplicativo poderá comunicar-se automaticamente com o banco de dados. Além disso, se o endereço IP da máquina virtual do banco de dados for mantido, não será necessário atualizar a cadeia de conexão.

Se a cadeia de conexão referir-se à máquina virtual do banco de dados usando um endereço IP, será necessário atualizá-la pós-failover. Por exemplo, a seguinte cadeia de conexão aponta para o banco de dados com o endereço IP 127.0.1.2:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="ConnStringDb1" connectionString="Data Source= 127.0.1.2\SqlExpress; Initial Catalog=TestDB1;Integrated Security=False;" />
</connectionStrings>
</configuration>

Para atualizar a cadeia de conexão na camada Web, adicione um script de atualização de conexão do IIS após o Grupo 3 no plano de recuperação.

Associações de site para o aplicativo

Cada site consiste em informações de associação. As informações de associação incluem o tipo de associação, o endereço IP no qual o servidor IIS escuta as solicitações do site, o número da porta e os nomes do host para o site. Durante o failover, talvez seja necessário atualizar essas associações se houver uma alteração no endereço IP associado a elas.

Observação

Se você definir a associação do site para Não atribuídas, não será necessário atualizar essa associação pós-failover. Além disso, se o endereço IP associado a um site não for alterado pós-failover, não será necessário atualizar a associação do site. (A retenção do endereço IP depende da arquitetura da rede e das sub-redes atribuídas aos sites primário e de recuperação. A atualização deles pode não ser viável para sua organização.)

Screenshot that shows setting the TLS/SSL binding

Se você associou o endereço IP a um site, atualize todas as associações do site com o novo endereço IP. Para alterar as associações do site, adicione um script de atualização da camada Web do IIS após o Grupo 3 no plano de recuperação.

Atualizar o endereço IP do balanceador de carga

Se você tiver uma máquina virtual de ARR, para atualizar o endereço IP adicione um script de failover de ARR do IIS após o Grupo 4.

Associação de certificado TLS/SSL para uma conexão HTTPS

Um site pode ter um certificado TLS/SSL associado que ajuda a garantir uma comunicação segura entre o servidor Web e o navegador do usuário. Se o site tiver uma conexão HTTPS e tiver uma associação de site HTTPS associada ao endereço IP do servidor IIS com uma associação de certificado TLS/SSL, você precisará adicionar uma nova associação de site ao certificado com o endereço IP da máquina virtual do IIS após o failover.

O certificado TLS/SSL pode ser emitido em relação a esses componentes:

  • O nome de domínio totalmente qualificado do site.
  • O nome do servidor.
  • Um certificado curinga para o nome de domínio.
  • Um endereço IP. Se o certificado TLS/SSL for emitido em relação ao endereço IP do servidor IIS, outro certificado TLS/SSL precisará ser emitido em relação ao endereço IP do servidor IIS no site do Azure. É necessário criar uma associação TLS adicional para esse certificado. Por isso, não recomendamos usar um certificado TLS/SSL emitido em relação ao endereço IP. Essa opção é menos utilizada, e em breve será preterida de acordo com as novas alterações de fórum do navegador/autoridade de certificação.

Atualizar a dependência entre a camada Web e a camada de aplicativo

Se você tiver uma dependência específica do aplicativo baseada no endereço IP das máquinas virtuais, será necessário atualizar essa dependência pós-failover.

Execute um teste de failover

  1. No Portal do Azure, selecione seu cofre de Serviços de Recuperação.
  2. Selecione o plano de recuperação que você criou para o web farm do IIS.
  3. Selecione Failover de Teste.
  4. Para iniciar o processo de failover de teste, selecione o ponto de recuperação e a rede virtual do Azure.
  5. Quando o ambiente secundário estiver ativado, você poderá realizar validações.
  6. Quando as validações forem concluídas, para limpar o ambiente de failover de teste, selecione Validações concluídas.

Para obter mais informações, consulte Failover de teste para Azure no Site Recovery .

Executar um failover

  1. No Portal do Azure, selecione seu cofre de Serviços de Recuperação.
  2. Selecione o plano de recuperação que você criou para o web farm do IIS.
  3. Selecione Failover.
  4. Para iniciar o processo de failover, selecione o ponto de recuperação.

Para obter mais informações, consulte Failover no Site Recovery.

Próximas etapas