Integración sin ETL con Amazon OpenSearch Service - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Integración sin ETL con Amazon OpenSearch Service

Amazon OpenSearch Service como destino

La integración de OpenSearch Service con Amazon DocumentDB le permite transmitir eventos de carga completa y cambios de datos a los dominios de OpenSearch. La infraestructura de ingesta se aloja como canalizaciones de ingesta de OpenSearch y proporciona un mecanismo de alta escala y baja latencia para transmitir datos de forma continua desde las colecciones de Amazon DocumentDB.

Durante la carga completa, la integración sin ETL extrae primero los datos históricos de carga completa a OpenSearch mediante una canalización de ingestión. Una vez ingeridos los datos a plena carga, las canalizaciones de ingestión de OpenSearch comenzarán a leer los datos de los flujos de cambios de Amazon DocumentDB y, finalmente, se pondrán al día para mantener la coherencia de datos casi en tiempo real entre Amazon DocumentDB y OpenSearch. OpenSearch almacena los documentos en índices. Los datos entrantes de una colección de Amazon DocumentDB se pueden enviar a un índice o se pueden dividir en índices diferentes. Las canalizaciones de ingesta sincronizarán todos los eventos de creación, actualización y eliminación de una colección de Amazon DocumentDB según corresponda con la creación, actualización y eliminación de documentos de OpenSearch para mantener ambos sistemas de datos sincronizados. Los canales de ingesta se pueden configurar para leer datos de una colección y escribirlos en un índice, o leer datos de una colección y enviarlos condicionalmente a varios índices.

Las canalizaciones de ingesta se pueden configurar para transmitir datos desde Amazon DocumentDB a Amazon OpenSearch Service mediante:

  • Solo carga completa

  • Transmisión de eventos de flujos de cambios desde Amazon DocumentDB sin carga completa

  • Carga completa seguida de flujos de cambios desde Amazon DocumentDB

Para configurar la canalización de ingesta, siga estos pasos:

Paso 1: creación de un dominio de Amazon OpenSearch Service o una colección de OpenSearch sin servidor

Se requiere una colección de Amazon OpenSearch Service con los permisos adecuados para leer los datos. Consulte Getting started with Amazon OpenSearch Service o Getting started with Amazon OpenSearch Serverless en la Guía para desarrolladores de Amazon OpenSearch Service para crear una colección. Consulte Amazon OpenSearch Ingestion en la Guía para desarrolladores de Amazon OpenSearch Service para crear un rol de IAM con los permisos correctos para acceder a los datos de escritura en la colección o el dominio.

Paso 2: habilitación de los flujos de cambios en el clúster de Amazon DocumentDB

Asegúrese de que los flujos de cambios estén habilitados en las colecciones requeridas del clúster de Amazon DocumentDB. Para obtener más información, consulte Uso de flujos de cambios con Amazon DocumentDB.

Paso 3: configuración del rol de canalización con permisos para escribir en el bucket de Amazon S3 y en el dominio o colección de destino

Una vez creada la colección de Amazon DocumentDB y habilitado el flujo de cambios, configure el rol de canalización que desee usar en la configuración de canalización y agregue los siguientes permisos al rol:

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

Para que una canalización de OpenSearch escriba datos en un dominio de OpenSearch, el dominio debe tener una política de acceso a nivel de dominio que permita al rol de canalización sts_role_arn acceder a ellos. El siguiente ejemplo de política de acceso al dominio permite que el rol de canalización denominado pipeline-role, que creó en el paso anterior, escriba datos en el dominio denominado 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}/*" } ] }

Paso 4: agregación de los permisos necesarios en el rol de canalización para crear X-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" } } } ] }

Paso 5: creación de la canalización

Para configurar una canalización de ingesta de OpenSearch, especifique Amazon DocumentDB como origen. En este ejemplo de configuración de canalización se presupone el uso de un mecanismo de obtención del flujo de cambios. Consulte Using an OpenSearch Ingestion pipeline with Amazon DocumentDB en la Guía para desarrolladores de Amazon OpenSearch Service para obtener más información.

Limitaciones

La integración de OpenSearch de Amazon DocumentDB presenta las siguientes limitaciones:

  • Solo se admite una colección de Amazon DocumentDB como origen por canalización.

  • No se admite la ingesta de datos entre regiones. Su clúster de Amazon DocumentDB y dominio de OpenSearch deben estar en la misma región de AWS.

  • No se admite la ingesta de datos entre cuentas. Su clúster de Amazon DocumentDB y canalización de ingesta de OpenSearch deben estar en la misma cuenta de AWS.

  • No se admiten los clústeres elásticos de Amazon DocumentDB. Solo se admiten los clústeres basados en instancias de Amazon DocumentDB.

  • Asegúrese de que el clúster de Amazon DocumentDB tenga habilitada la autenticación mediante secretos de AWS. Los secretos de AWS son el único mecanismo de autenticación admitido.

  • La configuración de canalización existente no se puede actualizar para ingerir datos de una base de datos diferente o de una colección diferente. Para actualizar la base de datos o el nombre de la colección de una canalización, debe crear una canalización nueva.