Passare da cache di Azure per Redis a Redis gestito di Azure (anteprima)
Questo articolo illustra come eseguire la migrazione da cache di Azure per Redis istanza a un'istanza di Redis gestita di Azure (anteprima).
Importante
Azure Managed Redis è attualmente disponibile in ANTEPRIMA. Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.
Prerequisiti
- Sottoscrizione di Azure: creare un account gratuito
- Istanza di qualsiasi cache di Azure per Redis
Confronto delle funzionalità tra cache di Azure per Redis e Redis gestito di Azure (anteprima)
Descrizione della funzionalità | Di base | Standard | Premium | Bilanciato (anteprima) | Ottimizzato per la memoria (anteprima) | Ottimizzato per il calcolo (anteprima) |
---|---|---|---|---|---|---|
Disponibilità | N/D | 99,9% | 99,9% | N/D | N/D | N/D |
Crittografia di dati in transito | Sì | Sì | Sì | Sì | Sì | Sì |
Isolamento rete | Sì | Sì | Sì | Sì | Sì | Sì |
Aumento/aumento delle prestazioni | Sì | Sì | Sì | Sì | Sì | Sì |
Riduzione/riduzione delle prestazioni | Sì | Sì | Sì | No | No | No |
Clustering di software open source | No | No | Sì | Sì | Sì | Sì |
Persistenza dei dati | No | No | Sì | Sì | Sì | Sì |
Ridondanza della zona | No | Sì (anteprima) | Sì | Sì | Sì | Sì |
Replica geografica | No | No | Sì (passivo) | Sì (attivo) | Sì (attivo) | Sì (attivo) |
Log di controllo della connessione | No | No | Sì | Sì(basato su eventi) | Sì(basato su eventi) | Sì(basato su eventi) |
Moduli Redis | No | No | No | Sì | Sì | Sì |
Importazione/Esportazione | No | No | Sì | Sì | Sì | Sì |
Reboot | Sì | Sì | Sì | No | No | No |
Aggiornamenti pianificati | Sì | Sì | Sì | No | No | No |
Autenticazione di Microsoft Entra ID | Sì | Sì | Sì | Sì | Sì | Sì |
Controllo degli accessi in base al ruolo di Microsoft Entra ID | Sì | Sì | Sì | No | No | No |
Notifica keyspace | Sì | Sì | Sì | No | No | No |
Disponibilità non elevata | N/D | No | No | Sì | Sì | Sì |
Ecco alcune altre differenze che non sono coperte dal mapping precedente. Prendere in considerazione queste modifiche all'applicazione client:
Descrizione della funzionalità | Cache Redis di Azure | Redis gestito di Azure (anteprima) |
---|---|---|
Suffisso DNS (solo per il cloud PROD) | .redis.cache.windows.net |
<region>.redis.azure.net |
Porta TLS | 6380 | 10000 |
Porta non TLS | 6379 | Non supportato |
Porte TLS a nodo singolo | 130XX | 85xx |
Porta non TLS a nodo singolo | 150XX | Non supportato |
Supporto del clustering | Modalità di clustering oss | Modalità del cluster OSS e Enterprise |
Comandi non supportati | Comandi non supportati | Comandi a più chiavi |
Disponibilità a livello di area | Tutte le aree di Azure | * Vedere l'elenco delle aree dopo questa sezione. |
Versione Redis | 6 | 7.4 |
Versioni di TLS supportate | 1.2 e 1.3 | 1.2 e 1.3 |
Disponibilità a livello di area per Azure Managed Redis
Redis gestito di Azure è attualmente supportato nelle aree seguenti. Questo elenco viene aggiornato regolarmente. Infine, Azure Managed Redis sarà supportato da tutte le aree in Azure. Collaborare con il contatto di vendita per generare richieste nelle aree in cui è necessario il supporto tecnico.
Americhe | Europa | Medio Oriente | Africa | Asia Pacifico |
---|---|---|---|---|
Brasile meridionale | Germania centro-occidentale | Asia orientale | ||
Stati Uniti centro-occidentali | Regno Unito meridionale | Australia orientale | ||
Stati Uniti centro-settentrionali | Europa occidentale | Giappone orientale | ||
Stati Uniti occidentali 3 | Svezia centrale | Asia sud-orientale | ||
Stati Uniti orientali 2 | India centrale | |||
Stati Uniti centro-meridionali | ||||
West US 2 | ||||
Stati Uniti orientali | ||||
Stati Uniti occidentali | ||||
Stati Uniti centrali | ||||
Canada centrale |
Eseguire la migrazione dell'istanza di cache di Azure per Redis a Redis gestita di Azure
Nota
Assicurarsi di aggiornare il resto dell'applicazione e le risorse di Azure correlate in base alle esigenze per usare la cache.
Selezionare la cache da spostare dal portale di Azure
cache di Azure per Redis Basic/Standard/Premium non cluster
Nota
Usare l'opzione non a disponibilità elevata di Redis gestita di Azure per la migrazione di SKU di base
Cache Redis di Azure | Redis gestito di Azure | Memoria aggiuntiva (%) |
---|---|---|
Basic/Standard - C0 | Bilanciato - B0 | 50 |
Basic/Standard - C1 | Bilanciato - B1 | 0 |
Basic/Standard - C2 | Bilanciato - B3 | 17 |
Basic/Standard - C3 | Bilanciato - B5 | 0 |
Basic/Standard - C4 | Ottimizzato per la memoria - M10* | -8 |
Basic/Standard - C4 | Ottimizzato per la memoria - M20** | 46 |
Basic/Standard - C5 | Ottimizzato per la memoria - M20* | -8 |
Basic/Standard - C5 | Ottimizzato per la memoria - M50** | 57 |
Basic/Standard - C6 | Ottimizzato per la memoria - M50 | 12 |
Premium - P1 | Bilanciato - B5 | 0 |
Premium - P2 | Bilanciato - B10* | -8 |
Premium - P2 | Bilanciato - B20** | 46 |
Premium - P3 | Bilanciato - B20* | -8 |
Premium - P3 | Bilanciato - B50** | 57 |
Premium - P4 | Bilanciato - B50 | 12 |
Premium - P5 | Bilanciato - B100 | 0 |
- *Questa opzione è per l'efficienza dei costi. Verificare che il picco di memoria usata totale nell'ultimo mese sia inferiore alla memoria Redis gestita di Azure consigliata per scegliere questa opzione.
- ** Questa opzione è per un consumo di memoria abbondante.
cache di Azure per Redis cluster Premium
- Per il cluster partizionato, scegliere un livello ottimizzato per la memoria con memoria totale equivalente.
- Per i cluster con più repliche in lettura, scegliere un livello ottimizzato per il calcolo con memoria totale equivalente come replica primaria.
Opzioni di migrazione
Le applicazioni client devono essere in grado di usare un'istanza di Redis gestita di Azure con modalità e endpoint di clustering diversi. cache di Azure per Redis e Azure Managed Redis (anteprima) sono compatibili, quindi per la maggior parte degli scenari non sono necessarie modifiche al codice dell'applicazione diverse dalle configurazioni di connessione.
Per ulteriori informazioni, consultare:
Opzioni per la migrazione di cache di Azure per Redis a Redis gestito di Azure
Opzione | Vantaggi | Svantaggi |
---|---|---|
Creare una nuova cache | Più semplice da implementare. | È necessario ripopolare i dati nella nuova cache, che potrebbe non funzionare con molte applicazioni. |
Esportare e importare dati tramite file RDB | Compatibile con qualsiasi cache Redis in genere. | Alcuni dati potrebbero andare persi, se vengono scritti nella cache esistente dopo la generazione del file RDB. |
Dati con doppia scrittura in due cache | Senza perdita di dati e tempi di inattività Operazioni ininterrotte della cache esistente. Test più semplici della nuova cache. | Richiede due cache per un lungo periodo di tempo. |
Eseguire la migrazione dei dati a livello di codice | Controllo completo sulla modalità di spostamento dei dati. | Richiede codice personalizzato. |
Creare una nuova cache di Azure per Redis
Questo approccio tecnicamente non è una migrazione. Se la perdita di dati non è un problema, il modo più semplice per passare al livello Redis gestito di Azure consiste nel creare una nuova istanza della cache 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. I passaggi generali per implementare questa opzione sono:
- Creare una nuova istanza di Redis gestita di Azure.
- Aggiornare l'applicazione per usare la nuova istanza.
- Eliminare l'istanza di cache di Azure per Redis precedente.
Esportare i dati in un file RDB e importarli in Redis gestito di Azure
Questa opzione è applicabile solo alle cache di livello Premium. Redis open source definisce un meccanismo standard per la creazione di uno snapshot del set di dati in memoria di una cache e salvarlo in un file. Un'altra cache Redis può leggere il file RDB esportato. cache di Azure per Redis livello Premium supporta l'esportazione di dati da un'istanza della cache tramite file RDB. È possibile usare un file RDB per trasferire i dati da un'istanza di cache di Azure per Redis esistente all'istanza di Redis gestita di Azure.
I passaggi generali per implementare questa opzione sono:
- Creare una nuova istanza di Redis gestita di Azure con le stesse dimensioni (o maggiore di) dell'istanza di cache di Azure per Redis esistente.
- Esportare il file RDB dall'istanza di cache di Azure per Redis esistente usando queste istruzioni di esportazione o il cmdlet di esportazione di PowerShell
- Importare il file RDB nella nuova istanza di Redis gestita di Azure usando queste istruzioni di importazione o il cmdlet di importazione di PowerShell
- Aggiornare l'applicazione per usare la nuova istanza di Redis gestita di Azure stringa di connessione.
Esporta dati:
az redis export --resource-group <ResourceGroupName> --name <Azure Cache for Redis instance name> --prefix <BlobPrefix> --container <ContainerName> --file-format <FileFormat>
Importa dati:
az redis import --resource-group <ResourceGroupName> --name <Azure Managed Redis instance name> --files <BlobUris>
Sostituire ResourceGroupName, CacheName, BlobPrefix, ContainerName e FileFormat con i valori specifici. Il file-format_ può essere RDB o AOF.
Scrivere in due cache Redis contemporaneamente durante il periodo di migrazione
Invece di spostare direttamente i dati tra le cache, è possibile usare l'applicazione per scrivere dati sia in una cache esistente che in una nuova che si sta configurando. L'applicazione legge ancora i dati dalla cache esistente inizialmente. Quando la nuova cache contiene i dati necessari, si passa l'applicazione su tale cache e si ritira quella precedente. Si supponga, ad esempio, di usare Redis come archivio sessioni e che 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 momento in poi vi si può fare affidamento senza preoccuparsi della perdita di dati.
I passaggi generali per implementare questa opzione sono:
- Creare una nuova istanza di Redis gestita di Azure con le stesse dimensioni dell'istanza di cache di Azure per Redis esistente.
- Modificare il codice dell'applicazione per scrivere sia nell’istanza nuova che in quella originale.
- Continuare a leggere i dati dall'istanza originale fino a quando la nuova istanza non viene sufficientemente popolata con i dati.
- Aggiornare il codice dell'applicazione per leggere e scrivere solo dalla nuova istanza.
- Eliminare l'istanza originale.
Eseguire la migrazione a livello di codice
Creare un processo di migrazione personalizzato leggendo i dati da un'istanza di cache di Azure per Redis esistente e scrivendoli nell'istanza di Redis gestita di Azure. Sono disponibili due strumenti open source che è possibile provare:
- Redis-copy
- Questo strumento open source può essere usato per copiare dati da un'istanza cache di Azure per Redis a un'altra. Questo strumento è utile per lo spostamento dei dati tra istanze della cache in aree di Cache di Azure diverse. È 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.
- RIVOLTA
- RIOT è un altro strumento di migrazione diffuso testato dalla community di Redis. Si tratta di un'utilità della riga di comando progettata per consentire l'accesso e l'uscita dei dati da Redis.
Nota
Questo strumento non è ufficialmente supportato da Microsoft.
I passaggi generali per implementare questa opzione sono:
- 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 necessario per copiarlo.
- Creare una nuova istanza di Redis gestita di Azure.
- Scaricare i dati dalla nuova cache per assicurarsi che sia vuota. 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.
- Usare un'applicazione come lo strumento open source menzionato in precedenza 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.