Partilhar via


Configurar a georreplicação ativa para as instâncias da Cache do Azure para Redis Enterprise

Neste artigo, você aprenderá a configurar um cache replicado geograficamente ativo usando o portal do Azure.

A replicação geográfica ativa agrupa até cinco instâncias do Cache Redis do Enterprise Azure em um único cache que abrange todas as regiões do Azure. Todas as instâncias atuam como caches locais primários. Um aplicativo decide qual instância ou instâncias usar para solicitações de leitura e gravação.

Nota

A transferência de dados entre regiões do Azure é cobrada de acordo com taxas de largura de banda padrão.

Âmbito da disponibilidade

Escalão de serviço Básico, Standard Premium Empresa, Enterprise Flash
Disponível No No Sim

A camada Premium do Cache Redis do Azure 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 ativa-passiva.

Pré-requisitos de replicação geográfica ativa

Há 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, apenas a política de remoção sem remoção pode ser usada. 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 oferece uma experiência superior.
  • Não é possível adicionar um cache existente (ou seja, em execução) a um grupo de replicação geográfica. Você só pode adicionar um cache a um grupo de replicação geográfica ao criar o cache.
  • Todos os caches dentro de 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.
  • Não é possível usar os comandos e FLUSHDB Redis ao usar a FLUSHALL replicação geográfica ativa. Proibir os comandos impede a exclusão não intencional de dados. Em vez disso, utilize a operação de descarga a partir do portal.
  • O SKU E1 não suporta replicação geográfica ativa.

Criar ou aderir a um grupo de replicação geográfica ativo

  1. Ao criar um novo recurso do Cache do Azure para Redis, selecione a guia Avançado . Preencha 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 Clustering .

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

    Captura de tela da guia avançada de criar nova página de cache Redis.

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

    Captura de tela mostrando grupos de replicação.

  4. Selecione Configurar para concluir.

  5. Aguarde até que o primeiro cache seja criado com êxito. Quando terminar, 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.

    Captura de tela mostrando que a replicação geográfica ativa está configurada.

Remover de um grupo de replicação geográfica ativo

Para remover uma instância de cache de um grupo de replicação geográfica ativo, basta excluir a instância. Em seguida, as instâncias restantes se reconfiguram automaticamente.

Caso um dos caches do grupo de replicação esteja indisponível devido a uma interrupção da região, você poderá remover à força o cache indisponível do grupo de replicação. Depois de aplicar Forçar desvinculação a um cache, não é possível sincronizar os dados gravados nesse cache de volta ao grupo de replicação após forçar a desvinculaçã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. Vá para o portal do Azure e selecione um dos caches no grupo de replicação que ainda está disponível.

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

    Captura de ecrã do grupo de replicação geográfica ativo.

  3. Selecione o cache que você precisa forçar a desvinculação marcando a caixa.

  4. Selecione Forçar desvinculação e, em seguida, OK para confirmar.

    Captura de tela da desvinculação na replicação geográfica ativa.

  5. Depois que a disponibilidade da região afetada for restaurada, você precisará excluir o cache afetado e recriá-lo para adicioná-lo novamente ao seu 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, consulte az redisenterprise create.

Criar nova instância Enterprise em um novo grupo de replicação geográfica usando a CLI do Azure

Este exemplo cria uma nova instância de cache do Azure Cache for 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 ativo 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 --linked-databases parâmetro. O ID está no formato:

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Criar nova instância Enterprise em um grupo de replicação geográfica existente usando a CLI do Azure

Este 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 replicationGroup grupo de replicação geográfica ativo criado em um procedimento anterior. Dessa forma, ele é vinculado em 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 Cache1 e Cache2 usando o --linked-databases parâmetro.

Azure PowerShell

Use o Azure PowerShell 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, consulte New-AzRedisEnterpriseCache.

Criar nova instância Enterprise em um novo grupo de replicação geográfica usando o PowerShell

Este exemplo cria uma nova instância de cache do Azure Cache for 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 ativo 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 -LinkedDatabase parâmetro. O ID está no formato:

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Criar nova instância Enterprise em um grupo de replicação geográfica existente usando o PowerShell

Este 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 Cache1 e Cache2 usando o -LinkedDatabase parâmetro.

Dimensionamento de instâncias em um grupo de replicação geográfica

É possível dimensionar instâncias configuradas para usar 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 Redis do Azure 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 dimensionadas. Quaisquer outras operações de dimensionamento para as instâncias restantes são bloqueadas até que correspondam à mesma configuração do 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 instâncias Enterprise E10:

Nome da instância Redis00 Redis01 Redis02
Type Empresa E10 Empresa E10 Empresa E10

Digamos que você queira expandir cada instância desse grupo de replicação geográfica para uma instância do Enterprise E20. Primeiro, você dimensionaria um dos caches até um E20:

Nome da instância Redis00 Redis01 Redis02
Type Empresa E20 Empresa E10 Empresa E10

Neste ponto, as Redis01 instâncias e Redis02 só podem ser dimensionadas para uma instância do Enterprise E20. Todas as outras operações de dimensionamento são bloqueadas.

Nota

A Redis00 instância não está impedida de escalar ainda mais neste momento. Mas ele será bloqueado uma vez Redis01 ou Redis02 é dimensionado para ser um Enterprise E20.

Depois que cada instância é dimensionada para a mesma camada e tamanho, todos os bloqueios de dimensionamento são removidos:

Nome da instância Redis00 Redis01 Redis02
Type Empresa E20 Empresa E20 Empresa E20

Operação de descarga

Devido ao potencial de perda inadvertida de dados, não é possível usar os FLUSHALL comandos e FLUSHDB Redis com qualquer 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 de replicação geográfica ativa.

Captura de tela mostrando a replicação geográfica ativa selecionada no menu Recurso e o recurso Flush cache tem uma caixa vermelha ao redor.

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 Flush Caches . Selecionar o 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 usando o controle de acesso baseado em função do Azure. Somente usuários autorizados devem ter acesso para liberar todos os caches.

Próximos passos

Saiba mais sobre os recursos do Cache do Azure para Redis.