View a markdown version of this page

Zero-ETL intégration avec Amazon OpenSearch Service - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Zero-ETL intégration avec Amazon OpenSearch Service

Amazon OpenSearch Service en tant que destination

OpenSearch L'intégration des services à Amazon DocumentDB vous permet de diffuser des événements de chargement complet et de modification des données vers des OpenSearch domaines. L'infrastructure d'ingestion est hébergée sous forme de pipelines OpenSearch d'ingestion et fournit un mécanisme à grande échelle et à faible latence pour diffuser en continu des données à partir des collections Amazon DocumentDB.

Lors du chargement complet, l'intégration Zero-ETL extrait d'abord les données historiques de chargement complet à OpenSearch l'aide d'un pipeline d'ingestion. Une fois les données entièrement chargées, les pipelines d' OpenSearch ingestion commencent à lire les données provenant des flux de modifications d'Amazon DocumentDB et finissent par rattraper leur retard afin de maintenir une cohérence des données en temps quasi réel entre Amazon DocumentDB et. OpenSearch OpenSearch stocke les documents dans des index. Les données entrantes provenant d'une collection Amazon DocumentDB peuvent être envoyées vers un seul index ou peuvent être partitionnées en différents index. Les pipelines d'ingestion synchroniseront tous les événements de création, de mise à jour et de suppression d'une collection Amazon DocumentDB en fonction de la création, de la mise à jour et de la suppression de OpenSearch documents afin de synchroniser les deux systèmes de données. Les pipelines d'ingestion peuvent être configurés pour lire les données d'une collection et écrire dans un index ou lire les données d'une collection et les acheminer conditionnellement vers plusieurs index.

Les pipelines d'ingestion peuvent être configurés pour diffuser des données depuis Amazon DocumentDB vers Amazon OpenSearch Service en utilisant :

  • Chargement complet uniquement

  • Diffusez les événements liés aux flux de modifications depuis Amazon DocumentDB sans chargement complet

  • Chargement complet suivi de flux de modifications depuis Amazon DocumentDB

Pour configurer votre pipeline d'ingestion, effectuez les étapes suivantes :

Étape 1 : Création d'un domaine Amazon OpenSearch Service ou d'une OpenSearch collection sans serveur

Une collection Amazon OpenSearch Service dotée des autorisations appropriées pour lire les données est requise. Reportez-vous à la rubrique Démarrage avec Amazon OpenSearch Service ou Démarrage avec Amazon OpenSearch Serverless dans le Guide du développeur Amazon OpenSearch Service pour créer une collection. Reportez-vous à OpenSearch Amazon Ingestion dans le guide du développeur Amazon OpenSearch Service pour créer un rôle AIM doté des autorisations appropriées pour accéder aux données d'écriture de la collection ou du domaine.

Étape 2 : activer les flux de modifications sur le cluster Amazon DocumentDB

Assurez-vous que les flux de modifications sont activés sur les collections requises dans le cluster Amazon DocumentDB. Pour plus d’informations, consultez la section Utilisation des flux de modifications avec Amazon DocumentDB.

Étape 3 : configurer le rôle de pipeline avec les autorisations d'écriture dans le compartiment Amazon S3 et le domaine ou la collection de destination

Après avoir créé votre collection Amazon DocumentDB et activé le flux de modifications, configurez le rôle de pipeline que vous souhaitez utiliser dans la configuration de votre pipeline et ajoutez les autorisations suivantes au rôle :

JSON
{ "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/*" ] } ] }

Pour qu'un OpenSearch pipeline puisse écrire des données dans un OpenSearch domaine, celui-ci doit disposer d'une politique d'accès au niveau du domaine qui autorise le rôle de pipeline sts_role_arn à y accéder. L'exemple de politique d'accès au domaine suivant permet au rôle de pipeline nommépipeline-role, que vous avez créé à l'étape précédente, d'écrire des données dans le domaine nommé 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}/*" } ] }

Étape 4 : Ajoutez les autorisations requises sur le rôle de pipeline à créer X-ENI

JSON
{ "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" } } } ] }

Étape 5 : Création du pipeline

Configurez un pipeline d' OpenSearch ingestion en spécifiant Amazon DocumentDB comme source. Cet exemple de configuration de pipeline suppose l'utilisation d'un mécanisme de récupération des flux de modifications. Reportez-vous à la section Utilisation d'un pipeline d' OpenSearch ingestion avec Amazon DocumentDB dans le Guide du développeur Amazon OpenSearch Service pour plus d'informations.

Limitations

Les limites suivantes s'appliquent à l' OpenSearch intégration Amazon DocumentDB :

  • Une seule collection Amazon DocumentDB en tant que source par pipeline est prise en charge.

  • Cross-region l'ingestion de données n'est pas prise en charge. Votre cluster et votre OpenSearch domaine Amazon DocumentDB doivent se trouver au même Région AWS endroit.

  • Cross-account l'ingestion de données n'est pas prise en charge. Votre cluster Amazon DocumentDB et votre pipeline OpenSearch d'ingestion doivent appartenir au même AWS compte.

  • Les clusters élastiques Amazon DocumentDB ne sont pas pris en charge. Seuls les clusters basés sur des instances Amazon DocumentDB sont pris en charge.

  • Assurez-vous que l'authentification à l'aide de AWS secrets est activée sur le cluster Amazon DocumentDB. AWS les secrets sont le seul mécanisme d'authentification pris en charge.

  • La configuration de pipeline existante ne peut pas être mise à jour pour ingérer des données provenant d'une autre base de données ou and/or d'une collection différente. Pour mettre à jour le nom de and/or collection de base de données d'un pipeline, vous devez créer un nouveau pipeline.