Partilhar via


Migrar das caches de injeção da VNet para as caches do Private Link

Este artigo descreve várias abordagens para migrar instâncias de cache injetadas de Cache do Azure para Redis Rede Virtual (VNet) para Cache do Azure para Redis Private Link instâncias de cache.

Azure Private Link simplifica a arquitetura de rede e protege a ligação entre pontos finais no Azure. Pode ligar-se a uma instância da Cache do Azure a partir da rede virtual através de um ponto final privado, que é atribuído a um endereço IP privado numa sub-rede na rede virtual. As vantagens de utilizar Azure Private Link para Cache do Azure para Redis incluem:

  • Flexibilidade de camadas – Azure Private Link é suportada em todos os nossos escalões; Básico, Standard, Premium, Enterprise e Enterprise Flash. Em comparação com Rede Virtual injeção, que só é oferecida no nosso escalão premium.

  • Gestão de Regras simplificada do Grupo de Segurança de Rede (NSG) – as regras do NSG não precisam de ser configuradas para cumprir os requisitos de Cache do Azure para Redis.

  • Azure Policy Suporte – certifique-se de que todas as caches na sua organização são criadas com Private Link e audite as caches existentes da sua organização para verificar se todas utilizam Private Link.

Opções de migração

Pode mudar da injeção de VNet para Private Link com algumas formas diferentes. Dependendo de onde está a cache e de como a sua aplicação interage com a mesma, um método será mais útil do que os outros. Algumas das estratégias de migração utilizadas frequentemente são detalhadas abaixo.

Se estiver a utilizar qualquer combinação de georreplicação, clustering ou VNet do ARM:

Opção Vantagens Desvantagens
Dados de escrita dupla em duas caches Sem perda de dados ou período de indisponibilidade. Operações ininterruptas da cache existente. Teste mais fácil da nova cache. Precisa de duas caches durante um longo período de tempo.
Criar uma nova cache Mais simples de implementar. Precisa de repovoar dados para a nova cache, o que pode não funcionar com muitas aplicações.
Exportar e importar dados através do ficheiro RDB A migração de dados é necessária. Alguns dados podem ser perdidos, se forem escritos na cache existente após o ficheiro RDB ser gerado.
Migrar dados programaticamente Controlo total sobre a forma como os dados são movidos. Requer código personalizado.

Escrever em duas caches de Redis em simultâneo durante o período de migração

Em vez de mover dados diretamente entre caches, pode utilizar a sua aplicação para escrever dados numa cache existente e numa nova que esteja a configurar. A aplicação continuará a ler dados da cache existente inicialmente. Quando a nova cache tiver os dados necessários, mude a aplicação para essa cache e retire a antiga. Digamos que, por exemplo, utiliza o Redis como arquivo de sessões e as sessões da aplicação são válidas durante sete dias. Depois de escrever nas duas caches durante uma semana, terá a certeza de que a nova cache contém todas as informações de sessão não expiradas. Pode confiar nele com segurança a partir desse ponto sem se preocupar com a perda de dados.

Os passos gerais para implementar esta opção são:

  1. Crie uma nova instância Cache do Azure para Redis com pontos finais privados com o mesmo tamanho (ou maior que) a cache existente.

  2. Modifique o código da aplicação para escrever nas instâncias novas e originais.

  3. Continue a ler dados da instância original até que a nova instância seja suficientemente preenchida com dados.

  4. Atualize o código da aplicação para leitura e escrita apenas a partir da nova instância.

  5. Elimine a instância original.

Criar um novo Cache do Azure para Redis

Tecnicamente, esta abordagem não é uma migração. Se perder dados não for uma preocupação, a forma mais fácil de mover para Cache do Azure para Redis é criar uma instância de cache e ligar a sua aplicação à mesma. Por exemplo, se utilizar o Redis como uma cache de registos de base de dados, pode facilmente reconstruir a cache do zero.

Os passos gerais para implementar esta opção são:

  1. Crie uma nova instância Cache do Azure para Redis com pontos finais privados.

  2. Atualize a aplicação para utilizar a nova instância.

  3. Elimine a antiga instância de Redis.

Exportar dados para um ficheiro RDB e importá-los para Cache do Azure para Redis (apenas escalão Premium)

O Redis open source define um mecanismo padrão para tirar um instantâneo do conjunto de dados dentro da memória de uma cache e guardá-lo num ficheiro. Este ficheiro, denominado RDB, pode ser lido por outra cache de Redis. Cache do Azure para Redis escalão premium suporta a importação de dados para uma instância de cache através de ficheiros RDB. Pode utilizar um ficheiro RDB para transferir dados de uma cache existente para Cache do Azure para Redis.

Importante

O formato de ficheiro RDB pode ser alterado entre as versões do Redis e pode não manter a retrocompatibilidade. A versão redis da cache da qual está a exportar deve ser igual ou inferior à versão fornecida pelo Cache do Azure para Redis.

Os passos gerais para implementar esta opção são:

  1. Crie uma nova instância Cache do Azure para Redis com pontos finais privados no escalão premium com o mesmo tamanho (ou maior que) a cache existente.

  2. Guarde um instantâneo da cache de Redis existente. Pode configurar o Redis para guardar instantâneos periodicamente ou executar o processo manualmente com os comandos GUARDAR ou BGSAVE . Por predefinição, o ficheiro RDB tem o nome "dump.rdb" e estará localizado no caminho especificado no ficheiro de configuração redis.conf .

    Nota

    Se estiver a migrar dados dentro de Cache do Azure para Redis, veja estas instruções sobre como exportar um ficheiro RDB ou utilizar o cmdlet Exportar do PowerShell.

  3. Copie o ficheiro RDB para uma conta de armazenamento do Azure na região onde está localizada a nova cache. Pode utilizar o AzCopy para esta tarefa.

  4. Importe o ficheiro RDB para a nova cache com estas instruções de importação ou o cmdlet Importar do PowerShell.

  5. Atualize a aplicação para utilizar a nova instância de cache.

Migrar programaticamente

Crie um processo de migração personalizado ao ler dados programaticamente a partir de uma cache existente e escrevê-los em Cache do Azure para Redis. Esta ferramenta open source pode ser utilizada para copiar dados de uma instância Cache do Azure para Redis para outra. Esta ferramenta é útil para mover dados entre instâncias de cache em diferentes regiões da Cache do Azure. Também está disponível uma versão compilada . Também pode considerar o código fonte um guia útil para escrever a sua própria ferramenta de migração.

Nota

Esta ferramenta não é oficialmente suportada pela Microsoft.

Os passos gerais para implementar esta opção são:

  1. Crie uma VM na região onde está localizada a cache existente. Se o conjunto de dados for grande, escolha uma VM relativamente poderosa para reduzir o tempo de cópia.

  2. Criar uma nova instância de Cache do Azure para Redis com pontos finais privados

  3. Remova os dados da nova cache para garantir que estão vazios. Este passo é necessário porque a própria ferramenta de cópia não substitui nenhuma chave existente na cache de destino.

    Importante

    Certifique-se de que NÃO remove a cache de origem.

  4. Utilize uma aplicação, como a ferramenta open source acima, para automatizar a cópia de dados da cache de origem para o destino. Lembre-se de que o processo de cópia pode demorar algum tempo a ser concluído consoante o tamanho do conjunto de dados.

Passos seguintes