Verwenden eines Clusters in Amazon OpenSearch Service 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 eines Clusters in Amazon OpenSearch Service als Ziel für AWS Database Migration Service

Mit AWS DMS können Sie Daten zu Amazon OpenSearch Service (OpenSearch Service) migrieren. OpenSearch Service ist ein verwalteter Service zum einfachen Bereitstellen, Betreiben und Skalieren von OpenSearch-Service-Clustern.

In OpenSearch Service arbeiten Sie mit Indizes und Dokumenten. Ein Index ist eine Sammlung von Dokumenten; ein Dokument ist ein JSON-Objekt, das Skalarwerte, Arrays und andere Objekte enthält. OpenSearch stellt eine JSON-basierte Abfragesprache bereit, sodass Sie Daten in einem Index abfragen und die entsprechenden Dokumente abrufen können.

Wenn AWS DMS Indizes für einen Zielendpunkt für OpenSearch Service erstellt, wird ein Index für jede Tabelle vom Quellendpunkt erstellt. Die Kosten für das Erstellen eines OpenSearch-Service-Index hängen von mehreren Faktoren ab. Dazu gehören die Anzahl der erstellten Indizes, die Gesamtmenge von Daten in diesen Indizes und die geringe Menge von Metadaten, die OpenSearch für jedes Dokument speichert.

Konfigurieren Sie Ihren OpenSearch-Service-Cluster mit Rechen- und Speicherressourcen, die für den Umfang der Migration geeignet sind. Wir empfehlen, dass Sie abhängig von der Replikationsaufgabe, die Sie verwenden möchten, die folgenden Faktoren berücksichtigen:

  • Erwägen Sie für einen vollständigen Datenladevorgang die Gesamtmenge der Daten, die Sie migrieren möchten, sowie auch die Übertragungsgeschwindigkeit.

  • Berücksichtigen Sie für die Replikation fortlaufender Änderungen die Häufigkeit der Aktualisierungen und Ihre Anforderungen für eine End-to-End-Latenz.

Konfigurieren Sie außerdem die Index-Einstellungen auf Ihrem OpenSearch-Cluster und achten Sie dabei genau auf die Dokumentenanzahl.

Aufgabeneinstellungen für vollständige Multithread-Ladevorgänge

Um die Übertragungsgeschwindigkeit zu erhöhen, unterstützt AWS DMS Multi-Thread-Volllastvorgänge in einen Ziel-Cluster in OpenSearch Service. AWS DMS unterstützt Multi-Threading u. a. mithilfe der folgenden Aufgabeneinstellungen:

  • MaxFullLoadSubTasks – Geben Sie diese Option an, um die maximale Anzahl von Quelltabellen festzulegen, die parallel geladen werden sollen. DMS lädt jede Tabelle mithilfe einer dedizierten Unteraufgabe in den entsprechende OpenSearch-Service-Zielindex. Der Standardwert beträgt 8; der Maximalwert beträgt 49.

  • ParallelLoadThreads – Verwenden Sie diese Option, um die Anzahl der Threads anzugeben, die AWS DMS zum Laden der einzelnen Tabellen in den OpenSearch-Service-Zielindex verwendet. Der Höchstwert für ein OpenSearch-Service-Ziel ist 32. Sie können eine Erhöhung dieses Höchstwerts anfordern.

    Anmerkung

    Wenn Sie am Standardwert für ParallelLoadThreads (0) keine Änderung vornehmen, überträgt AWS DMS jeweils immer nur einen Datensatz. Durch diesen Ansatz wird der OpenSearch-Service-Cluster übermäßig belastet. Überprüfen Sie, dass für diese Option ein Wert 1 oder mehr angegeben wurde.

  • ParallelLoadBufferSize – Verwenden Sie diese Option, um die maximale Anzahl der Datensätze anzugeben, die in dem Puffer gespeichert werden sollen, den die parallelen Lade-Threads zum Laden von Daten in das OpenSearch-Service-Ziel verwenden. Der Standardwert lautet 50. Die maximale Wert ist 1.000. Verwenden Sie diese Einstellung mit ParallelLoadThreads; ParallelLoadBufferSize ist nur gültig, wenn es mehr als einen Thread gibt.

Weitere Informationen dazu, wie DMS einen OpenSearch-Service-Cluster mithilfe von Multi-Threading lädt, finden Sie im AWS-Blogbeitrag Scale Amazon OpenSearch Service for AWS Database Migration Service migrations.

Aufgabeneinstellungen für Multithreaded CDC-Ladevorgänge

Sie können die Leistung der Erfassung von Datenänderungen (Change data Capture, CDC) für einen Ziel-Cluster in OpenSearch Service mithilfe von Aufgabeneinstellungen verbessern, die das Verhalten des API-Aufrufs PutRecords ändern. Dazu können Sie die Anzahl der gleichzeitigen Threads, der Warteschlangen pro Thread und die Anzahl der Datensätze angeben, die in einem Puffer unter Verwendung von ParallelApply*-Aufgabeneinstellungen gespeichert werden sollen. Beispiel: Sie möchten eine CDC-Last ausführen und 32 Threads parallel anwenden. Außerdem möchten Sie auf 64 Warteschlangen pro Thread zugreifen, wobei 50 Datensätze pro Puffer gespeichert sind.

Anmerkung

Unterstützung für die Verwendung von ParallelApply*-Aufgabeneinstellungen während CDC-Vorgängen zu Zielendpunkten in Amazon OpenSearch Service ist in AWS DMS Version 3.4.0 und höher verfügbar.

Zur Steigerung der CDC-Leistung werden folgende Aufgabeneinstellungen von AWS DMS unterstützt:

  • ParallelApplyThreads – Gibt die Anzahl der gleichzeitigen Threads an, die AWS DMS während einer CDC-Last verwendet, um Datensätze an einen OpenSearch-Service-Zielendpunkt zu übertragen. Der Standardwert ist Null (0) und der maximale Wert ist 32.

  • ParallelApplyBufferSize – Gibt die maximale Anzahl von Datensätzen an, die in jeder Pufferwarteschlange für gleichzeitige Threads gespeichert werden sollen, um sie während einer CDC-Last an einen OpenSearch-Service-Zielendpunkt zu übertragen. Der Standardwert ist 100 und der Höchstwert 1 000. Verwenden Sie diese Option, wenn ParallelApplyThreads mehrere Threads angibt.

  • ParallelApplyQueuesPerThread – Gibt die Anzahl der Warteschlangen an, auf die jeder Thread zugreift, um Datensätze aus Warteschlangen zu entfernen und während CDC eine Stapellast für einen OpenSearch-Service-Endpunkt zu generieren.

Wenn Sie ParallelApply*-Aufgabeneinstellungen verwenden, ist der primary-key der Tabelle der partition-key-type-Standardwert, nicht schema-name.table-name.

Migrieren aus einer Tabelle in einer relationalen Datenbank zu einem OpenSearch-Service-Index

AWS DMS unterstützt die Migration von Daten in die skalaren OpenSearch-Service-Datentypen. Bei der Migration von Daten aus einer relationalen Datenbank wie Oracle oder MySQL zu OpenSearch Service möchten Sie möglicherweise die Art und Weise umstrukturieren, wie diese Daten gespeichert werden.

AWS DMS unterstützt die folgenden skalaren OpenSearch-Service-Datentypen:

  • Boolesch

  • Datum

  • Gleitkommazahl

  • Int

  • Zeichenfolge

AWS DMS wandelt Daten vom Type "Datum" in den Typ "Zeichenfolge" um. Sie können zum Auslegen dieser Datumsangaben eine benutzerdefinierte Zuweisung angeben.

AWS DMS unterstützt keine Migration von LOB-Datentypen.

Voraussetzungen für die Verwendung von Amazon OpenSearch Service als Ziel für AWS Database Migration Service

Bevor Sie eine OpenSearch-Service-Datenbank als Ziel für AWS DMS einsetzen können, müssen Sie eine AWS Identity and Access Management (IAM)-Rolle erstellen. Diese Rolle sollte AWS DMS den Zugriff auf die OpenSearch-Service-Indizes am Zielendpunkt gewähren. In der folgenden IAM-Richtlinie sind die Mindestzugriffsberechtigungen dargestellt.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Die Rolle, die Sie für die Migration zu OpenSearch Service verwenden, muss die folgenden Berechtigungen aufweisen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttpDelete", "es:ESHttpGet", "es:ESHttpHead", "es:ESHttpPost", "es:ESHttpPut" ], "Resource": "arn:aws:es:region:account-id:domain/domain-name/*" } ] }

Ersetzen Sie im vorherigen Beispiel region durch die ID der AWS-Region, account-id durch Ihre AWS-Konto-ID und domain-name durch den Namen Ihrer Domain von Amazon OpenSearch Service. Ein Beispiel ist arn:aws:es:us-west-2:123456789012:domain/my-es-domain.

Endpunkteinstellungen bei Verwendung von OpenSearch Service als Ziel für AWS DMS

Sie können Endpunkteinstellungen, ähnlich wie zusätzliche Verbindungsattribute, zum Konfigurieren Ihrer OpenSearch-Service-Zieldatenbank verwenden. Sie legen die Einstellungen fest, wenn Sie den Zielendpunkt mithilfe der AWS DMS-Konsole erstellen oder indem Sie den Befehl create-endpoint in der AWS CLI aufrufen. Verwenden Sie die JSON-Syntax --elasticsearch-settings '{"EndpointSetting": "value", ...}'.

Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit OpenSearch Service als Ziel verwenden können.

Attributname Zulässige Werte Standardwert und Beschreibung

FullLoadErrorPercentage

Eine positive Ganzzahl größer als 0, aber nicht größer als 100.

10 – Bei einem vollständigen Ladevorgang bestimmt dieses Attribut den Schwellenwert von Fehlern, die zulässig sind, bevor die Aufgabe fehlschlägt. Nehmen wir beispielsweise an, dass 1.500 Zeilen am Quellendpunkt vorhanden sind und dieser Parameter auf 10 eingestellt ist. Die Aufgabe schlägt dann fehl, wenn AWS DMS mehr als 150 Fehler (10 Prozent der Zeilenanzahl) beim Schreiben zum Zielendpunkt antrifft.

ErrorRetryDuration

Eine positive Ganzzahl größer als 0.

300 – Wenn am Zielendpunkt ein Fehler auftritt, wiederholt AWS DMS den Vorgang für die angegebene Anzahl von Sekunden. Andernfalls schlägt die Aufgabe fehl.

Einschränkungen bei Verwendung von Amazon OpenSearch Service als Ziel für AWS Database Migration Service

Die folgenden Einschränkungen gelten bei Verwendung von Amazon OpenSearch Service als Ziel:

  • OpenSearch Service nutzt die dynamische Zuordnung (einen automatischen Schätzwert), um die zu verwendenden Datentypen für migrierte Daten zu bestimmen.

  • OpenSearch Service speichert jedes Dokument mit einer eindeutigen ID. Es folgt ein Beispiel für eine solche ID.

    "_id": "D359F8B537F1888BC71FE20B3D79EAE6674BE7ACA9B645B0279C7015F6FF19FD"

    Jede Dokument-ID ist 64 Bytes lang. Dies kann daher als Speicheranforderung vorausgesetzt werden. Wenn Sie zum Beispiel 100 000 Zeilen von einer AWS DMS-Quelle migrieren, erfordert der resultierende OpenSearch-Service-Index Speicher für zusätzliche 6 400 000 Bytes.

  • OpenSearch Service lässt keine Aktualisierungen der Primärschlüsselattribute zu. Diese Einschränkung ist wichtig, wenn Sie die laufende Replikation mit Change Data Capture (CDC) verwenden, da sie zu unerwünschten Daten im Ziel führen kann. In CDC-Modus werden Primärschlüssel SHA256-Werten zugeordnet, die 32 Bytes lang sind. Diese werden in visuell lesbare 64-Byte-Zeichenfolgen konvertiert und als Dokument-IDs in OpenSearch Service verwendet.

  • Wenn AWS DMS auf Elemente trifft, die nicht migriert werden können, werden Fehlermeldungen in Amazon CloudWatch Logs geschrieben. Dieses Verhalten unterscheidet sich von anderen AWS DMS-Ziel-Endpunkte, bei denen Fehler in eine Ausnahmetabelle geschrieben werden.

  • AWS DMS unterstützt keine Verbindung mit einem Amazon-ES-Cluster, für den die differenzierte Zugriffskontrolle mit Hauptbenutzer und Passwort aktiviert ist.

  • AWS DMS unterstützt OpenSearch Service Serverless nicht.

  • OpenSearch Service unterstützt das Schreiben von Daten in bereits vorhandene Indizes nicht.

Zieldatentypen für Amazon OpenSearch Service

Wenn AWS DMS Daten aus heterogenen Datenbanken migriert, ordnet der Service Datentypen aus der Quelldatenbank Zwischendatentypen zu, die als AWS DMS-Datentypen bezeichnet werden. Der Service ordnet dann die Zwischendatentypen den Zieldatentypen zu. In der folgenden Tabelle sind die einzelnen AWS DMS-Datentypen mit dem jeweiligen Datentyp aufgeführt, zu dem die Zuordnung in OpenSearch Service erfolgt.

AWS DMS-Datentyp OpenSearch-Service-Datentyp

Boolesch

boolesch

Datum

Zeichenfolge

Zeit

date

Zeitstempel

date

INT4

Ganzzahl

Real4

float

UINT4

Ganzzahl

Weitere Informationen zu AWS DMS-Datentypen finden Sie unter Datentypen für den AWS Database Migration Service.