Partilhar via


Configurar a recuperação após desastre para uma aplicação baseada em IIS de vários escalões

O software de aplicação é o motor da produtividade empresarial numa organização. Várias aplicações Web podem servir diferentes propósitos numa organização. Alguns aplicativos, como aplicativos usados para processamento de folha de pagamento, aplicativos financeiros e sites voltados para o cliente, podem ser críticos para uma organização. Para evitar a perda de produtividade, é importante que a organização tenha esses aplicativos continuamente em funcionamento. Mais importante ainda, ter essas aplicações disponíveis de forma consistente pode ajudar a evitar danos à marca ou imagem da organização.

Os aplicativos Web críticos geralmente são configurados como aplicativos de várias camadas: a Web, o banco de dados e o aplicativo estão em camadas diferentes. Além de estarem espalhados 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 ser baseados em endereços IP estáticos. No failover, alguns desses mapeamentos precisam ser atualizados, especialmente se vários sites estiverem configurados no servidor Web. Se os aplicativos Web usarem TLS, você deverá atualizar as associações de certificado.

Os métodos de recuperação tradicionais que não se baseiam na replicação envolvem o backup de vários arquivos de configuração, configurações do Registro, associações, componentes personalizados (COM ou .NET), conteúdo e certificados. Os ficheiros são recuperados através de um conjunto de passos manuais. Os métodos tradicionais de recuperação de backup e recuperação manual de arquivos são complicados, propensos a erros e não escaláveis. Por exemplo, você pode facilmente esquecer de fazer backup de certificados. Após o failover, você não tem escolha a não ser comprar novos certificados para o servidor.

Uma boa solução de recuperação de desastres oferece suporte à modelagem de planos de recuperação para arquiteturas de aplicativos complexos. Você também deve ser capaz de adicionar etapas personalizadas ao plano de recuperação para lidar com mapeamentos de aplicativos entre camadas. Se houver um desastre, os mapeamentos de aplicativos fornecem uma solução segura e com um único clique que ajuda a levar a um RTO mais baixo.

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 práticas recomendadas para replicar um aplicativo Web baseado em IIS de três camadas para o Azure, como fazer um drill de recuperação de desastres e como fazer failover do aplicativo para o Azure.

Pré-requisitos

Antes de começar, certifique-se de que sabe como realizar as seguintes tarefas:

Padrões de implantação

Um aplicativo Web baseado em IIS normalmente segue um dos seguintes padrões de implantação:

Padrão de implantação 1

Uma web farm baseada em IIS com ARR (Roteamento de Solicitação de Aplicativo), um servidor IIS e SQL Server.

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

Padrão de implantação 2

Uma web farm baseada em 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 obter 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, espera-se que as recomendações neste artigo se apliquem 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 ND Sim

Replicar máquinas virtuais

Para começar a replicar todas as máquinas virtuais da web farm do IIS para o Azure, siga as orientações em Testar failover para o Azure na Recuperação de Site.

Se você estiver usando um endereço IP estático, poderá especificar o endereço IP que deseja que a máquina virtual utilize. Para definir 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 oferece suporte ao sequenciamento de várias camadas em um aplicativo de várias camadas durante um failover. O sequenciamento ajuda a manter a consistência do aplicativo. Ao 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 a Recuperação de Site.

Adicionar máquinas virtuais a grupos de failover

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

  • Uma camada de banco de dados que tem máquinas virtuais 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 da camada de banco de dados no Grupo 1. Isso garante que as máquinas virtuais da camada de banco de dados sejam encerradas por último e exibidas primeiro.
  2. Adicione as máquinas virtuais da camada de aplicativo no Grupo 2. Isso garante que as máquinas virtuais da camada de aplicativo sejam exibidas após a exibição da camada de banco de dados.
  3. Adicione as máquinas virtuais da camada da Web no Grupo 3. Isso garante que as máquinas virtuais da camada da Web sejam exibidas após a camada de aplicativo ter sido criada.
  4. Adicione máquinas virtuais de balanceamento de carga no Grupo 4. Isso garante que as máquinas virtuais de balanceamento de carga sejam ativadas após a exibição da camada da Web.

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

Adicionar um script ao plano de recuperação

Para que a web farm do IIS funcione corretamente, talvez seja necessário fazer algumas operações nas máquinas virtuais do Azure após o failover ou durante um failover de teste. Você pode automatizar algumas operações pós-failover. Por exemplo, você pode atualizar a entrada DNS, alterar uma associação de 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 geralmente atualizam o DNS com o novo endereço IP quando são 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 de um aplicativo

A cadeia de conexão especifica o banco de dados com o qual o site se comunica. Se a cadeia de conexão carregar o nome da máquina virtual de banco de dados, nenhuma etapa adicional será necessária após o failover. O aplicativo pode se comunicar automaticamente com o banco de dados. Além disso, se o endereço IP da máquina virtual de banco de dados for mantido, não será necessário atualizar a cadeia de conexão.

Se a cadeia de conexão se referir à máquina virtual de banco de dados usando um endereço IP, ela precisará ser atualizada após o 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 da Web, adicione um script de atualização de conexão do IIS após o Grupo 3 no plano de recuperação.

Ligações de site para o aplicativo

Cada site consiste em informações vinculativas. As informações de associação incluem o tipo de ligação, o endereço IP no qual o servidor IIS escuta as solicitações para o site, o número da porta e os nomes de 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.

Nota

Se você definir a vinculação de site como Todos os não atribuídos, não será necessário atualizar essa vinculação pós-failover. Além disso, se o endereço IP associado a um site não for alterado após o failover, você não precisará atualizar a vinculação do site. (A retenção do endereço IP depende da arquitetura de rede e das sub-redes atribuídas aos locais primário e de recuperação. Atualizá-los 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 de site com o novo endereço IP. Para alterar as associações de site, adicione um script de atualização da camada da 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 ARR, para atualizar o endereço IP, adicione um script de failover ARR do IIS após o Grupo 4.

Vinculaçã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 também tiver uma associação de site HTTPS associada ao endereço IP do servidor IIS com uma associação de certificado TLS/SSL, você deverá adicionar uma nova associação de site para o 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 estes 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. Uma ligação TLS adicional para este certificado precisa ser criada. Por isso, recomendamos não usar um certificado TLS/SSL emitido contra o endereço IP. Esta opção é menos utilizada e em breve será preterida de acordo com as novas alterações no fórum da autoridade de certificação/navegador.

Atualizar a dependência entre a camada da 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, deverá atualizar essa dependência pós-failover.

Executar uma ativação pós-falha de teste

  1. No portal do Azure, selecione seu cofre dos Serviços de Recuperação.
  2. Selecione o plano de recuperação que você criou para a web farm do IIS.
  3. Selecione Ativação Pós-falha 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 ativo, você poderá executar validações.
  6. Quando as validações estiverem concluídas, para limpar o ambiente de failover de teste, selecione Validações concluídas.

Para obter mais informações, consulte Testar failover para o Azure no Site Recovery.

Executar uma ativação pós-falha

  1. No portal do Azure, selecione seu cofre dos Serviços de Recuperação.
  2. Selecione o plano de recuperação que você criou para a web farm do IIS.
  3. Selecione Ativação pós-falha.
  4. Para iniciar o processo de failover, selecione o ponto de recuperação.

Para obter mais informações, consulte Failover na recuperação de site.

Próximos passos