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á.
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
-
Transmitir eventos de fluxo de alterações 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: ativar fluxos de alterações no cluster do Amazon DocumentDB
Certifique-se de que os fluxos de alterações estejam ativados nas coleções necessárias no cluster do Amazon DocumentDB. Consulte Usar fluxos de alterações com o Amazon DocumentDB para obter mais informações.
Etapa 3: configurar o perfil do pipeline com permissões para gravar no bucket do Amazon S3 e no domínio ou coleção de destino
Depois de criar a coleção do Amazon DocumentDB e ativar o fluxo de alterações, defina o perfil de pipeline que você deseja usar na configuração do pipeline e adicione as seguintes permissões a esse perfil:
{ "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 ao perfil 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 é aceita.
-
Não há suporte para a ingestão de dados entre regiões. Seu cluster e OpenSearch domínio do Amazon DocumentDB devem estar na mesma AWS região.
-
Não há suporte para a ingestão de dados entre contas. Seu cluster e pipeline de OpenSearch ingestão do Amazon DocumentDB devem estar na mesma conta. AWS
-
Clusters elásticos do Amazon DocumentDB não têm suporte. Somente clusters baseados em instâncias do Amazon DocumentDB têm suporte.
-
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 do pipeline existente não pode ser atualizada para ingerir dados de um nome de and/or a different collection. To update the database and/or coleção de banco de dados diferente de um pipeline. Você deve criar um novo pipeline.