Keine ETL Integration mit Amazon OpenSearch Service - Amazon DocumentDB

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.

Keine ETL Integration mit Amazon OpenSearch Service

Amazon OpenSearch Service als Ziel

OpenSearch Die Serviceintegration mit Amazon DocumentDB ermöglicht es Ihnen, Volllast- und Änderungsdatenereignisse an OpenSearch Domains zu streamen. Die Aufnahmeinfrastruktur wird als OpenSearch Ingestion-Pipelines gehostet und bietet einen umfassenden Mechanismus mit geringer Latenz, um kontinuierlich Daten aus Amazon DocumentDB-Sammlungen zu streamen.

Bei Volllast extrahiert die ETL Zero-Integration zunächst historische Volllastdaten, um sie mithilfe einer Aufnahme-Pipeline zu extrahieren. OpenSearch Sobald die Volllastdaten aufgenommen wurden, beginnen die OpenSearch Aufnahme-Pipelines mit dem Lesen von Daten aus Amazon DocumentDB-Change-Streams und catch schließlich auf, um die Datenkonsistenz zwischen Amazon DocumentDB und nahezu in Echtzeit aufrechtzuerhalten. OpenSearch OpenSearch speichert Dokumente in Indizes. Eingehende Daten aus Amazon DocumentDB-Sammlungen können entweder an einen Index gesendet oder in verschiedene Indizes partitioniert werden. Ingestion-Pipelines synchronisieren alle Erstellungs-, Aktualisierungs- und Löschereignisse in einer Amazon DocumentDB-Sammlung als entsprechendes Erstellen, Aktualisieren und Löschen von OpenSearch Dokumenten, um beide Datensysteme synchron zu halten. Aufnahme-Pipelines können so konfiguriert werden, dass sie Daten aus einer Sammlung lesen und in einen Index schreiben oder Daten aus einer Sammlung lesen und bedingt an mehrere Indizes weiterleiten.

Aufnahme-Pipelines können so konfiguriert werden, dass sie Daten von Amazon DocumentDB zu Amazon Service streamen, indem Sie: OpenSearch

  • Nur Volllast

  • Stream-Change-Stream-Ereignisse von Amazon DocumentDB ohne Volllast streamen

  • Volllast, gefolgt von Change-Streams aus Amazon DocumentDB

Gehen Sie wie folgt vor, um Ihre Aufnahme-Pipeline einzurichten:

Schritt 1: Amazon OpenSearch Service-Domain oder OpenSearch serverlose Sammlung erstellen

Eine Amazon OpenSearch Service-Erfassung mit entsprechenden Berechtigungen zum Lesen von Daten ist erforderlich. Informationen zum Erstellen einer Sammlung finden Sie unter Erste Schritte mit Amazon OpenSearch Service oder Erste Schritte mit Amazon OpenSearch Serverless im Amazon OpenSearch Service Developer Guide. Informationen zum Erstellen einer AIM Rolle mit den richtigen Berechtigungen für den Zugriff auf Schreibdaten für die Sammlung oder Domain finden Sie unter Amazon OpenSearch Ingestion im Amazon OpenSearch Service Developer Guide.

Schritt 2: Change-Streams im Amazon DocumentDB-Cluster aktivieren

Stellen Sie sicher, dass Change-Streams für die erforderlichen Sammlungen im Amazon DocumentDB-Cluster aktiviert sind. Weitere Informationen finden Sie unter Change-Streams mit Amazon DocumentDB verwenden.

Schritt 3: Richten Sie die Pipeline-Rolle mit Schreibberechtigungen für den Amazon S3 S3-Bucket und die Zieldomäne oder Sammlung ein

Nachdem Sie Ihre Amazon DocumentDB-Sammlung erstellt und den Change-Stream aktiviert haben, richten Sie die Pipeline-Rolle ein, die Sie in Ihrer Pipeline-Konfiguration verwenden möchten, und fügen Sie der Rolle die folgenden Berechtigungen hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "allowReadAndWriteToS3ForExport", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::my-bucket/export/*" ] } ] }

Damit eine OpenSearch Pipeline Daten in eine Domain schreiben kann, muss die OpenSearch Domain über eine Zugriffsrichtlinie auf Domänenebene verfügen, die der Pipeline-Rolle sts_role_arn den Zugriff darauf ermöglicht. Die folgende Beispielrichtlinie für den Domänenzugriff ermöglicht es der Pipeline-Rolle mit dem Namenpipeline-role, die Sie im vorherigen Schritt erstellt haben, Daten in die angegebene Domäne zu schreiben: ingestion-domain

{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{your-account-id}:role/{pipeline-role}" }, "Action": ["es:DescribeDomain", "es:ESHttp*"], "Resource": "arn:aws:es:{region}:{your-account-id}:domain/{domain-name}/*" } ] }

Schritt 4: Fügen Sie die für die Pipeline-Rolle erforderlichen Berechtigungen hinzu, um X- zu erstellen ENI

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": [ "arn:aws:ec2:*:420497401461:network-interface/*", "arn:aws:ec2:*:420497401461:subnet/*", "arn:aws:ec2:*:420497401461:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:RequestTag/OSISManaged": "true" } } } ] }

Schritt 5: Erstellen Sie die Pipeline

Konfigurieren Sie eine OpenSearch Aufnahme-Pipeline mit Amazon DocumentDB als Quelle. Bei dieser Beispiel-Pipeline-Konfiguration wird davon ausgegangen, dass ein Mechanismus zum Abrufen von Change-Streams verwendet wird. Weitere Informationen finden Sie unter Verwenden einer OpenSearch Ingestion-Pipeline mit Amazon DocumentDB im Amazon OpenSearch Service Developer Guide.

Einschränkungen

Die folgenden Einschränkungen gelten für die Amazon DocumentDB OpenSearch DocumentDB-Integration:

  • Pro Pipeline wird nur eine Amazon DocumentDB-Sammlung als Quelle unterstützt.

  • Die regionsübergreifende Datenaufnahme wird nicht unterstützt. Ihr Amazon DocumentDB-Cluster und Ihre OpenSearch Domain müssen sich in derselben AWS Region befinden.

  • Die kontoübergreifende Datenaufnahme wird nicht unterstützt. Ihr Amazon DocumentDB-Cluster und Ihre OpenSearch Ingestion-Pipeline müssen sich im selben Konto befinden. AWS

  • Elastische Amazon DocumentDB-Cluster werden nicht unterstützt. Es werden nur auf Amazon DocumentDB DocumentDB-Instanzen basierende Cluster unterstützt.

  • Stellen Sie sicher, dass für den Amazon DocumentDB-Cluster die Authentifizierung mithilfe von AWS Geheimnissen aktiviert ist. AWS Geheimnisse sind der einzige unterstützte Authentifizierungsmechanismus.

  • Die bestehende Pipeline-Konfiguration kann nicht aktualisiert werden, um Daten aus einer anderen Datenbank und/oder einer anderen Sammlung aufzunehmen. Um den Datenbank- und/oder Sammlungsnamen einer Pipeline zu aktualisieren, müssen Sie eine neue Pipeline erstellen.