Migrar o Azure Cosmos DB para NoSQL para o suporte à zona de disponibilidade

Este guia descreve como migrar o Azure Cosmos DB para NoSQL da ausência de suporte à zona disponibilidade para o suporte à disponibilidade.

O uso de zonas de disponibilidade no Azure Cosmos DB não tem nenhum impacto perceptível no desempenho ou na latência. Ele não requer nenhum ajuste no modo de consistência selecionado e também não requer nenhuma modificação no código do aplicativo.

Quando as zonas de disponibilidade estão habilitadas, o Azure Cosmos DB distribui de forma inteligente as quatro réplicas de seus dados em todas as zonas disponíveis. Isso garante que, no caso de uma interrupção em uma zona de disponibilidade, a conta permaneça totalmente operacional. Por outro lado, sem zonas de disponibilidade, todas as réplicas estariam localizadas em uma única zona de disponibilidade (não exporemos qual), levando a um possível tempo de inatividade se essa zona específica tiver um problema.

Habilitar zonas de disponibilidade é uma ótima maneira de aumentar a resiliência do banco de dados do Cosmos DB sem introduzir complexidades adicionais do aplicativo, afetando o desempenho ou até mesmo incorrendo em custos adicionais, se o dimensionamento automático também for usado.

Pré-requisitos

  • Contas sem servidor podem usar zonas de disponibilidade, mas essa opção só está disponível durante a criação da conta. Contas existentes sem zonas de disponibilidade não podem ser convertidas em uma configuração de zona de disponibilidade. Para cargas de trabalho críticas de missão, a taxa de transferência provisionada é a opção recomendada.

  • Entenda que habilitar zonas de disponibilidade não é uma opção em toda a conta. Uma única conta do Cosmos DB pode abranger um número arbitrário de regiões do Azure, cada uma das quais pode ser configurada independentemente para aproveitar zonas de disponibilidade e alguns pares regionais podem não dar suporte à zona de disponibilidade. Isso é importante, pois algumas regiões ainda não dão suporte a zonas de disponibilidade, mas adicioná-las a uma conta do Cosmos DB não impedirá a habilitação de zonas de disponibilidade em outras regiões configuradas para essa conta. O modelo de cobrança também reflete essa possibilidade. Para obter mais informações sobre o SLA para Cosmos DB, consulte Confiabilidade no Cosmos DB para NoSQL. Para ver quais regiões dão suporte a zonas de disponibilidade, consulte Regiões do Azure com suporte para zonas de disponibilidade.

Requisitos de tempo de inatividade

Quando você migra para o suporte à zona de disponibilidade, uma pequena quantidade de indisponibilidade de gravação (alguns segundos) ocorre ao adicionar e remover a região secundária, pois o sistema interrompe deliberadamente as gravações para verificar a consistência entre as regiões.

Migração

Como você não pode habilitar zonas de disponibilidade em uma região que já foi adicionada à sua conta, você precisará remover essa região e adicioná-la novamente com zonas de disponibilidade habilitadas. Para evitar qualquer interrupção de serviço, você adicionará e fará failover a uma região temporária até que a configuração da zona de disponibilidade seja concluída.

Siga as etapas abaixo para habilitar zonas de disponibilidade para sua conta em regiões selecionadas.

  1. Adicione uma região temporária à sua conta de banco de dados seguindo as etapas em Adicionar região à sua conta do banco de dados.

  2. Se sua conta do Azure Cosmos DB estiver configurada com gravações de várias regiões, vá para a próxima etapa. Caso contrário, execute o failover manual para a região temporária seguindo as etapas em Executar failover manual em uma conta do Azure Cosmos DB.

  3. Remova a região para a qual você gostaria de habilitar zonas de disponibilidade seguindo as etapas em Remover região para sua conta de banco de dados.

  4. Adicione novamente a região a ser habilitada com zonas de disponibilidade:

    1. Adicione a região à sua conta de banco de dados.
    2. Localize a região recém-adicionada na coluna de Região de gravação e habilite a Zona de Disponibilidade para essa região.
    3. Selecione Salvar.
  5. Execute o failback para a região habilitada para zona de disponibilidade seguindo as etapas em Executar failover manual em uma conta do Azure Cosmos DB.

  6. Remova a região temporária seguindo as etapas em Remover região para sua conta do banco de dados.