Configurar a replicação geográfica ativa para instâncias do Enterprise Cache do Azure para Redis
Neste artigo, você aprenderá a configurar um cache ativo replicado geograficamente usando o portal do Azure.
A replicação geográfica ativa agrupa até cinco instâncias do Enterprise Cache do Azure para Redis em um único cache que abrange as regiões do Azure. Todas as instâncias atuam como os caches primários locais. Um aplicativo decide qual instância ou instâncias usar para solicitações de leitura e gravação.
Observação
A transferência de dados entre regiões do Azure é cobrada a taxas de largura de banda padrão.
Escopo de disponibilidade
Camada | Básico, Standard | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Disponível | Não | No | Sim |
A camada Premium do Cache do Azure para Redis oferece uma versão de replicação geográfica chamada replicação geográfica passiva. A replicação geográfica passiva fornece uma configuração ativo-passiva.
Pré-requisitos da replicação geográfica ativa
Existem algumas restrições ao usar a replicação geográfica ativa:
- Somente os módulos RediSearch e RedisJSON são suportados
- Na camada Enterprise Flash, somente a política de despejo Nenhuma Remoção pode ser utilizada. Todas as políticas de remoção são suportadas na camada Enterprise.
- A persistência de dados não é suportada porque a replicação geográfica ativa fornece uma experiência superior.
- Você não pode adicionar um cache existente (ou seja, em execução) em um grupo de replicação geográfica. Você só poderá adicionar um cache a um grupo de replicação geográfica ao criar o cache.
- Todos os caches em um grupo de replicação geográfica devem ter a mesma configuração. Por exemplo, todos os caches devem ter a mesma configuração de SKU, capacidade, política de remoção, política de clustering, módulos e TLS.
- Você não pode usar os comandos
FLUSHALL
eFLUSHDB
do Redis ao usar a replicação geográfica ativa. A proibição dos comandos impede a exclusão não intencional de dados. Use a operação de liberação do portal. - O SKU E1 não dá suporte a replicação geográfica ativa.
Criar ou ingressar em um grupo de replicação geográfica ativa
Ao criar um novo recurso de Cache do Azure para Redis, selecione a guia Avançado. Conclua a primeira parte do formulário, incluindo a política de clustering. Para saber como escolher a política de clustering, confira Clustering.
Selecione Configurar para configurar a Replicação geográfica ativa.
Crie um novo grupo de replicação para uma primeira instância de cache. Ou selecione um existente na lista.
Selecione Configurar para concluir.
Aguarde até que o primeiro cache seja criado com êxito. Quando concluído, você verá Configurado definido para Replicação geográfica ativa. Repita as etapas acima para cada instância de cache no grupo de replicação geográfica.
Remover de um grupo de replicação geográfica ativa
Para remover uma instância de cache de um grupo de replicação geográfica ativa, basta excluir a instância. Em seguida, as instâncias restantes se reconfiguram automaticamente.
Forçar-desvincular se houver uma interrupção de região
Caso um dos caches em seu grupo de replicação não esteja disponível devido à interrupção da região, você pode forçar a remoção do cache indisponível do grupo de replicação. Depois de aplicar Forçar-desvincular a um cache, você não poderá sincronizar nenhum dado gravado nesse cache de volta ao grupo de replicação após a desvinculação forçada.
Você deve remover o cache indisponível porque os caches restantes no grupo de replicação começam a armazenar os metadados que não foram compartilhados com o cache indisponível. Quando isso acontece, os caches disponíveis no grupo de replicação podem ficar sem memória.
Acesse o portal do Azure e selecione um dos caches no grupo de replicação que ainda está disponível.
Selecione para replicação geográfica ativa no menu de recursos à esquerda para ver as configurações no painel de trabalho.
Selecione o cache que você precisa forçar-desvincular marcando a caixa.
Selecione forçar desvinculação e OK para confirmar.
Depois que a disponibilidade da região afetada for restaurada, você precisará excluir o cache afetado e recriá-lo para adicioná-lo de volta ao grupo de replicação.
Configurar a replicação geográfica ativa usando a CLI do Azure ou o PowerShell
CLI do Azure
Use a CLI do Azure para criar um novo grupo de cache e replicação geográfica ou para adicionar um novo cache a um grupo de replicação geográfica existente. Para obter mais informações, confira az redisenterprise create.
Criar uma instância Enterprise em um novo grupo de replicação geográfica usando a CLI do Azure
Este exemplo cria uma instância de cache do Cache do Azure para Redis Enterprise E10 chamada Cache1 na região Leste dos EUA. Em seguida, o cache é adicionado a um novo grupo de replicação geográfica ativa chamado replicationGroup:
az redisenterprise create --location "East US" --cluster-name "Cache1" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"
Para configurar a replicação geográfica ativa corretamente, a ID da instância de cache que está sendo criada deve ser adicionada com o parâmetro --linked-databases
. A ID está no formato:
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
Criar uma instância Enterprise em um grupo de replicação geográfica existente usando a CLI do Azure
Esse exemplo cria uma nova instância de cache Enterprise E10 chamada Cache2 na região Oeste dos EUA. Em seguida, o script adiciona o cache ao grupo de replicação geográfica ativa replicationGroup
criado em um procedimento anterior. Dessa forma, ele é vinculado a uma configuração ativa-ativa com o Cache1.
az redisenterprise create --location "West US" --cluster-name "Cache2" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"
Como antes, você precisa listar o Cache1 e o Cache2 usando o parâmetro --linked-databases
.
Azure PowerShell
Use o Azure PowerShell para criar um cache e um grupo de replicação geográfica ou para adicionar um cache a um grupo de replicação geográfica existente. Para obter mais informações, confira New-AzRedisEnterpriseCache.
Criar uma instância Enterprise em um novo grupo de replicação geográfica usando o PowerShell
Este exemplo cria uma instância de cache do Cache do Azure para Redis Enterprise E10 chamada Cache1 na região Leste dos EUA. Em seguida, o cache é adicionado a um novo grupo de replicação geográfica ativa chamado replicationGroup:
New-AzRedisEnterpriseCache -Name "Cache1" -ResourceGroupName "myResourceGroup" -Location "East US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}'
Para configurar a replicação geográfica ativa corretamente, a ID da instância de cache que está sendo criada deve ser adicionada com o parâmetro -LinkedDatabase
. A ID está no formato:
/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default
Criar uma instância Enterprise em um grupo de replicação geográfica existente usando o PowerShell
Esse exemplo cria uma nova instância de cache Enterprise E10 chamada Cache2 na região Oeste dos EUA. Em seguida, o script adiciona o cache ao grupo de replicação geográfica ativa replicationGroup criado no procedimento anterior. Após a execução do comando, os dois caches, Cache1 e Cache2, são vinculados em uma configuração ativa-ativa.
New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'
Como antes, você precisa listar o Cache1 e o Cache2 usando o parâmetro -LinkedDatabase
.
Dimensionamento de instâncias em um grupo de replicação geográfica
É possível dimensionar instâncias configuradas para usar a replicação geográfica ativa. No entanto, um grupo de replicação geográfica com uma combinação de diferentes tamanhos de cache pode apresentar problemas. Para evitar que esses problemas ocorram, todos os caches em um grupo de replicação geográfica precisam ter o mesmo tamanho e capacidade.
Como é difícil dimensionar simultaneamente todas as instâncias no grupo de replicação geográfica, o Cache do Azure para Redis tem um mecanismo de bloqueio. Se você dimensionar uma instância em um grupo de replicação geográfica, a VM subjacente será dimensionada, mas a memória disponível será limitada ao tamanho original até que as outras instâncias também sejam ampliadas. Quaisquer outras operações de dimensionamento para as instâncias restantes são bloqueadas até corresponderem à mesma configuração que o primeiro cache a ser dimensionado.
Exemplo de dimensionamento
Por exemplo, você pode ter três instâncias em seu grupo de replicação geográfica, todas as instâncias do Enterprise E10:
Nome da Instância | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Tipo | Enterprise E10 | Enterprise E10 | Enterprise E10 |
Digamos que você queira escalar verticalmente cada instância neste grupo de replicação geográfica para uma instância do Enterprise E20. Primeiro, você dimensionaria um dos caches para um E20:
Nome da Instância | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Tipo | Enterprise E20 | Enterprise E10 | Enterprise E10 |
Neste ponto, as instâncias Redis01
e Redis02
só podem escalar verticalmente para uma instância do Enterprise E20. Todas as outras operações de dimensionamento são bloqueadas.
Observação
A instância Redis00
não está impedida de dimensionar ainda mais neste momento. Mas ele será bloqueado uma vez que Redis01
ou Redis02
for dimensionado para ser um Enterprise E20.
Depois que cada instância for dimensionada para a mesma camada e tamanho, todos os bloqueios de dimensionamento serão removidos:
Nome da Instância | Redis00 | Redis01 | Redis02 |
---|---|---|---|
Tipo | Enterprise E20 | Enterprise E20 | Enterprise E20 |
Operação de liberação
Devido ao potencial de perda inadvertida de dados, você não pode usar os comandos FLUSHALL
e FLUSHDB
do Redis com nenhuma instância de cache residente em um grupo de replicação geográfica. Em vez disso, use o botão Liberar Cache(s) localizado na parte superior do painel de trabalho Replicação geográfica ativa.
Liberar caches usando a CLI do Azure ou o PowerShell
A CLI do Azure e o PowerShell também podem ser usados para disparar uma operação de liberação. Para obter mais informações sobre como usar a CLI do Azure, consulte az redisenterprise database flush. Para obter mais informações sobre como usar o PowerShell, consulte Invoke-AzRedisEnterpriseCacheDatabaseFlush.
Importante
Tenha cuidado ao usar o recurso Liberar Caches. A seleção do botão remove todos os dados do cache atual e de TODOS os caches vinculados no grupo de replicação geográfica.
Gerencie o acesso ao recurso utilizando o Controle de acesso baseado em funções do Azure. Somente os usuários autorizados devem ter acesso para liberar todos os caches.
Próximas etapas
Saiba mais sobre os recursos do Cache do Azure para Redis.