Compartilhar via


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

  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 saber como escolher a política de clustering, confira Clustering.

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

    Captura de tela da guia avançado da página Criar 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 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.

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

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

  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.

    Captura de tela do grupo de replicação geográfica ativa.

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

  4. Selecione forçar desvinculação e 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 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.

A captura de tela mostrando a replicação geográfica ativa selecionada no menu de recursos e o recurso Liberar 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 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.