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

Neste artigo, vai aprender a configurar uma cache georreplicada ativa com o portal do Azure.

A georreplicação ativa agrupa até cinco instâncias do Enterprise Cache do Azure para Redis numa única cache que se estende por regiões do Azure. Todas as instâncias atuam como caches primárias e locais. Uma aplicação decide que instâncias ou instâncias utilizar para pedidos de leitura e escrita.

Nota

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

Âmbito da disponibilidade

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

O escalão Premium do Cache do Azure para Redis oferece uma versão de georreplicação denominada georreplicação passiva. A georreplicação passiva fornece uma configuração ativa-passiva.

Pré-requisitos de georreplicação ativa

Existem algumas restrições ao utilizar a georreplicação ativa:

  • Apenas os módulos RediSearch e RedisJSON são suportados
  • No escalão Enterprise Flash , só pode ser utilizada a política de expulsão Sem Expulsão . Todas as políticas de expulsão são suportadas no escalão Enterprise .
  • A persistência de dados não é suportada porque a georreplicação ativa proporciona uma experiência superior.
  • Não pode adicionar uma cache existente (ou seja, em execução) a um grupo de georreplicação. Só pode adicionar uma cache a um grupo de georreplicação quando criar a cache.
  • Todas as caches num grupo de georreplicação têm de ter a mesma configuração. Por exemplo, todas as caches têm de ter o mesmo SKU, capacidade, política de expulsão, política de clustering, módulos e definição de TLS.
  • Não pode utilizar os FLUSHALL comandos e FLUSHDB Redis ao utilizar a georreplicação ativa. A proibição dos comandos impede a eliminação não intencional de dados. Em alternativa, utilize a operação do plano de controlo de remoção da cache.

Criar ou associar um grupo de georreplicação ativo

  1. Ao criar um novo recurso Cache do Azure para Redis, selecione o separador Avançadas. 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, veja Política de Clustering.

  2. Selecione Configurar para configurar a georreplicação ativa.

    Captura de ecrã do separador avançado da página Criar nova cache de Redis.

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

    Captura de ecrã a mostrar grupos de replicação.

  4. Selecione Configurar para concluir.

  5. Aguarde que a primeira cache seja criada com êxito. Quando terminar, verá Configurado definido para georreplicação ativa. Repita os passos acima para cada instância de cache no grupo de georreplicação.

    Captura de ecrã a mostrar a georreplicação ativa configurada.

Remover de um grupo de georreplicação ativo

Para remover uma instância de cache de um grupo de georreplicação ativo, basta eliminar a instância. Em seguida, as restantes instâncias reconfiguram-se automaticamente.

Caso uma das caches no grupo de replicação não esteja disponível devido a indisponibilidade da região, pode remover com força a cache indisponível do grupo de replicação.

Deve remover a cache indisponível porque as caches restantes no grupo de replicação começam a armazenar os metadados que não foram partilhados com a cache indisponível. Quando isto acontece, as caches disponíveis no grupo de replicação podem ficar sem memória.

  1. Aceda a portal do Azure e selecione uma das caches no grupo de replicação que ainda está disponível.

  2. Selecione para Georreplicação ativa no menu Recurso à esquerda para ver as definições no painel de trabalho.

    Captura de ecrã do grupo de georreplicação ativo.

  3. Selecione a cache de que precisa para forçar a desassociação ao selecionar a caixa.

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

    Captura de ecrã a mostrar a desassociação na georreplicação ativa.

  5. Assim que a disponibilidade da região afetada for restaurada, terá de eliminar a cache afetada e recriá-la para a adicionar novamente ao grupo de replicação.

Configurar a georreplicação ativa com a CLI do Azure ou o PowerShell

CLI do Azure

Utilize a CLI do Azure para criar um novo grupo de cache e georreplicação ou para adicionar uma nova cache a um grupo de georreplicação existente. Para obter mais informações, veja az redisenterprise create.

Criar uma nova instância enterprise num novo grupo de georreplicação com a CLI do Azure

Este exemplo cria um novo Cache do Azure para Redis instância de cache Enterprise E10 denominada Cache1 na região E.U.A. Leste. Em seguida, a cache é adicionada a um novo grupo de georreplicação 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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"

Para configurar corretamente a georreplicação ativa, o ID da instância de cache que está a ser criada tem de ser adicionado 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 uma nova instância enterprise num grupo de georreplicação existente com a CLI do Azure

Este exemplo cria uma nova instância de cache Enterprise E10 denominada Cache2 na região E.U.A. Oeste. Em seguida, o script adiciona a cache ao replicationGroup grupo de georreplicação ativo criar num procedimento anterior. Desta forma, está ligado numa configuração ativa-ativa com a 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"

Tal como anteriormente, tem de listar a Cache1 e a Cache2 com o --linked-databases parâmetro .

Azure PowerShell

Utilize Azure PowerShell para criar um novo grupo de cache e georreplicação ou para adicionar uma nova cache a um grupo de georreplicação existente. Para obter mais informações, veja New-AzRedisEnterpriseCache.

Criar uma nova instância enterprise num novo grupo de georreplicação com o PowerShell

Este exemplo cria um novo Cache do Azure para Redis instância de cache Enterprise E10 denominada Cache1 na região E.U.A. Leste. Em seguida, a cache é adicionada a um novo grupo de georreplicação ativo 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 corretamente a georreplicação ativa, o ID da instância de cache que está a ser criada tem de ser adicionado 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 uma nova instância enterprise num grupo de georreplicação existente com o PowerShell

Este exemplo cria uma nova instância de cache Enterprise E10 denominada Cache2 na região E.U.A. Oeste. Em seguida, o script adiciona a cache ao grupo de georreplicação ativo "replicationGroup" criado no procedimento anterior. liga as duas caches, Cache1 e Cache2, numa 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"}'

Tal como anteriormente, tem de listar a Cache1 e a Cache2 com o -LinkedDatabase parâmetro .

Operação de remoção da cache

Devido ao potencial de perda inadvertida de dados, não pode utilizar os FLUSHALL comandos e FLUSHDB Redis com qualquer instância de cache que resida num grupo de georreplicação. Em vez disso, utilize o botão (s) Cache(s) de Cache(s) descarregada na parte superior do painel de trabalho De georreplicação ativa.

Captura de ecrã a mostrar a georreplicação ativa selecionada no menu Recurso e a funcionalidade Cache de descarga tem uma caixa vermelha à volta da mesma.

Esvaziar caches com a CLI do Azure ou o PowerShell

A CLI do Azure e o PowerShell também podem ser utilizados para acionar uma operação de remoção de cache. Para obter mais informações sobre a utilização da CLI do Azure, veja az redisenterprise database flush (az redisenterprise database flush). Para obter mais informações sobre como utilizar o PowerShell, veja Invoke-AzRedisEnterpriseCacheDatabaseFlush.

Importante

Tenha cuidado ao utilizar a funcionalidade Caches de Descarga . Selecionar o botão remove todos os dados da cache atual e de TODAS as caches ligadas no grupo de georreplicação.

Gerir o acesso à funcionalidade com o controlo de acesso baseado em funções do Azure. Apenas os utilizadores autorizados devem ter acesso para esvaziar todas as caches.

Passos seguintes

Saiba mais sobre Cache do Azure para Redis funcionalidades.