Criar um experimento de caos que usa uma falha direta de serviço para fazer failover de uma instância do Azure Cosmos DB

Você pode usar um experimento de caos para verificar se seu aplicativo é resiliente a falhas, causando essas falhas em um ambiente controlado. Neste artigo, você causa um failover do Azure Cosmos DB de leitura múltipla e gravação única usando um experimento de caos e o Azure Chaos Studio. A execução desta experiência pode ajudá-lo a defender-se contra a perda de dados quando ocorre um evento de failover.

Você pode usar essas mesmas etapas para configurar e executar um experimento para qualquer falha direta de serviço. Uma falha direta de serviço é executada diretamente em um recurso do Azure sem qualquer necessidade de instrumentação. Falhas baseadas em agente exigem a instalação do agente de caos.

Pré-requisitos

  • Uma subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
  • Uma conta do Azure Cosmos DB. Se você não tiver uma conta do Azure Cosmos DB, siga estas etapas para criar uma.
  • Pelo menos uma configuração de região de leitura e uma configuração de região de gravação para sua conta do Azure Cosmos DB.

Habilite o Chaos Studio em sua conta do Azure Cosmos DB

O Chaos Studio não pode injetar falhas em um recurso, a menos que esse recurso seja adicionado ao Chaos Studio primeiro. Você adiciona um recurso ao Chaos Studio criando um destino e recursos no recurso. As contas do Azure Cosmos DB têm apenas um tipo de destino (service-direct) e uma capacidade (failover). Outros recursos podem ter até dois tipos de destino. Um tipo de destino é para falhas diretas de serviço. Outro tipo de destino é para falhas baseadas em agente. Outros recursos podem ter muitos outros recursos.

  1. Abra o portal do Azure.

  2. Procure por Chaos Studio na barra de pesquisa.

  3. Selecione Destinos e vá para sua conta do Azure Cosmos DB.

    Screenshot that shows the Targets view in the Azure portal.

  4. Marque a caixa de seleção ao lado de sua conta do Azure Cosmos DB. Selecione Habilitar destinos e, em seguida, selecione Habilitar destinos diretos de serviço no menu suspenso.

    Screenshot that shows enabling targets in the Azure portal.

  5. Confirme se o recurso desejado está listado. Selecione Rever + Ativar e, em seguida, Ativar.

  6. É exibida uma notificação que indica que os recursos selecionados foram habilitados com êxito.

    Screenshot that shows a notification showing the target was successfully enabled.

Agora você adicionou com êxito sua conta do Azure Cosmos DB ao Chaos Studio. Na visualização Destinos, você também pode gerenciar os recursos habilitados neste recurso. Selecionar o link Gerenciar ações ao lado de um recurso exibe os recursos habilitados para esse recurso.

Criar uma experimentação

Agora você pode criar seu experimento. Um experimento de caos define as ações que você deseja tomar em relação aos recursos de destino. As ações são organizadas e executadas em etapas sequenciais. O experimento do caos também define as ações que você deseja tomar contra ramificações, que são executadas em paralelo.

  1. Selecione a guia Experimentos no Chaos Studio. Nesta visualização, você pode ver e gerenciar todos os seus experimentos de caos. Selecione Criar>novo experimento.

    Screenshot that shows the Experiments view in the Azure portal.

  2. Preencha a Assinatura, o Grupo de Recursos e o Local onde você deseja implantar o experimento de caos. Dê um nome ao seu experimento. Selecione Next: Experiment designer.

    Screenshot that shows adding basic experiment details.

  3. Agora você está no designer de experimentos do Chaos Studio. O designer de experimento permite que você construa seu experimento adicionando etapas, ramificações e falhas. Dê um nome amigável à sua Etapa e Ramificação e selecione Adicionar ação > Adicionar falha.

    Screenshot that shows the experiment designer.

  4. Selecione Failover do CosmosDB na lista suspensa. Preencha Duração com o número de minutos que você deseja que a falha dure e readRegion com a região de leitura da sua conta do Azure Cosmos DB. Selecione Next: Target resources.

    Screenshot that shows fault properties.

  5. Selecione sua conta do Azure Cosmos DB e selecione Avançar.

    Screenshot that shows adding a target.

  6. Verifique se a experiência está correta e selecione Rever + criar>Criar.

    Screenshot that shows reviewing and creating an experiment.

Dê permissão ao experimento para o recurso de destino

Quando você cria um experimento de caos, o Chaos Studio cria uma identidade gerenciada atribuída ao sistema que executa falhas contra seus recursos de destino. Essa identidade deve receber permissões apropriadas para o recurso de destino para que o experimento seja executado com êxito. Você pode usar essas etapas para qualquer recurso e tipo de destino modificando a atribuição de função na etapa 3 para corresponder à função apropriada para esse recurso e tipo de destino..

  1. Vá para sua conta do Azure Cosmos DB e selecione Controle de acesso (IAM).

    Screenshot that shows the Azure Cosmos DB Overview page.

  2. Selecione Adicionar>Adicionar atribuição de função.

    Screenshot that shows the Access control overview.

  3. Procure por Operador do Cosmos DB e selecione a função. Selecione Seguinte.

    Screenshot that shows assigning the Azure Cosmos DB Operator role.

  4. Escolha Selecionar membros e procure o nome do experimento. Selecione seu experimento e escolha Selecionar. Se houver vários experimentos no mesmo locatário com o mesmo nome, o nome do experimento será truncado com caracteres aleatórios adicionados.

    Screenshot that shows adding an experiment to a role.

  5. Selecione Rever + atribuir>Revisão + atribuir.

Execute a sua experiência

Agora você está pronto para executar seu experimento. Para ver o efeito, recomendamos que você abra a visão geral da conta do Azure Cosmos DB e vá para Replicar dados globalmente em uma guia separada do navegador. A atualização periódica durante o experimento mostra a troca de região.

  1. Na visualização Experimentos, selecione seu experimento. Selecione Iniciar >OK.
  2. Quando o Status mudar para Em execução, selecione Detalhes da execução mais recente em Histórico para ver os detalhes do experimento em execução.

Próximos passos

Agora que você executou um experimento direto de serviço do Azure Cosmos DB, está pronto para: