Integração sem ETL com o Amazon Service OpenSearch - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Integração sem ETL com o Amazon Service OpenSearch

Amazon OpenSearch Service como destino

OpenSearch A integração do serviço com o Amazon DocumentDB permite que você transmita a carga completa e altere eventos de dados para OpenSearch domínios. A infraestrutura de ingestão é hospedada como pipelines de OpenSearch ingestão e fornece um mecanismo de alta escala e baixa latência para transmitir continuamente dados das coleções do Amazon DocumentDB.

Durante a carga total, a integração Zero-ETL primeiro extrai dados históricos de carga total OpenSearch usando um pipeline de ingestão. Depois que os dados de carga total forem ingeridos, os pipelines de OpenSearch ingestão começarão a ler os dados dos fluxos de alteração do Amazon DocumentDB e, eventualmente, se atualizarão para manter a consistência de dados quase em tempo real entre o Amazon DocumentDB e. OpenSearch OpenSearch armazena documentos em índices. Os dados recebidos de uma coleção do Amazon DocumentDB podem ser enviados para um índice ou podem ser particionados em índices diferentes. Os pipelines de ingestão sincronizarão todos os eventos de criação, atualização e exclusão em uma coleção do Amazon DocumentDB como a correspondente criação, atualização e exclusão OpenSearch de documentos para manter os dois sistemas de dados sincronizados. Os pipelines de ingestão podem ser configurados para ler dados de uma coleção e gravar em um índice ou ler dados de uma coleção e rotear condicionalmente para vários índices.

Os pipelines de ingestão podem ser configurados para transmitir dados do Amazon DocumentDB para OpenSearch o Amazon Service usando:

  • Somente carga total

  • Transmita, altere, transmita eventos do Amazon DocumentDB sem carga total

  • Carga total seguida por fluxos de alterações do Amazon DocumentDB

Para configurar seu pipeline de ingestão, execute as seguintes etapas:

Etapa 1: criar um domínio do Amazon OpenSearch Service ou uma coleção OpenSearch sem servidor

É necessária uma coleção do Amazon OpenSearch Service com as permissões apropriadas para ler dados. Consulte Introdução ao Amazon OpenSearch Service ou Introdução ao Amazon OpenSearch Serverless no Guia do desenvolvedor do Amazon OpenSearch Service para criar uma coleção. Consulte Amazon OpenSearch Ingestion no Amazon OpenSearch Service Developer Guide para criar uma função de AIM com as permissões corretas para acessar dados de gravação na coleção ou no domínio.

Etapa 2: Habilitar fluxos de alteração no cluster Amazon DocumentDB

Certifique-se de que os fluxos de alterações estejam habilitados nas coleções necessárias no cluster Amazon DocumentDB. Consulte Usar fluxos de mudança com o Amazon DocumentDB para obter mais informações.

Etapa 3: Configurar a função do pipeline com permissões para gravar no bucket do Amazon S3 e no domínio ou coleção de destino

Depois de criar sua coleção do Amazon DocumentDB e ativar o stream de alterações, configure a função do pipeline que você deseja usar na configuração do pipeline e adicione as seguintes permissões à função:

{ "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 um OpenSearch pipeline grave dados em um OpenSearch domínio, o domínio deve ter uma política de acesso em nível de domínio que permita que a função de pipeline sts_role_arn o acesse. O exemplo de política de acesso ao domínio a seguir permite que a função de pipeline chamadapipeline-role, que você criou na etapa anterior, grave dados no domínio chamado 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}/*" } ] }

Etapa 4: adicionar as permissões necessárias na função do pipeline para criar o 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" } } } ] }

Etapa 5: criar o pipeline

Configure um pipeline OpenSearch de ingestão especificando o Amazon DocumentDB como fonte. Esse exemplo de configuração de pipeline pressupõe o uso de um mecanismo de busca do fluxo de alterações. Consulte Usando um pipeline de OpenSearch ingestão com o Amazon DocumentDB no OpenSearch Amazon Service Developer Guide para obter mais informações.

Limitações

As seguintes limitações se aplicam à integração com o Amazon DocumentDB OpenSearch :

  • Somente uma coleção do Amazon DocumentDB como fonte por pipeline é suportada.

  • A ingestão de dados entre regiões não é suportada. Seu cluster e OpenSearch domínio do Amazon DocumentDB devem estar na mesma AWS região.

  • A ingestão de dados entre contas não é suportada. Seu cluster e pipeline de OpenSearch ingestão do Amazon DocumentDB devem estar na mesma conta. AWS

  • Os clusters elásticos do Amazon DocumentDB não são compatíveis. Somente clusters baseados em instâncias do Amazon DocumentDB são compatíveis.

  • Certifique-se de que o cluster Amazon DocumentDB tenha a autenticação habilitada usando AWS segredos. AWS segredos são o único mecanismo de autenticação compatível.

  • A configuração existente do pipeline não pode ser atualizada para ingerir dados de um banco de dados diferente e/ou de uma coleção diferente. Para atualizar o banco de dados e/ou o nome da coleção de um pipeline, você deve criar um novo pipeline.