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 e FLUSHDB 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 do plano de controle de liberação em vez disso.

Criar ou ingressar em um grupo de replicação geográfica ativa

  1. 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 obter mais informações sobre como escolher a Política de clustering consulte Política de clustering.

  2. Selecione Configurar para configurar a Replicação geográfica ativa.

    Screenshot of advanced tab of create new Redis cache page.

  3. Crie um novo grupo de replicação para uma primeira instância de cache. Ou selecione um existente na lista.

    Screenshot showing replication groups.

  4. Selecione Configurar para concluir.

  5. 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.

    Screenshot showing active geo-replication is configured.

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.

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.

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.

  1. Acesse o portal do Azure e selecione um dos caches no grupo de replicação que ainda está disponível.

  2. Selecione para replicação geográfica ativa no menu de recursos à esquerda para ver as configurações no painel de trabalho.

    Screenshot of active geo-replication group.

  3. Selecione o cache que você precisa forçar-desvincular marcando a caixa.

  4. Selecione forçar desvinculação e OK para confirmar.

    Screenshot of unlinking in active geo-replication.

  5. 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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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. os links dos dois caches, Cache1 e Cache2 , em uma configuração ativa-ativa.

New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'

Como antes, você precisa listar o Cache1 e o Cache2 usando o parâmetro -LinkedDatabase.

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.

Screenshot showing Active geo-replication selected in the Resource menu and the Flush cache feature has a red box around it.

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.