Partilhar via


Configurar a persistência de dados para uma instância do Cache do Azure para Redis

A persistência do Redis permite-lhe manter os dados armazenados instância de cache. Se existir uma falha de hardware, a instância de cache é reidratada com dados do ficheiro de persistência quando voltar a ficar online. A capacidade de persistir os dados é uma forma importante de aumentar a durabilidade de uma instância de cache uma vez que todos os dados da cache são armazenados na memória. A perda de dados será possível se ocorrer quando os nós da cache ficam inativos. A persistência deve ser uma parte fundamental da sua estratégia de alta disponibilidade e recuperação de desastres com o Cache do Azure para Redis.

Aviso

Se você estiver usando persistência no nível Premium, verifique se sua conta de armazenamento tem a exclusão suave habilitada antes de usar o recurso de persistência de dados. A utilização da persistência de dados com a eliminação recuperável origina custos de armazenamento muito elevados. Para obter mais informações, consulte Devo ativar a exclusão suave?.

Aviso

A opção sempre gravar para persistência AOF nas camadas Enterprise e Enterprise Flash está definida para ser desativada em 1º de abril de 2025. Esta opção tem limitações de desempenho significativas não é mais recomendada. Em vez disso, recomenda-se usar a opção de gravação a cada segundo ou a persistência RDB.

Âmbito da disponibilidade

Escalão de serviço Básico, Standard Premium Empresa, Enterprise Flash
Disponível Não Sim Sim (pré-visualização)

Tipos de persistência de dados no Redis

Você tem duas opções para persistência com o Cache do Azure para Redis: o formato de banco de dados Redis (RDB) e o formato Append only File (AOF):

  • Persistência RDB - Quando você usa a persistência RDB, o Cache Redis do Azure persiste um instantâneo do cache em um formato binário. O instantâneo é salvo em uma conta de Armazenamento do Azure. A frequência de backup configurável determina a frequência com que o snapshot deve ser persistido. Se ocorrer um evento catastrófico que desative o cache primário e de réplica, o cache será reconstruído automaticamente usando o instantâneo mais recente. Saiba mais sobre as vantagens e desvantagens da persistência do RDB.
  • Persistência AOF - Quando você usa a persistência AOF, o Cache Redis do Azure salva todas as operações de gravação em um log. O log é salvo pelo menos uma vez por segundo em uma conta de Armazenamento do Azure. Se ocorrer um evento catastrófico que desative as caches principal e de réplica, a cache é reconstruída automaticamente utilizando as operações de escrita armazenadas. Saiba mais sobre as vantagens e desvantagens da persistência do AOF.

Os recursos de persistência do Cache do Azure para Redis destinam-se a ser usados para restaurar dados automaticamente para o mesmo cache após a perda de dados. Os arquivos de dados persistentes RDB/AOF não podem ser importados para um novo cache ou para o cache existente. Para mover dados entre caches, utilize a funcionalidade Importar e Exportar. Para obter mais informações, consulte Importar e exportar dados no Cache do Azure para Redis.

Para gerar backups de dados que podem ser adicionados a um novo cache, você pode escrever scripts automatizados usando o PowerShell ou a CLI que exportam dados periodicamente.

Pré-requisitos e limitações

As funcionalidades de persistência destinam-se a ser utilizadas para restaurar dados na mesma cache após a perda de dados.

  • Os ficheiros de dados persistentes RDB/AOF não podem ser importados para uma nova cache nem para a cache existente. Em vez disso, utilize a funcionalidade Importar/Exportar.
  • Não há suporte para persistência em caches que usam replicação geográfica passiva ou replicação geográfica ativa.
  • Na camada Premium, a persistência do AOF não é suportada com várias réplicas.
  • Na camada Premium, os dados devem ser mantidos em uma conta de armazenamento na mesma região da instância de cache.
  • No nível Premium, as contas de armazenamento em assinaturas diferentes podem ser usadas para manter os dados se a identidade gerenciada for usada para se conectar à conta de armazenamento.

Diferenças entre a persistência nos níveis Premium e Enterprise

Na camada Premium, os dados são mantidos diretamente em uma conta de Armazenamento do Azure que você possui e gerencia. O Armazenamento do Azure criptografa automaticamente os dados quando eles persistem, mas você também pode usar suas próprias chaves para a criptografia. Para obter mais informações, consulte Chaves gerenciadas pelo cliente para criptografia de Armazenamento do Azure.

Aviso

Se você estiver usando persistência no nível Premium, verifique se sua conta de armazenamento tem a exclusão suave habilitada antes de usar o recurso de persistência de dados. A utilização da persistência de dados com a eliminação recuperável origina custos de armazenamento muito elevados. Para obter mais informações, consulte Devo ativar a exclusão suave?.

Nas camadas Enterprise e Enterprise Flash, os dados são mantidos em um disco gerenciado conectado diretamente à instância de cache. O local não é configurável nem acessível ao usuário. O uso de um disco gerenciado aumenta o desempenho da persistência. O disco é criptografado usando chaves gerenciadas da Microsoft (MMK) por padrão, mas as chaves gerenciadas pelo cliente (CMK) também podem ser usadas. Para obter mais informações, consulte gerir a encriptação de dados.

Como configurar a persistência de dados usando o portal do Azure

  1. Para criar um cache Premium, entre no portal do Azure e selecione Criar um recurso. Você pode criar caches no portal do Azure. Você também pode criá-los usando modelos do Gerenciador de Recursos, PowerShell ou CLI do Azure.

    Captura de tela que mostra um formulário para criar um recurso do Cache do Azure para Redis.

  2. Na página Criar um recurso, selecione Bancos de Dados e, em seguida, selecione Cache do Azure para Redis.

    Captura de tela mostrando o Cache Redis do Azure selecionado como um novo tipo de banco de dados.

  3. Na página Novo Cache Redis, defina as configurações para seu novo cache premium.

    Definição Valor sugerido Description
    Nome DNS Introduza um nome globalmente exclusivo. O nome do cache deve ser uma cadeia de caracteres entre 1 e 63 caracteres que contenha apenas números, letras ou hífenes. O nome deve começar e terminar com um número ou letra e não pode conter hífenes consecutivos. O nome do host para sua instância de cache é \<DNS name>.redis.cache.windows.net.
    Subscrição Drop-down e selecione sua assinatura. A assinatura sob a qual criar essa nova instância do Cache do Azure para Redis.
    Grupo de recursos Faça uma lista suspensa e selecione um grupo de recursos ou selecione Criar novo e insira um novo nome de grupo de recursos. Nome do grupo de recursos no qual criar o cache e outros recursos. Ao colocar todos os recursos do seu aplicativo em um grupo de recursos, você pode facilmente gerenciá-los ou excluí-los juntos.
    Location Drop-down e selecione um local. Selecione uma região perto de outros serviços que usam seu cache.
    Tipo de cache Drop-down e selecione um cache premium para configurar recursos premium. Para obter detalhes, consulte Preços do Cache do Azure para Redis. O escalão de preço determina o tamanho, o desempenho e as funcionalidades que estão disponíveis para a cache. Para obter mais informações, consulte Visão geral do Cache do Azure para Redis.
  4. Selecione a guia Rede ou selecione o botão Rede na parte inferior da página.

  5. Na guia Rede, selecione seu método de conectividade. Para instâncias de cache premium, você se conecta publicamente, por meio de endereços IP públicos ou pontos de extremidade de serviço. Você se conecta de forma privada usando um ponto de extremidade privado.

  6. Selecione a guia Avançar: Avançado ou selecione o botão Avançar: Avançado na parte inferior da página.

  7. Na guia Avançado para uma instância de cache premium, defina as configurações para porta não-TLS, clustering e persistência de dados. Para persistência de dados, você pode escolher persistência RDB ou AOF .

  8. Para habilitar a persistência RDB, selecione RDB e defina as configurações.

    Definição Valor sugerido Description
    Método de Autenticação Drop-down e selecione um método de autenticação. As opções são Identidade Gerenciada ou Chave de Armazenamento Escolha o seu método de autenticação preferido. O uso da identidade gerenciada permite que você use uma conta de armazenamento em uma assinatura diferente daquela em que o cache está localizado.
    Subscrição Drop-down e selecione uma assinatura. Você pode escolher uma conta de armazenamento em uma assinatura diferente se estiver usando a identidade gerenciada como método de autenticação.
    Frequência de backup Drop-down e selecione um intervalo de backup. As opções incluem 15 minutos, 30 minutos, 60 minutos, 6 horas, 12 horas e 24 horas. Esse intervalo começa a contagem regressiva após a conclusão bem-sucedida da operação de backup anterior. Quando ele expira, um novo backup é iniciado.
    Conta de Armazenamento Drop-down e selecione sua conta de armazenamento. Escolha uma conta de armazenamento na mesma região e assinatura do cache. Uma conta de Armazenamento Premium é recomendada porque tem uma taxa de transferência mais alta. Além disso, é altamente recomendável que você desative o recurso de exclusão suave na conta de armazenamento, pois isso leva ao aumento dos custos de armazenamento. Para obter mais informações, consulte Preço e cobrança.
    Chave de armazenamento Faça uma lista suspensa e escolha a chave primária ou a chave secundária a ser usada. Se a chave de armazenamento da sua conta de persistência for regenerada, você deverá reconfigurá-la na lista suspensa Chave de armazenamento.

    O primeiro backup é iniciado assim que o intervalo de frequência de backup expira.

    Nota

    Quando os arquivos RDB são copiados para armazenamento, eles são armazenados na forma de blobs de página. Se você estiver usando uma conta de armazenamento com HNS habilitado, a persistência tenderá a falhar porque blobs de página não são suportados em contas de armazenamento com HNS habilitado (ADLS Gen2).

  9. Para habilitar a persistência do AOF, selecione AOF e defina as configurações.

    Definição Valor sugerido Description
    Método de Autenticação Drop-down e selecione um método de autenticação. As opções são Identidade Gerenciada ou Chave de Armazenamento Escolha o seu método de autenticação preferido. O uso da identidade gerenciada permite que você use uma conta de armazenamento em uma assinatura diferente daquela em que o cache está localizado.
    Subscrição Drop-down e selecione uma assinatura. Você pode escolher uma conta de armazenamento em uma assinatura diferente se estiver usando a identidade gerenciada como método de autenticação.
    Primeira conta de armazenamento Drop-down e selecione sua conta de armazenamento. Escolha uma conta de armazenamento na mesma região e assinatura do cache. Uma conta de Armazenamento Premium é recomendada porque tem uma taxa de transferência mais alta. Além disso, é altamente recomendável que você desative o recurso de exclusão suave na conta de armazenamento, pois isso leva ao aumento dos custos de armazenamento. Para obter mais informações, consulte Preço e cobrança.
    Primeira chave de armazenamento Faça uma lista suspensa e escolha a chave primária ou a chave secundária a ser usada. Se a chave de armazenamento da sua conta de persistência for regenerada, você deverá reconfigurá-la na lista suspensa Chave de armazenamento.
    Segunda conta de armazenamento (Opcional) Drop-down e selecione sua conta de armazenamento secundário. Opcionalmente, você pode configurar outra conta de armazenamento. Se uma segunda conta de armazenamento for configurada, as gravações no cache de réplica serão gravadas nessa segunda conta de armazenamento.
    Segunda chave de armazenamento (Opcional) Faça uma lista suspensa e escolha a chave primária ou a chave secundária a ser usada. Se a chave de armazenamento da sua conta de persistência for regenerada, você deverá reconfigurá-la na lista suspensa Chave de armazenamento.

    Com a persistência AOF habilitada, as operações de gravação no cache são salvas na conta de armazenamento nomeada (ou contas, se você tiver configurado uma segunda conta de armazenamento). Se houver uma falha catastrófica que derrube o cache primário e de réplica, o log AOF armazenado será usado para reconstruir o cache.

  10. Selecione a guia Next: Tags ou selecione o botão Next: Tags na parte inferior da página.

  11. Opcionalmente, na guia Marcas , insira o nome e o valor se desejar categorizar o recurso.

  12. Selecione Rever + criar. Você é levado para a guia Revisão + criação, onde o Azure valida sua configuração.

  13. Depois que a mensagem verde Validação passada for exibida, selecione Criar.

Demora um pouco para o cache ser criado. Você pode monitorar o progresso na página Visão geral do Cache do Azure para Redis. Quando Status é exibido como Em execução, o cache está pronto para uso.

Como configurar a persistência de dados usando o PowerShell e a CLI do Azure

O comando New-AzRedisCache pode ser usado para criar um novo cache de camada Premium usando persistência de dados. Veja exemplos de persistência RDB e persistência AOF

Os caches existentes podem ser atualizados usando o comando Set-AzRedisCache . Veja exemplos de adição de persistência a um cache existente.

O comando az redis create pode ser usado para criar um novo cache de camada Premium usando persistência de dados. Por exemplo:

az redis create --location westus2 --name MyRedisCache --resource-group MyResourceGroup --sku Premium --vm-size p1 --redis-configuration @"config_rdb.json"

Os caches existentes podem ser atualizados usando o comando az redis update . Por exemplo:

az redis update --name MyRedisCache --resource-group MyResourceGroup --set "redisConfiguration.rdb-storage-connection-string"="BlobEndpoint=https//..." "redisConfiguration.rdb-backup-enabled"="true" "redisConfiguration.rdb-backup-frequency"="15" "redisConfiguration.rdb-backup-max-snapshot-count"="1"

Gerenciando a criptografia de dados

Como a persistência do Redis cria dados em repouso, criptografar esses dados é uma preocupação importante para muitos usuários. As opções de criptografia variam de acordo com a camada do Cache Redis do Azure que está sendo usada.

Com a camada Premium, os dados são transmitidos diretamente da instância de cache para o Armazenamento do Azure quando a persistência é iniciada. Vários métodos de criptografia podem ser usados com o Armazenamento do Azure, incluindo chaves gerenciadas pela Microsoft, chaves gerenciadas pelo cliente e chaves fornecidas pelo cliente. Para obter informações sobre métodos de criptografia, consulte Criptografia do Armazenamento do Azure para dados em repouso.

Com as camadas Enterprise e Enterprise Flash, os dados são armazenados em um disco gerenciado montado na instância de cache. Por padrão, o disco que contém os dados de persistência e o disco do sistema operacional são criptografados usando chaves gerenciadas pela Microsoft. Uma chave gerenciada pelo cliente (CMK) também pode ser usada para controlar a criptografia de dados. Consulte Criptografia em caches de camada Enterprise para obter instruções.

FAQ sobre a Persistência

A lista a seguir contém respostas para perguntas frequentes sobre a persistência do Cache Redis do Azure.

Persistência do RDB

Persistência do AOF

Posso ativar a persistência numa cache criada anteriormente?

Sim, a persistência pode ser configurada tanto na criação de cache quanto em caches Premium, Enterprise ou Enterprise Flash existentes.

Posso ativar a persistência do AOF e RDB ao mesmo tempo?

Não, pode ativar o RDB ou o AOF, mas não os dois ao mesmo tempo.

Como é que a persistência funciona com a georreplicação?

Se ativar a persistência de dados, a georreplicação não pode ser ativada para a a sua cache.

Que modelo de persistência devo escolher?

A persistência AOF salva cada gravação em um log, o que tem um efeito significativo na taxa de transferência. Comparado AOF com persistência RDB, que salva backups com base no intervalo de backup configurado com efeito mínimo no desempenho. Escolha a persistência do AOF se o seu objetivo principal for minimizar a perda de dados e se conseguir suportar uma transferência inferior para a cache. Escolha a persistência do RDB se pretender manter uma transferência ideal na cache, mas ainda assim pretender um mecanismo de recuperação de dados.

Para obter mais informações sobre o desempenho ao utilizar a persistência do AOF, consulte A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho da minha cache?

A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho da minha cache?

A persistência do AOF afeta a taxa de transferência. O AOF é executado no processo primário e de réplica, portanto, você vê uma CPU e uma carga de servidor mais altas para um cache com persistência AOF do que um cache idêntico sem persistência AOF. O AOF oferece a melhor consistência com os dados em memória porque cada escrita e eliminação é persistida com apenas alguns segundos de atraso. A contrapartida é o facto de o AOF ser mais intensivo em termos de computação.

Desde que a CPU e a Carga do Servidor sejam inferiores a 90%, há uma penalidade na taxa de transferência, mas o cache funciona normalmente, caso contrário. Acima de 90% da CPU e da carga do servidor, a penalidade de taxa de transferência pode ficar muito maior e a latência de todos os comandos processados pelo cache aumenta. A latência aumenta porque a persistência do AOF é executada no processo primário e na réplica, aumentando a carga no nó em uso e colocando a persistência no caminho crítico dos dados.

O que acontece se tiver dimensionado para um tamanho diferente e for restaurada uma cópia de segurança realizada antes da operação de dimensionamento?

Para a persistência do RDB e AOF:

Posso usar a mesma conta de armazenamento para persistência em dois caches diferentes?

Não, você deve usar contas de armazenamento diferentes para caches diferentes. Cada cache deve ter sua própria conta de armazenamento para configurar para persistência.

Importante

Use contas de armazenamento separadas para persistência e execute operações de exportação periódicas em um cache.

Serei cobrado pelo armazenamento que está sendo usado na persistência de dados?

  • Para caches Premium , você é cobrado pelo armazenamento que está sendo usado de acordo com o modelo de preços da conta de armazenamento que está sendo usada.
  • Para caches Enterprise e Enterprise Flash , você não é cobrado pelo armazenamento em disco gerenciado. Está incluído no preço.

Com que frequência a persistência RDB e AOF grava em meus blobs e devo habilitar a exclusão suave?

Recomendamos que você evite habilitar a exclusão suave em contas de armazenamento quando usado com o Cache do Azure para persistência de dados Redis com a camada Premium. A persistência RDB e AOF pode gravar em seus blobs a cada hora, a cada poucos minutos ou a cada segundo. Além disso, habilitar a exclusão suave em uma conta de armazenamento significa que o Cache Redis do Azure não pode minimizar os custos de armazenamento excluindo os dados de backup antigos.

A exclusão suave rapidamente se torna cara com os tamanhos de dados típicos de um cache que também executa operações de gravação a cada segundo. Para obter mais informações sobre custos de exclusão suave, consulte Preços e cobrança.

Posso alterar a frequência da cópia de segurança do RDB depois de criar a cache?

Sim, pode alterar a frequência de cópia de segurança para a persistência do RDB utilizando o portal do Azure, a CLI ou o PowerShell.

Porque é que existe um intervalo de mais de 60 minutos entre as cópias de segurança quando tenho uma frequência de cópia de segurança do RDB de 60 minutos?

O intervalo de frequência de cópia de segurança da persistência do RDB não é iniciado até que o processo de cópia de segurança anterior tenha sido concluído com êxito. Se a frequência de cópia de segurança for de 60 minutos e um processo de cópia de segurança demorar 15 minutos a ser concluído, a próxima cópia de segurança não será iniciada até 75 minutos após a hora de início da cópia de segurança anterior.

O que acontece às cópias de segurança antigas do RDB quando é realizada uma nova cópia de segurança?

Todas as cópias de segurança da persistência do RDB, exceto a mais recente, são eliminadas automaticamente. Esta eliminação pode não ocorrer imediatamente, mas as cópias de segurança mais antigas não são mantidas indefinidamente. Se você estiver usando a camada Premium para persistência e a exclusão suave estiver ativada para sua conta de armazenamento, a configuração de exclusão suave será aplicada e os backups existentes continuarão a residir no estado de exclusão suave.

Quando devo usar uma segunda conta de armazenamento?

Use uma segunda conta de armazenamento para persistência do AOF quando achar que tem operações de conjunto acima do esperado no cache. Configurar a conta de armazenamento secundário ajuda a garantir que o cache não atinja os limites de largura de banda de armazenamento. Esta opção só está disponível para caches de nível Premium.

Como posso remover a segunda conta de armazenamento?

Você pode remover a conta de armazenamento secundário de persistência AOF definindo a segunda conta de armazenamento como igual à primeira conta de armazenamento. Para caches existentes, acesse a persistência de dados no menu Recurso do cache. Para desativar a persistência do AOF, selecione Desativado.

O que é uma reescrita e como afecta a minha cache?

Quando o ficheiro do AOF se torna suficientemente grande, uma reescrita é colocada automaticamente em fila na cache. A reescrita redimensiona o ficheiro do AOF com o conjunto mínimo de operações necessárias para criar o conjunto de dados atual. Durante as reescritas, é expetável que os limites de desempenho sejam atingidos mais cedo, especialmente quando se lida com grandes conjuntos de dados. As reescritas ocorrem com menos frequência à medida que o ficheiro do AOF se torna maior, mas demoram uma quantidade significativa de tempo quando tal acontece.

O que devo esperar ao dimensionar uma cache com o AOF ativado?

Se o arquivo AOF no momento do dimensionamento for grande, espere que a operação de escala demore mais do que o esperado, pois recarrega o arquivo após a conclusão do dimensionamento.

Para obter mais informações sobre dimensionamento, consulte O que acontece se tiver dimensionado para um tamanho diferente e for restaurada uma cópia de segurança realizada antes da operação de dimensionamento?

Como meus dados AOF são organizados no armazenamento?

Quando você usa a camada Premium, os dados armazenados em arquivos AOF são divididos em vários blobs de página por fragmento. Por padrão, metade dos blobs são salvos na conta de armazenamento principal e metade é salva na conta de armazenamento secundário. Dividir os dados em vários blobs de página e duas contas de armazenamento diferentes aumenta o desempenho.

Se a taxa de pico de gravações no cache não for muito alta, esse desempenho extra pode não ser necessário. Nesse caso, a configuração da conta de armazenamento secundário pode ser removida. Em vez disso, todos os arquivos AOF são armazenados apenas na única conta de armazenamento principal. A tabela a seguir exibe quantos blobs de página totais são usados para cada nível de preço:

Escalão Premium Blobs
P1 8 por estilhaço
P2 16 por estilhaço
P3 32 por estilhaço
P4 40 por estilhaço

Quando o clustering está habilitado, cada fragmento no cache tem seu próprio conjunto de blobs de página, conforme indicado na tabela anterior. Por exemplo, um cache P2 com três fragmentos distribui seu arquivo AOF em 48 blobs de página: dezesseis blobs por fragmento, com três fragmentos.

Após uma regravação, dois conjuntos de arquivos AOF existem no armazenamento. As regravações ocorrem em segundo plano e acrescentam ao primeiro conjunto de arquivos. Definir operações, enviadas para o cache durante a regravação, anexar ao segundo conjunto. Um backup é armazenado temporariamente durante as regravações se houver uma falha. O backup é prontamente excluído após a conclusão de uma regravação. Se a exclusão suave estiver ativada para sua conta de armazenamento, a configuração de exclusão suave será aplicada e os backups existentes continuarão no estado de exclusão suave.

Ter exceções de firewall na conta de armazenamento afetará a persistência?

Sim. O uso de configurações de firewall na conta de armazenamento pode impedir que o recurso de persistência funcione. Você pode ver se há erros na persistência de dados exibindo a métrica Erros. Essa métrica indicará se o cache não consegue persistir os dados devido a restrições de firewall na conta de armazenamento ou outros problemas.

Para usar a persistência de dados com uma conta de armazenamento que tenha um firewall configurado, use a autenticação baseada em identidade gerenciada para se conectar ao armazenamento. O uso da identidade gerenciada adiciona a instância de cache à lista de serviços confiáveis, facilitando a execução de exceções de firewall. Se você não estiver usando a identidade gerenciada e, em vez disso, autorizar uma conta de armazenamento usando uma chave, ter exceções de firewall na conta de armazenamento tende a interromper o processo de persistência. Isso só se aplica à persistência no nível Premium.

Posso habilitar a persistência do AOF se tiver mais de uma réplica?

Com a camada Premium, não é possível usar a persistência AOF (Append-only File) com várias réplicas. Nas camadas Enterprise e Enterprise Flash, a arquitetura de réplica é mais complicada, mas a persistência AOF é suportada quando caches Enterprise são usados na implantação redundante de zona.

Como posso verificar se a eliminação suave está ativada na minha conta de armazenamento?

Selecione a conta de armazenamento que o cache está usando para persistência. Selecione Proteção de dados no menu Recurso. No painel de trabalho, verifique o estado de Ativar exclusão suave para blobs. Para obter mais informações sobre exclusão suave em contas de armazenamento do Azure, consulte Habilitar exclusão suave para blobs.

Próximos passos

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