Verwenden von Redis OSS als Ziel für AWS Database Migration Service - AWS Database Migration Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Redis OSS als Ziel für AWS Database Migration Service

Redis OSS ist ein speicherinterner Open-Source-Datenstrukturspeicher, der als Datenbank, Cache und Nachrichtenbroker verwendet wird. Durch die Verwaltung von Daten im Speicher können Lese- oder Schreibvorgänge unter Umständen in weniger als einer Millisekunde ausgeführt werden und es sind Hunderte Millionen von Vorgängen pro Sekunde möglich. Als In-Memory-Datenspeicher unterstützt Redis OSS die anspruchsvollsten Anwendungen, die Reaktionszeiten unter einer Millisekunde erfordern.

Mit dieser AWS DMS Methode können Sie Daten aus jeder unterstützten Quelldatenbank mit minimaler Ausfallzeit in einen Redis OSS-Zieldatenspeicher migrieren. Weitere Informationen zu Redis OSS finden Sie in der Redis OSS-Dokumentation.

Zusätzlich zu On-Premises-Redis OSS unterstützt es AWS Database Migration Service Folgendes:

  • Amazon ElastiCache (Redis OSS) als Zieldatenspeicher. ElastiCache (Redis OSS) funktioniert mit Ihren Redis OSS-Clients und verwendet das offene Redis OSS-Datenformat zum Speichern Ihrer Daten.

  • Amazon MemoryDB als Zieldatenspeicher. MemoryDB ist mit Redis OSS kompatibel und ermöglicht es Ihnen, Anwendungen mit allen heute verwendeten Redis OSS-Datenstrukturen und Befehlen zu erstellen. APIs

Weitere Informationen zur Arbeit mit Redis OSS als Ziel für finden Sie in den folgenden Abschnitten AWS DMS:

Voraussetzungen für die Verwendung eines Redis OSS-Clusters als Ziel für AWS DMS

DMS unterstützt ein lokales Redis OSS-Ziel in einer eigenständigen Konfiguration oder als Redis OSS-Cluster, bei dem Daten automatisch auf mehrere Knoten verteilt werden. Sharding ist ein Prozess, bei dem Daten in kleinere Blöcke, sogenannte Shards, aufgeteilt werden, die auf mehrere Server oder Knoten verteilt werden. Ein Shard ist eine Datenpartition, die eine Teilmenge des gesamten Datensatzes enthält und einen Teil der gesamten Workload abdeckt.

Da es sich bei Redis OSS um einen NoSQL-Datenspeicher mit Schlüsselwerten handelt, lautet die Redis OSS-Schlüsselbenennungskonvention, die Sie verwenden sollten, wenn Ihre Quelle eine relationale Datenbank ist, schema-name.table-name.primary-key. In Redis OSS dürfen der Schlüssel und der Wert das Sonderzeichen% nicht enthalten. Andernfalls überspringt DMS den Datensatz.

Anmerkung

Wenn Sie ElastiCache (Redis OSS) als Ziel verwenden, unterstützt DMS nur Konfigurationen, die den Clustermodus aktivieren. Weitere Informationen zur Verwendung von ElastiCache (Redis OSS) Version 6.x oder höher zur Erstellung eines Zieldatenspeichers mit aktiviertem Clustermodus finden Sie unter Erste Schritte im Amazon ElastiCache (Redis OSS) -Benutzerhandbuch.

Bevor Sie mit einer Datenbankmigration beginnen, starten Sie Ihren Redis OSS-Cluster mit den folgenden Kriterien.

  • Ihr Cluster enthält einen oder mehrere Shards.

  • Wenn Sie ein ElastiCache (Redis OSS-) Ziel verwenden, stellen Sie sicher, dass Ihr Cluster keine rollenbasierte IAM-Zugriffskontrolle verwendet. Verwenden Sie stattdessen Redis OSS Auth, um Benutzer zu authentifizieren.

  • Aktivieren Sie Multi-AZ (Availability Zones).

  • Stellen Sie sicher, dass auf dem Cluster genug Speicher für die zu migrierenden Daten aus der Datenbank verfügbar ist.

  • Stellen Sie sicher, dass Ihr Redis-OSS-Zielcluster keine Daten enthält, bevor Sie mit der ersten Migrationsaufgabe beginnen.

Sie sollten Ihre Sicherheitsanforderungen für die Datenmigration ermitteln, bevor Sie Ihre Cluster-Konfiguration erstellen. DMS unterstützt die Migration zu Zielreplikationsgruppen unabhängig von ihrer Verschlüsselungskonfiguration. Sie können die Verschlüsselung jedoch nur aktivieren oder deaktivieren, wenn Sie Ihre Cluster-Konfiguration erstellen.

Einschränkungen bei der Verwendung von Redis als Ziel für AWS Database Migration Service

Bei der Verwendung von Redis OSS als Ziel gelten die folgenden Einschränkungen:

  • Da es sich bei Redis OSS um einen No-SQL-Datenspeicher mit Schlüsselwerten handelt, gilt die Redis OSS-Schlüsselbenennungskonvention, die Sie verwenden sollten, wenn es sich bei Ihrer Quelle um eine relationale Datenbank handelt, schema-name.table-name.primary-key

  • In Redis OSS darf der Schlüsselwert das Sonderzeichen nicht enthalten. % Andernfalls überspringt DMS den Datensatz.

  • DMS migriert keine Zeilen, die das Zeichen enthalten. %

  • DMS migriert keine Felder, die das % Zeichen im Feldnamen enthalten.

  • Der vollständige LOB-Modus wird nicht unterstützt.

  • Eine private Zertifizierungsstelle (CA) wird nicht unterstützt, wenn ElastiCache (Redis OSS) als Ziel verwendet wird.

Migrieren von Daten aus einer relationalen oder nicht-relationalen Datenbank zu einem Redis OSS-Ziel

Sie können Daten aus jedem SQL- oder NoSQL-Quelldatenspeicher direkt zu einem Redis OSS-Ziel migrieren. Das Einrichten und Starten einer Migration zu einem Redis OSS-Ziel ähnelt jeder Migration von Volllast und Change Data Capture mithilfe der DMS-Konsole oder API. Um eine Datenbankmigration zu einem Redis OSS-Ziel durchzuführen, gehen Sie wie folgt vor.

  • Erstellen Sie eine Replikations-Instance, die alle Migrationsprozesse durchführt. Weitere Informationen finden Sie unter Erstellen einer Replikations-Instance.

  • Geben Sie einen Quellendpunkt an. Weitere Informationen finden Sie unter Erstellen der Quell- und Zielendpunkte.

  • Suchen Sie nach dem DNS-Namen und der Portnummer Ihres Clusters.

  • Laden Sie ein Zertifikatpaket herunter, das Sie zur Überprüfung von SSL-Verbindungen verwenden können.

  • Geben Sie einen Zielendpunkt an, wie unten beschrieben.

  • Erstellen Sie eine oder mehrere Aufgaben, um festzulegen, welche Tabellen und Replikationsprozesse verwendet werden sollen. Weitere Informationen finden Sie unter Erstellen einer Aufgabe.

  • Migrieren Sie Daten aus Ihrer Quelldatenbank zu Ihrem Ziel-Cluster.

Sie haben zwei Möglichkeiten, mit einer Datenbankmigration zu beginnen:

  1. Sie können die AWS DMS Konsole auswählen und jeden Schritt dort ausführen.

  2. Sie können das AWS Command Line Interface (AWS CLI) verwenden. Weitere Informationen zur Verwendung der CLI mit AWS DMS finden Sie unter AWS CLI for AWS DMS.

So finden Sie den DNS-Namen und die Portnummer Ihres Clusters
  • Verwenden Sie den folgenden AWS CLI Befehl, um replication-group-id den Namen Ihrer Replikationsgruppe anzugeben.

    aws elasticache describe-replication-groups --replication-group-id myreplgroup

    Hier zeigt die Ausgabe den DNS-Namen im Attribut Address und die Portnummer im Attribut Port des Primärknotens im Cluster.

    ... "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup- 111.1abc1d.1111.uuu1.cache.example.com" } ...

    Wenn Sie MemoryDB als Ziel verwenden, verwenden Sie den folgenden AWS CLI Befehl, um eine Endpunktadresse für Ihren Redis OSS-Cluster bereitzustellen.

    aws memorydb describe-clusters --clusterid clusterid
Laden Sie ein Zertifikatpaket herunter, mit dem SSL-Verbindungen überprüft werden können.
  • Geben Sie in der Befehlszeile den folgenden wget-Befehl ein: Wget ist ein kostenloses GNU-Befehlszeilen-Dienstprogramm, das zum Herunterladen von Dateien aus dem Internet verwendet wird.

    wget https://s3.aws-api-domain/rds-downloads/rds-combined-ca-bundle.pem

    Hier aws-api-domain wird die Amazon S3 S3-Domain in Ihrer AWS Region vervollständigt, die für den Zugriff auf den angegebenen S3-Bucket und die bereitgestellte rds-combined-ca-bundle .pem-Datei erforderlich ist.

Um einen Zielendpunkt mit der Konsole zu erstellen AWS DMS

Dieser Endpunkt ist für Ihr Redis OSS-Ziel bestimmt, das bereits läuft.

  • Wählen Sie im Navigationsbereich Endpunkte und anschließend Endpunkt erstellen aus. In der folgenden Tabelle sind die Einstellungen beschrieben.

    Option Vorgehensweise

    Endpunkttyp

    Wählen Sie den Ziel-Endpunkttyp aus.

    Endpoint identifier

    Geben Sie den Namen Ihres Endpunkts ein. Beziehen Sie beispielsweise den Endpunkttyp in den Namen ein (z. B. my-redis-target).

    Ziel-Engine

    Wählen Sie Redis OSS als den Typ der Datenbank-Engine, mit der dieser Endpunkt eine Verbindung herstellen soll.

    Cluster name

    Geben Sie den DNS-Namen Ihres Redis OSS-Clusters ein.

    Port

    Geben Sie die Portnummer Ihres Redis OSS-Clusters ein.

    SSL-Sicherheitsprotokoll

    Wählen Sie entweder Nur-Text oder SSL-Verschlüsselung aus.

    Nur-Text – Diese Option bietet keine Transport Layer Security (TLS)-Verschlüsselung für den Datenverkehr zwischen Endpunkt und Datenbank.

    SSL-Verschlüsselung – Geben Sie bei Auswahl dieser Option einen ARN für ein SSL-Zertifikat der Zertifizierungsstelle (CA) ein, um das Serverzertifikat zu überprüfen und eine verschlüsselte Verbindung herzustellen.

    Für Redis OSS vor Ort unterstützt DMS sowohl die öffentliche als auch die private Zertifizierungsstelle (CA). Für ElastiCache (Redis OSS) unterstützt DMS nur eine öffentliche CA.

    Authentifizierungstyp

    Wählen Sie den Authentifizierungstyp aus, der bei der Verbindung zu Redis OSS durchgeführt werden soll. Mögliche Optionen sind: Keine, Authentifizierungsrolle und Authentifizierungs-Token.

    Geben Sie bei Auswahl von „Authentifizierungsrolle“ einen Benutzernamen für die Authentifizierung und ein Passwort für die Authentifizierung an.

    Geben Sie bei Auswahl von „Authentifizierungs-Token“ nur ein Passwort für die Authentifizierung an.

    Replication instance

    [Optional] Nur wenn Sie Ihre Verbindung testen möchten, wählen Sie hier den Namen der Replikations-Instance, die Sie zuvor auf der Seite Replikations-Instance erstellen eingegeben haben.

Wenn Sie alle Informationen für Ihren Endpunkt bereitgestellt haben, AWS DMS erstellt es Ihren Redis OSS-Zielendpunkt zur Verwendung bei der Datenbankmigration.

Informationen zum Erstellen einer Migrationsaufgabe und zum Starten Ihrer Datenbankmigration finden Sie unter Erstellen einer Aufgabe.

Angeben der Endpunkteinstellungen für Redis OSS als Ziel

Um einen Zielendpunkt zu erstellen oder zu ändern, können Sie die Konsole oder die CreateEndpoint- oder ModifyEndpoint-API-Vorgänge verwenden.

Geben Sie für ein Redis OSS-Ziel in der AWS DMS Konsole auf der Seite Endpoint erstellen oder Endpoint modifizieren die endpunktspezifischen Einstellungen an.

Wenn Sie die API-Operationen CreateEndpoint und ModifyEndpoint verwenden, geben Sie Anforderungsparameter für die Option RedisSettings an. Das folgende Beispiel zeigt, wie dies über die AWS CLI geschehen kann.

aws dms create-endpoint --endpoint-identifier my-redis-target --endpoint-type target --engine-name redis --redis-settings '{"ServerName":"sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com","Port":6379,"AuthType":"auth-token", "SslSecurityProtocol":"ssl-encryption", "AuthPassword":"notanactualpassword"}' { "Endpoint": { "EndpointIdentifier": "my-redis-target", "EndpointType": "TARGET", "EngineName": "redis", "EngineDisplayName": "Redis", "TransferFiles": false, "ReceiveTransferredFiles": false, "Status": "active", "KmsKeyId": "arn:aws:kms:us-east-1:999999999999:key/x-b188188x", "EndpointArn": "arn:aws:dms:us-east-1:555555555555:endpoint:ABCDEFGHIJKLMONOPQRSTUVWXYZ", "SslMode": "none", "RedisSettings": { "ServerName": "sample-test-sample.zz012zz.cluster.eee1.cache.bbbxxx.com", "Port": 6379, "SslSecurityProtocol": "ssl-encryption", "AuthType": "auth-token" } } }

Die Parameter für --redis-settings lauten wie folgt:

  • ServerName— (Erforderlich) Typstring, gibt den Redis OSS-Cluster an, in den Daten migriert werden, und der sich in derselben VPC befindet.

  • Port – (Erforderlich), Typ number, der Portwert, der für den Zugriff auf den Endpunkt verwendet wird.

  • SslSecurityProtocol – (Optional), gültige Werte sind plaintext und ssl-encryption. Der Standardwert ist ssl-encryption.

    Die plaintext-Option bietet keine Transport Layer Security (TLS)-Verschlüsselung für den Datenverkehr zwischen Endpunkt und Datenbank.

    Verwenden Sie ssl-encryption, um eine verschlüsselte Verbindung herzustellen. ssl-encryption benötigt keinen ARN der SSL-Zertifizierungsstelle (CA), um das Zertifikat eines Servers zu verifizieren, über die Einstellung SslCaCertificateArn kann jedoch optional einer angegeben werden. Wenn kein ARN für eine Zertifizierungsstelle angegeben wird, verwendet DMS die Amazon-Stammzertifizierungsstelle.

    Wenn Sie ein lokales Redis OSS-Ziel verwenden, können Sie SslCaCertificateArn damit eine öffentliche oder private Zertifizierungsstelle (CA) in DMS importieren und diesen ARN für die Serverauthentifizierung bereitstellen. Eine private CA wird nicht unterstützt, wenn Sie ElastiCache (Redis OSS) als Ziel verwenden.

  • AuthType— (Erforderlich) Gibt die Art der Authentifizierung an, die bei der Verbindung mit Redis OSS durchgeführt werden soll. Gültige Werte sind: none, auth-token und auth-role.

    Für die auth-token Option muss ein AuthPassword "angegeben werden, während für die auth-role Option die Angabe von" AuthUserName "und" AuthPassword "erforderlich ist.