Migrar o Azure Cosmos DB para NoSQL para suporte à zona de disponibilidade
Este guia descreve como migrar o Azure Cosmos DB para NoSQL do suporte de zona de indisponibilidade para o suporte de disponibilidade.
O uso de zonas de disponibilidade no Azure Cosmos DB não tem impacto percetí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 expomos 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 seu banco de dados do Cosmos DB sem introduzir complexidades adicionais de aplicativos, afetar o desempenho ou até mesmo incorrer 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. As contas existentes sem zonas de disponibilidade não podem ser convertidas em uma configuração de zona de disponibilidade. Para cargas de trabalho de missão crítica, a taxa de transferência provisionada é a opção recomendada.
Entenda que habilitar zonas de disponibilidade não é uma escolha de 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 as zonas de disponibilidade e alguns pares regionais podem não ter suporte à zona de disponibilidade. Isso é importante, pois algumas regiões ainda não oferecem 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 faturamento também reflete essa possibilidade. Para obter mais informações sobre SLA para Cosmos DB, consulte Confiabilidade no Cosmos DB para NoSQL. Para ver quais regiões oferecem suporte a zonas de disponibilidade, consulte Regiões do Azure com suporte a zona 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 não é possível 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 as zonas de disponibilidade habilitadas. Para evitar qualquer interrupção do serviço, você adicionará e fará failover em uma região temporária até que a configuração da zona de disponibilidade seja concluída.
Siga os passos abaixo para ativar as zonas de disponibilidade da sua conta em regiões selecionadas.
Adicione uma região temporária à sua conta de banco de dados seguindo as etapas em Adicionar região à sua conta de banco de dados.
Se sua conta do Azure Cosmos DB estiver configurada com gravações em várias regiões, pule para a próxima etapa. Caso contrário, execute failover manual para a região temporária seguindo as etapas em Executar failover manual em uma conta do Azure Cosmos DB.
Remova a região para a qual você gostaria de habilitar as zonas de disponibilidade seguindo as etapas em Remover região para sua conta de banco de dados.
Adicione novamente a região a ser habilitada com zonas de disponibilidade:
- Adicione região à sua conta de banco de dados.
- Encontre a região recém-adicionada na coluna Região de gravação e habilite a zona de disponibilidade para essa região.
- Selecione Guardar.
Execute failback para a região habilitada para zona de disponibilidade seguindo as etapas em Executar failover manual em uma conta do Azure Cosmos DB.
Remova a região temporária seguindo as etapas em Remover região para sua conta de banco de dados.