Criar seu próprio plano de recuperação de desastre para tópicos e domínios da Grade de Eventos do Azure

Se você decidiu não replicar nenhum dado para uma região emparelhada, precisará investir em algumas práticas para criar seu próprio cenário de recuperação de desastre e se recuperar de uma perda severa de funcionalidade do aplicativo.

Criar scripts para automação

Ao manter seus pipelines de implantação automatizados, processos artesanais podem causar atrasos quando ocorre um failover. Verifique se todas as implantações do Azure têm backup em scripts ou modelos para que as implantações possam ser facilmente replicadas em uma ou várias regiões, se necessário. Não complique as coisas, use o que já foi comprovado e funciona. Existem muitas ferramentas de automação capazes de resolver problemas em torno da automação de implantação da nuvem, como o Azure DevOps ou o GitHub Actions, existem mais ferramentas por aí que podem ajudar durante a fase de implantação. Use aquela com a qual você se sente mais confortável para trabalhar e use esse guia de instruções somente como referência de lista de verificação.

Definir as regiões em seu plano

Para criar um plano de recuperação, você precisará escolher quais regiões serão usadas em seu plano. Quando você escolhe as regiões, também precisa considerar a possível latência entre os usuários e os recursos de nuvem. Tente obter a região mais próxima de sua região primária.

Selecionar um roteador entre regiões

Após definir as regiões, você precisará definir o roteador entre regiões que ajudará a distribuir o tráfego entre as regiões, se necessário. O Gerenciador de Tráfego é um balanceador de carga de tráfego baseado em DNS que permite distribuir o tráfego para seus aplicativos públicos voltados para as regiões globais do Azure. O Gerenciador de Tráfego também fornece aos seus pontos de extremidade públicos alta disponibilidade e capacidade de resposta rápida, caso precise de recursos adicionais, como redirecionamento entre regiões e disponibilidade, proxy reverso, cache de conteúdo estático, políticas de WAF que você possa estar interessado, confira o Front Door.

Implantar os recursos da Grade de Eventos do Azure

Agora é hora de criar seus recursos do tópico da Grade de Eventos do Azure, use o exemplo Bicep a seguir para criar um tópico com uma assinatura de evento webhook.

Repita o processo de implantação do tópico para a região secundária escolhida.

Observação: após implantar recursos no Azure, você precisará garantir que as alterações feitas na configuração do tópico e assinaturas de evento sejam refletidas no modelo, para continuar a prática: criar e recriar.

Salve em algum lugar as URLs de pontos de extremidade de tópico para cada recurso que você criou, você verá algo assim:

Região 1: https://my-primary-topic.my-region-1.eventgrid.azure.net/api/events

Região 2: https://my-secondary-topic.my-secondary-1.eventgrid.azure.net/api/events

Criar um Gerenciador de Tráfego para pontos de extremidade da Grade de Eventos do Azure

Os pontos de extremidade de recursos da Grade de Eventos do Azure criados anteriormente serão usados quando criarmos e configurarmos o perfil do Gerenciador de Tráfego no Azure, consulte o seguinte Início Rápido: criar um perfil do Gerenciador de Tráfego usando o portal do Azure para obter mais informações.

O Gerenciador de Tráfego é um recurso global que fornece um nome DNS exclusivo, como: https://myeventgridtopic.trafficmanager.net. Depois de configurar os dois pontos de extremidade de tópico da Grade de Eventos do Azure no Gerenciador de Tráfego, ele redirecionará automaticamente o tráfego para a segunda região quando a região primária ficar indisponível.

Neste momento, você tem seus recursos implantados e em execução e pode começar a enviar eventos para o ponto de extremidade do gerenciador de tráfego, caso não queira manter ativo o ponto de extremidade secundário em seu gerenciador de tráfego, talvez seja interessante desabilitar o ponto de extremidade.

Integrar scripts de implantação em seu processo de CI/CD

Agora que você verificou que sua configuração está funcionando conforme o esperado e seus eventos são entregues às regiões definidas, você precisará integrar seu modelo a uma ferramenta de automação, consulte Início Rápido: integrar o Bicep ao Azure Pipelines ou Início Rápido: implantar arquivos Bicep usando o GitHub Actions para obter mais informações.

Ter um processo automatizado testado regularmente fornecerá confiança de que as dependências usadas em seus scripts e ferramentas não estão desatualizadas, e o processo de recuperação pode ser disparado em alguns minutos após uma possível falha na região.

Próximas etapas