Spostare istanze di cache di Azure per Redis in aree diverse

Questo articolo illustra come spostare le istanze di cache di Azure per Redis in un'area di Azure diversa. È possibile spostare le risorse in un'altra area per molti motivi:

  • Per sfruttare i vantaggi di una nuova area di Azure.
  • Per distribuire solo funzionalità o servizi disponibili in aree specifiche.
  • Per soddisfare i requisiti di governance e criteri interni.
  • Per rispondere ai requisiti di pianificazione della capacità.

Se si vuole eseguire la migrazione a cache di Azure per Redis da macchine virtuali locali basate sul cloud o da un altro servizio di hosting, è consigliabile vedere Eseguire la migrazione a cache di Azure per Redis.

Il livello di cache di Azure per Redis usato determina l'opzione più adatta.

Livello cache Opzioni
Premium Replica geografica, creare una nuova cache, eseguire la doppia scrittura in due cache, esportare e importare dati tramite file RDB o eseguire la migrazione a livello di codice
Basic o Standard Creare una nuova cache, eseguire la doppia scrittura in due cache o eseguire la migrazione a livello di codice
Enterprise o Enterprise Flash Creare una nuova cache o esportare e importare dati con un file RDB oppure eseguire la migrazione a livello di codice

Replica geografica passiva (Premium)

Prerequisiti

Per configurare la replica geografica tra due cache, è necessario soddisfare i prerequisiti seguenti:

  • Entrambe le cache sono cache di livello Premium.
  • Entrambe le cache si trovano nella stessa sottoscrizione di Azure.
  • La cache collegata secondaria è la stessa dimensione della cache o una dimensione della cache maggiore rispetto alla cache collegata primaria.
  • Entrambe le cache esistono già e sono in esecuzione.

Preparazione

Per spostare l'istanza della cache in un'altra area, è necessario creare una seconda istanza della cache Premium nell'area desiderata. Dopo l'esecuzione di entrambe le cache, è possibile configurare la replica geografica tra le due istanze della cache.

Nota

Il trasferimento dei dati tra aree di Azure viene addebitato a velocità di larghezza di banda standard.

Alcune funzionalità non sono supportate con la replica geografica:

  • La ridondanza della zona non è supportata con la replica geografica.
  • La persistenza non è supportata con la replica geografica.

Condizioni per il supporto delle repliche geografiche:

Dopo la configurazione della replica geografica, le restrizioni seguenti si applicano alla coppia di cache collegata:

  • La cache collegata secondaria è di sola lettura. È possibile leggerli, ma non è possibile scrivervi dati.
    • Se si sceglie di leggere dall'istanza geografica secondaria quando si verifica una sincronizzazione completa dei dati tra la replica geografica primaria e quella geografica secondaria, ad esempio quando viene aggiornata la replica geografica primaria o geografica secondaria e in alcuni scenari di riavvio, l'istanza geo-secondaria genera errori su qualsiasi operazione Redis su di essa fino al completamento della sincronizzazione completa dei dati tra geo-primario e geo-secondario.
    • Le applicazioni che leggono da Geo-Secondary devono essere compilate per eseguire il fallback all'area geografica primaria ogni volta che il database geografico secondario genera tali errori.
  • Tutti i dati presenti nella cache collegata secondaria prima dell'aggiunta del collegamento vengono rimossi. Se la replica geografica viene rimossa in un secondo momento, i dati replicati rimangono nella cache collegata secondaria.
  • Non è possibile ridimensionare alcuna cache mentre le cache sono collegate.
  • Non è possibile modificare il numero di partizioni se il clustering della cache è abilitato.
  • Non è possibile abilitare la persistenza in nessuna delle cache.
  • È possibile eseguire l'esportazione da una delle due cache.
  • Non è possibile importare nella cache collegata secondaria.
  • Non è possibile eliminare la cache collegata o il gruppo di risorse che li contiene fino a quando non si scollegano le cache. Per altre informazioni, vedere Perché, quando si è tentato di eliminare la cache collegata, l'operazione non è riuscita?
  • Se le cache si trovano in aree diverse, i costi di uscita di rete si applicano ai dati spostati tra aree. Per altre informazioni, vedere Quanto costa replicare i dati nelle aree di Azure?
  • Il failover non è automatico. È necessario avviare il failover dalla cache primaria alla cache input penna secondaria. Per altre informazioni su come eseguire il failover di un'applicazione client, vedere Avviare un failover da replica geografica primaria a secondaria geografica.

Sposta

  1. Per collegare due cache per la replica geografica, selezionare prima Replica geografica dal menu Risorsa della cache che si intende essere la cache collegata primaria. Selezionare quindi Aggiungi collegamento di replica della cache dalla replica geografica a sinistra.

    Screenshot showing the cache's Geo-replication menu.

  2. Selezionare il nome della cache secondaria desiderata dall'elenco Cache compatibili. Se la cache secondaria non viene visualizzata nell'elenco, verificare che siano soddisfatti i prerequisiti di replica geografica per la cache secondaria. Per filtrare le cache in base all'area, selezionare l'area nella mappa per visualizzare solo le cache nell'elenco Cache compatibili.

    Screenshot showing compatible caches for linking with geo-replication.

    È anche possibile avviare il processo di collegamento o visualizzare i dettagli sulla cache secondaria usando il menu di scelta rapida.

    Screenshot showing the Geo-replication context menu.

  3. Selezionare Collega per collegare le due cache insieme e avviare il processo di replica.

    Screenshot showing how to link caches for geo-replication.

Verificare

  1. È possibile visualizzare lo stato di avanzamento del processo di replica usando la replica geografica a sinistra.

    Screenshot showing the current Linking status.

    È anche possibile visualizzare lo stato del collegamento a sinistra, usando Panoramica, per le cache primarie e secondarie.

    Screenshot that highlights how to view the linking status for the primary and secondary caches.

    Dopo aver completato il processo di replica, Link status (Stato collegamento) visualizza Riuscito.

    Screenshot showing cache linking status as Succeeded.

    La cache collegata primaria rimane disponibile per l'uso durante il processo di collegamento. La cache collegata secondaria non è disponibile fino al completamento del processo di collegamento.

Pulire le risorse di origine

Dopo aver popolato la nuova cache nell'area di destinazione con tutti i dati necessari, rimuovere il collegamento tra le due cache ed eliminare l'istanza originale.

  1. Per rimuovere il collegamento tra due cache e arrestare la replica geografica, selezionare Scollega cache dalla replica geografica a sinistra.

    Screenshot showing how to unlink caches.

    Al termine del processo di scollegamento, la cache secondaria è disponibile per le operazioni di lettura e scrittura.

Nota

Quando il collegamento di replica geografica viene rimosso, i dati replicati dalla cache collegata primaria rimangono nella cache secondaria.

  1. Eliminare l'istanza originale.

Creare una nuova cache (tutti i livelli)

Prerequisiti

Preparazione

Se non è necessario gestire i dati durante lo spostamento, il modo più semplice per spostare le aree consiste nel creare una nuova istanza della cache nell'area di destinazione e connetterla all'applicazione. Ad esempio, se si usa Redis come cache look-aside dei record di database, è possibile ricompilare facilmente la cache da zero.

Sposta

  1. Per creare una cache, accedere al portale di Azure e selezionare Crea una risorsa.

    Create a resource is highlighted in the left navigation pane.

  2. Nella pagina Nuovo selezionare Database e quindi Cache di Azure per Redis.

    On New, Databases is highlighted, and Azure Cache for Redis is highlighted.

  3. Nella pagina Nuova cache Redis configurare le impostazioni per la nuova cache.

    Impostazione Scegliere un valore Descrizione
    Abbonamento Nell'elenco a discesa selezionare la sottoscrizione. Sottoscrizione in cui creare la nuova istanza della cache di Azure per Redis.
    Gruppo di risorse Nell'elenco a discesa selezionare un gruppo di risorse oppure scegliere Crea nuovo e immettere il nome di un nuovo gruppo di risorse. Nome del gruppo di risorse in cui creare la cache e altre risorse. L'inserimento di tutte le risorse di un'app in un unico gruppo di risorse ne semplifica la gestione o l'eliminazione.
    Nome DNS Immettere un nome univoco. Il nome della cache deve essere una stringa compresa tra 1 e 63 caratteri che contengono solo numeri, lettere o trattini. Il nome deve iniziare e terminare con un numero o una lettera e non può contenere trattini consecutivi. Il nome host dell'istanza della cache è< nome> DNS.redis.cache.windows.net.
    Location Nell'elenco a discesa selezionare una località. Selezionare un'area vicina ad altri servizi che usano la cache.
    Tipo di cache A discesa e selezionare un livello. Il livello determina le dimensioni, le prestazioni e le funzionalità disponibili per la cache. Per altre informazioni, vedere la panoramica su Cache Redis di Azure.
  4. Selezionare la scheda Rete o selezionare il pulsante Rete nella parte inferiore della pagina.

  5. Nella scheda Rete selezionare il metodo di connettività.

  6. Selezionare la scheda Avanti: Avanzate o selezionare il pulsante Avanti: Avanzate nella parte inferiore della pagina per visualizzare la scheda Avanzate .

    Screenshot showing the Advanced tab in the working pane and the available option to select.

    • Per le cache Basic o Standard, attivare o disattivare la selezione per una porta non TLS. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.
    • Per una cache Premium, configurare le impostazioni per la porta non TLS, il clustering, l'identità gestita e la persistenza dei dati. È anche possibile selezionare se si vuole abilitare l'autenticazione di Microsoft Entra.
  7. Selezionare la scheda Avanti: Tag o selezionare il pulsante Avanti: Tag nella parte inferiore della pagina.

  8. Facoltativamente, nella scheda Tag immettere il nome e il valore se si vuole categorizzare la risorsa.

  9. Selezionare Rivedi e crea. Si viene reindirizzati alla scheda Rivedi e crea in cui Azure convalida la configurazione.

  10. Quando viene visualizzato il messaggio di convalida verde, selezionare Crea.

La creazione di una cache richiede tempo. È possibile monitorare lo stato di avanzamento nella pagina Panoramica della cache di Azure per Redis. Quando l'elemento Stato indica In esecuzione, la cache è pronta per l'uso.

Aggiornare infine l'applicazione per usare le nuove istanze.

Pulire le risorse di origine

Quando la nuova cache nell'area di destinazione è in esecuzione, eliminare l'istanza originale.

Esportare e importare dati con un file RDB (Premium, Enterprise, Enterprise, Enterprise Flash)

Redis open source definisce un meccanismo standard per creare uno snapshot del set di dati in memoria di una cache e salvarlo in un file. Questo file, denominato RDB, può essere letto da un'altra cache Redis. cache di Azure per Redis Premium ed Enterprise supporta l'importazione di dati in un'istanza della cache con file RDB. È possibile usare un file RDB per trasferire i dati da una cache esistente a cache di Azure per Redis.

Importante

Il formato del file RDB può cambiare tra le versioni di Redis e potrebbe non mantenere la compatibilità con le versioni precedenti. La versione redis della cache da da deve essere uguale o precedente alla versione della nuova istanza della cache.

Prerequisiti

  • Entrambe le cache sono cache di livello Premium o Enterprise .
  • La seconda cache è la stessa dimensione della cache o una dimensione della cache maggiore rispetto alla cache originale.
  • La versione redis della cache da da deve essere uguale o precedente alla versione della nuova istanza della cache.

Preparazione

Per spostare l'istanza della cache in un'altra area, è necessario creare una seconda istanza della cache Premium o una seconda istanza della cache aziendale nell'area desiderata.

Sposta

  1. Per altre informazioni su come importare ed esportare dati in cache di Azure per Redis. vedere Importare ed esportare dati in cache di Azure per Redis.

  2. Aggiornare l'applicazione per usare la nuova istanza della cache.

Verificare

È possibile controllare lo stato dell'operazione di importazione tramite le notifiche del portale di Azure oppure visualizzando gli eventi nel log di controllo.

Pulire le risorse di origine

Quando la nuova cache nell'area di destinazione è in esecuzione, eliminare l'istanza originale.

Doppia scrittura in due cache (Basic, Standard e Premium)

Invece di spostare i dati direttamente tra le cache, è possibile usare l'applicazione per scrivere dati in una cache esistente e in una nuova che si sta configurando. L'applicazione legge inizialmente i dati dalla cache esistente. Quando la nuova cache contiene i dati necessari, si passa l'applicazione a tale cache e si ritira quella precedente. Si supponga, ad esempio, di usare Redis come archivio sessioni e le sessioni dell'applicazione siano valide per sette giorni. Dopo aver scritto nelle due cache per una settimana, si sarà certi che la nuova cache contenga tutte le informazioni di sessione non scadute. Da questo punto in poi è possibile affidarsi in modo sicuro senza preoccuparsi della perdita di dati.

Prerequisiti

  • La seconda cache è la stessa dimensione della cache o una dimensione della cache maggiore rispetto alla cache originale.

Preparazione

Per spostare l'istanza della cache in un'altra area, è necessario creare una seconda istanza della cache nell'area desiderata.

Sposta

I passaggi generali per implementare questa opzione sono:

  1. Modificare il codice dell'applicazione per scrivere nelle istanze nuove e originali.

  2. Continuare a leggere i dati dall'istanza originale fino a quando la nuova istanza non viene popolata sufficientemente con i dati.

  3. Aggiornare il codice dell'applicazione per leggere e scrivere solo dalla nuova istanza.

Pulire le risorse di origine

Quando la nuova cache nell'area di destinazione è in esecuzione, eliminare l'istanza originale.

Eseguire la migrazione a livello di codice (tutti i livelli)

È possibile creare un processo di migrazione personalizzato leggendo a livello di codice i dati da una cache esistente e scrivendoli in cache di Azure per Redis. Questo strumento open source può essere usato per copiare dati da un'istanza di cache di Azure per Redis a un'altra istanza in un'area di Cache di Azure diversa. È disponibile anche una versione compilata. È anche possibile trovare il codice sorgente per essere una guida utile per la scrittura di uno strumento di migrazione personalizzato.

Nota

Questo strumento non è ufficialmente supportato da Microsoft.

Prerequisiti

  • La seconda cache è la stessa dimensione della cache o una dimensione della cache maggiore rispetto alla cache originale.

Preparazione

  • Creare una macchina virtuale nell'area in cui si trova la cache esistente. Se il set di dati è di grandi dimensioni, scegliere una macchina virtuale relativamente potente per ridurre il tempo di copia.
  • Per spostare l'istanza della cache in un'altra area, è necessario creare una seconda istanza della cache nell'area desiderata.

Sposta

Dopo aver creato una macchina virtuale nell'area in cui si trova la cache esistente e creare una nuova cache nell'area desiderata, i passaggi generali per implementare questa opzione sono:

  1. Scaricare i dati dalla nuova cache per assicurarsi che siano vuoti. Questo passaggio è obbligatorio perché lo strumento di copia stesso non sovrascrive alcuna chiave esistente nella cache di destinazione.

    Importante

    Assicurarsi di NON scaricare dalla cache di origine.

  2. Usare un'applicazione come lo strumento open source precedente per automatizzare la copia dei dati dalla cache di origine alla destinazione. Tenere presente che il processo di copia potrebbe richiedere del tempo a seconda delle dimensioni del set di dati.

Pulire le risorse di origine

Quando la nuova cache nell'area di destinazione è in esecuzione, eliminare l'istanza originale.

Passaggi successivi

Altre informazioni sulle funzionalità di cache di Azure per Redis.