Migrieren von Azure Cache for Redis zu Azure Managed Redis (Vorschau)
In diesem Artikel erfahren Sie, wie Sie von einer Azure Cache for Redis-Instanz zu einer Azure Managed Redis-Instanz (Vorschau) migrieren.
Wichtig
Azure Managed Redis befindet sich derzeit in der VORSCHAUPHASE. Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Voraussetzungen
- Azure-Abonnement – Erstellen eines kostenlosen Kontos
- Eine beliebige Azure Cache for Redis-Instanz
Vergleich der Funktionen von Azure Cache for Redis und Azure Managed Redis (Vorschau)
Funktionsbeschreibung | Basic | Standard | Premium | Ausgewogen (Vorschau) | Arbeitsspeicheroptimiert (Vorschau) | Für Compute optimiert (Vorschau) |
---|---|---|---|---|---|---|
Verfügbarkeit | N/V | 99,9 % | 99,9 % | – | – | – |
Datenverschlüsselung während der Übertragung | Ja | Ja | Ja | Ja | Ja | Ja |
Netzwerkisolation | Ja | Ja | Ja | Ja | Ja | Ja |
Vertikales Hochskalieren/Horizontales Hochskalieren | Ja | Ja | Ja | Ja | Ja | Ja |
Vertikales Herunterskalieren/Horizontales Herunterskalieren | Ja | Ja | Ja | Nr. | Nr. | No |
OSS-Clustering | No | Nein | Ja | Ja | Ja | Ja |
Datenpersistenz | No | Nein | Ja | Ja | Ja | Ja |
Zonenredundanz | No | Ja (Vorschau) | Ja | Ja | Ja | Ja |
Georeplikation | No | No | Ja (Passiv) | Ja (Aktiv) | Ja (Aktiv) | Ja (Aktiv) |
Überwachungsprotokolle für Verbindungen | No | Nein | Ja | Ja (Ereignisbasiert) | Ja (Ereignisbasiert) | Ja (Ereignisbasiert) |
Redis-Module | No | Nr. | Nein | Ja | Ja | Ja |
Import/Export | No | Nein | Ja | Ja | Ja | Ja |
Neustart | Ja | Ja | Ja | Nr. | Nr. | No |
Geplante Updates | Ja | Ja | Ja | Nr. | Nr. | No |
Microsoft Entra ID-Authentifizierung | Ja | Ja | Ja | Ja | Ja | Ja |
Microsoft Entra ID RBAC | Ja | Ja | Ja | Nr. | Nr. | No |
Keyspacebenachrichtigung | Ja | Ja | Ja | Nr. | Nr. | No |
Keine Hochverfügbarkeit | N/V | Nein | Nein | Ja | Ja | Ja |
Hier sind einige weitere Unterschiede, die durch die vorherige Zuordnung nicht abgedeckt sind. Berücksichtigen Sie folgende Änderungen bei Clientanwendungen:
Funktionsbeschreibung | Azure Cache for Redis | Azure Managed Redis (Vorschau) |
---|---|---|
DNS-Suffix (nur für PROD-Cloud) | .redis.cache.windows.net |
<region>.redis.azure.net |
TLS-Port | 6380 | 10000 |
Nicht-TLS-Port | 6379 | Nicht unterstützt |
TLS-Ports für einzelne Knoten | 130XX | 85xx |
Nicht-TLS-Ports für einzelne Knoten | 150XX | Nicht unterstützt |
Unterstützung für Clustering | OSS-Clusteringmodus | OSS- und Enterprise-Clustermodus |
Nicht unterstützte Befehle | Nicht unterstützte Befehle | Befehle mit mehreren Schlüsseln |
Regionale Verfügbarkeit | Alle Azure-Regionen | Nur Regionen mit drei Verfügbarkeitszonen Weitere Informationen finden Sie unter Produktverfügbarkeit. |
Redis-Version | 6 | 7.4 |
Unterstützte TLS-Versionen | 1.2 und 1.3 | 1.2 und 1.3 |
Migrieren Ihrer Azure Cache for Redis-Instanz zu Azure Managed Redis
Hinweis
Stellen Sie sicher, dass Sie die restlichen Anwendungen und zugehörigen Azure-Ressourcen bei Bedarf aktualisieren, um den Cache zu verwenden.
Auswählen des Caches, den Sie aus dem Azure-Portal verschieben möchten
Azure Cache for Redis Basic/Standard/Premium (nicht gruppiert)
Hinweis
Verwenden der Option „Keine Hochverfügbarkeit“ von Azure Managed Redis für die Migration von Basic-SKUs
Azure Cache for Redis | Azure Managed Redis | Zusätzlicher Arbeitsspeicher (%) |
---|---|---|
Basic/Standard – C0 | Ausgewogen – B0 | 50 |
Basic/Standard – C1 | Ausgewogen – B1 | 0 |
Basic/Standard – C2 | Ausgewogen – B3 | 17 |
Basic/Standard – C3 | Ausgewogen – B5 | 0 |
Basic/Standard – C4 | Arbeitsspeicheroptimiert – M10 | -8 |
Basic/Standard – C4 | Arbeitsspeicheroptimiert – M20** | 46 |
Basic/Standard – C5 | Arbeitsspeicheroptimiert – M20* | -8 |
Basic/Standard – C5 | Arbeitsspeicheroptimiert – M50** | 57 |
Basic/Standard – C6 | Arbeitsspeicheroptimiert – M50 | 12 |
Premium –P1 | Ausgewogen – B5 | 0 |
Premium –P2 | Ausgewogen – B10* | -8 |
Premium –P2 | Ausgewogen – B20** | 46 |
Premium –P3 | Ausgewogen – B20* | -8 |
Premium –P3 | Ausgewogen – B50* | 57 |
Premium –P4 | Ausgewogen – B50 | 12 |
Premium –P5 | Ausgewogen – B100 | 0 |
- *Diese Option zeichnet sich durch Kosteneffizienz aus. Stellen Sie für das Auswählen dieser Option sicher, dass der Höchstwert des verwendeten Arbeitsspeichers im letzten Monat kleiner als der vorgeschlagene AMR-Speicher ist.
- ** Diese Option eignet sich für hohen Arbeitsspeicherverbrauch.
Azure Cache for Redis Premium (gruppiert)
- Wählen Sie für Shardcluster einen arbeitsspeicheroptimierten Tarif mit gleichwertigem Gesamtspeicher aus.
- Wählen Sie für Cluster mit mehr als einem Lesereplikat einen für Compute optimierten Tarif mit gleichwertigem Gesamtspeicher als primäres Replikat aus.
Migrationsoptionen
Clientanwendungen sollten in der Lage sein, eine Azure Managed Redis-Instanz mit unterschiedlichen Clusteringmodi und Endpunkten zu verwenden. Azure Cache for Redis und Azure Managed Redis (Vorschau) sind kompatibel, sodass für die meisten Szenarien außer Verbindungskonfigurationen keine Änderungen am Anwendungscode erforderlich sind.
Weitere Informationen finden Sie unter:
Optionen für das Migrieren von Azure Cache for Redis zu Azure Managed Redis
Option | Vorteile | Nachteile |
---|---|---|
Erstellen eines neuen Caches | Die am einfachsten zu implementierende Methode. | Daten müssen im neuen Cache wieder aufgefüllt werden, was bei vielen Anwendungen möglicherweise nicht funktioniert. |
Exportieren und Importieren von Daten über eine RDB-Datei | Im Allgemeinen mit jedem Redis-Cache kompatibel. | Einige Daten könnten verloren gehen, wenn sie nach dem Generieren der RDB-Datei in den vorhandenen Cache geschrieben werden. |
Duale Schreibvorgänge in zwei Caches | Kein Datenverlust und keine Ausfallzeiten Unterbrechungsfreie Vorgänge im vorhandenen Cache. Einfacheres Testen des neuen Caches. | Für einen längeren Zeitraum sind zwei Caches erforderlich. |
Programmgesteuertes Migrieren von Daten | Vollständige Kontrolle über die Verlagerung der Daten. | Erfordert benutzerdefinierten Code. |
Erstellen einer neuen Azure Cache for Redis-Instanz
Dieser Ansatz ist technisch gesehen keine Migration. Wenn Datenverluste kein Problem sind, können Sie am einfachsten zum Azure Managed Redis-Tarif wechseln, indem Sie eine neue Cache-Instanz erstellen und Ihre Anwendung damit verbinden. Wenn Sie Redis beispielsweise als Suchcache für Datenbank-Datensätze verwenden, können Sie den Cache problemlos von Grund auf neu erstellen. Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Erstellen Sie eine neue Azure Managed Redis-Instanz.
- Aktualisieren Sie Ihre Anwendung, sodass die neue Instanz verwendet wird.
- Löschen Sie die alte Azure Cache for Redis-Instanz.
Exportieren von Daten in eine RDB-Datei und Importieren in Azure Managed Redis
Diese Option gilt nur für Premium-Tarif-Caches. Open-Source-Redis definiert einen Standardmechanismus, um eine Momentaufnahme des In-Memory-Datasets eines Caches zu erstellen und in einer Datei zu speichern. Diese als RDB bezeichnete Datei kann von einem anderen Redis-Cache gelesen werden. Der Azure Cache for Redis-Premium-Tarif unterstützt das Exportieren aus einer Cache-Instanz mithilfe von RDB-Dateien. Sie können eine RDB-Datei verwenden, um Daten aus einer vorhandenen Azure Cache for Redis-Instanz in Azure Managed Redis zu übertragen.
Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Erstellen Sie eine neue Azure Managed Redis-Instanz, die genauso groß (oder größer) wie die vorhandene Azure Cache for Redis-Instanz ist.
- Exportieren der RDB-Datei aus einer vorhandenen Azure Cache for Redis-Instanz mithilfe dieser Exportanweisungen oder des PowerShell-Export-Cmdlets
- Importieren der RDB-Datei mithilfe dieser Importanweisungen oder dem PowerShell-Cmdlet für den Import in die Azure Managed Redis-Instanz
- Aktualisieren Sie Ihre Anwendung so, dass sie die neue Azure Managed Redis-Instanz-Verbindungszeichenfolge verwendet.
Exportieren der Daten:
az redis export --resource-group <ResourceGroupName> --name <Azure Cache for Redis instance name> --prefix <BlobPrefix> --container <ContainerName> --file-format <FileFormat>
Importieren der Daten:
az redis import --resource-group <ResourceGroupName> --name <Azure Managed Redis instance name> --files <BlobUris>
Ersetzen Sie ResourceGroupName, CacheName, BlobPrefix, ContainerNameund FileFormat- durch Ihre spezifischen Werte. Das Dateiformat (--file-format_) kann entweder RDB oder AOF sein.
Gleichzeitiges Schreiben in zwei Redis Cache-Instanzen während der Migrationsphase
Anstatt Daten direkt zwischen Caches zu verschieben, können Sie Ihre Anwendung verwenden, um Daten sowohl in einen vorhandenen als auch in einen neuen, von Ihnen eingerichteten Cache zu schreiben. Die Anwendung liest Daten anfangs weiterhin aus dem vorhandenen Cache. Wenn der neue Cache über alle notwendigen Daten verfügt, konfigurieren Sie Ihre Anwendung für den neuen Cache und nehmen den alten außer Betrieb. Ein Beispiel: Sie verwenden Redis als Sitzungsspeicher, und die Anwendungssitzungen sind sieben Tage lang gültig. Nachdem eine Wochen lang in beide Caches geschrieben wurde, können Sie sicher sein, dass der neue Cache alle nicht abgelaufenen Sitzungsinformationen enthält. Ab diesem Zeitpunkt können Sie sich auf diesen Cache verlassen, ohne sich Gedanken um Datenverluste machen zu müssen.
Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Erstellen Sie eine neue Azure Managed Redis-Instanz, die genauso groß (oder größer) wie die vorhandene Azure Cache for Redis-Instanz ist.
- Ändern Sie den Anwendungscode, sodass die Anwendung sowohl in die neue als auch in die ursprüngliche Cache-Instanz schreibt.
- Verwenden Sie zum Lesen der Daten weiterhin die ursprüngliche Instanz, bis die neue Instanz ausreichend mit Daten aufgefüllt ist.
- Aktualisieren Sie den Anwendungscode, sodass die Anwendung zum Lesen und Schreiben von Daten ausschließlich die neue Instanz verwendet.
- Löschen Sie die ursprüngliche Instanz.
Programmgesteuertes Migrieren
Erstellen Sie einen benutzerdefinierten Migrationsprozess, indem Sie Daten programmgesteuert aus einer vorhandenen Azure Cache for Redis-Instanz lesen und in eine Azure Managed Redis-Instanz schreiben lassen. Es gibt zwei Open Source-Tools, die Sie dafür ausprobieren können:
- Redis-copy
- Dieses Open-Source-Tool kann zum Kopieren von Daten aus einer Azure Cache for Redis-Instanz in eine andere verwendet werden. Dieses Tool ist sehr nützlich, wenn Sie Daten zwischen Cache-Instanzen in verschiedenen Azure Cache-Regionen verschieben müssen. Eine kompilierte Version ist ebenfalls verfügbar. Wenn Sie selbst ein Migrationstool schreiben, ist auch der Quellcode möglicherweise ein nützlicher Leitfaden.
- RIOT
- RIOT ist ein weiteres beliebtes Migrationstool, das von der Redis-Community getestet wurde. Es ist ein Befehlszeilenprogramm, das Sie beim Abrufen von Daten aus Redis sowie beim Schreiben von Daten in Redis unterstützt.
Hinweis
Dieses Tool wird von Microsoft nicht offiziell unterstützt.
Hier finden Sie die allgemeinen Schritte zum Implementieren dieser Option:
- Erstellen Sie eine VM in der Region, in der sich der vorhandene Cache befindet. Wenn Ihr Dataset groß ist, wählen Sie eine relativ leistungsstarke VM aus, um die Kopierdauer zu verkürzen.
- Erstellen Sie eine neue Azure Managed Redis-Instanz.
- Leeren Sie den neuen Cache, um sicherzustellen, dass sich keine Daten darin befinden. Dieser Schritt ist erforderlich, weil das Kopiertool selbst keine vorhandenen Schlüssel im Zielcache überschreibt. Wichtig: Stellen Sie sicher, dass Sie NICHT den Quellcache leeren.
- Verwenden Sie eine Anwendung wie z. B. das vorhin erwähnte Open-Source-Tool, um das Kopieren der Daten vom Quell- zum Zielcache zu automatisieren. Denken Sie daran, dass der Kopiervorgang je nach Größe Ihres Datasets eine Weile dauern kann.