Amazon OpenSearch Service와 제로 ETL 통합 - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon OpenSearch Service와 제로 ETL 통합

Amazon OpenSearch Service의 대상입니다.

Amazon DocumentDB와의 OpenSearch Service 통합을 통해 전체 로드를 스트리밍하고 데이터 이벤트를 OpenSearch 도메인으로 변경할 수 있습니다. 수집 인프라는 OpenSearch 수집 파이프라인으로 호스팅되며 Amazon DocumentDB 컬렉션에서 데이터를 지속적으로 스트리밍할 수 있는 대규모의 짧은 지연 시간 메커니즘을 제공합니다.

전체 로드 중에 제로 ETL 통합은 먼저 수집 파이프라인을 사용하여 과거 전체 로드 데이터를 OpenSearch로 추출합니다. 전체 로드 데이터가 수집되면 OpenSearch 수집 파이프라인은 Amazon DocumentDB 변경 스트림에서 데이터를 읽기 시작하고 결국 Amazon DocumentDB와 OpenSearch 간의 실시간에 가까운 데이터 일관성을 유지하는 것에 가까워집니다. OpenSearch는 문서를 인덱스에 저장합니다. Amazon DocumentDB 컬렉션에서 수신되는 데이터는 하나의 인덱스로 전송하거나 다른 인덱스로 분할할 수 있습니다. 수집 파이프라인은 Amazon DocumentDB 컬렉션의 모든 생성, 업데이트 및 삭제 이벤트를 OpenSearch 문서의 해당 생성, 업데이트 및 삭제로 동기화하여 두 데이터 시스템을 동기화된 상태로 유지합니다. 수집 파이프라인은 한 가지 컬렉션에서 데이터를 읽고 한 가지 인덱스에 쓰거나 한 가지 컬렉션에서 데이터를 읽고 여러 인덱스로 조건부로 라우팅하도록 구성할 수 있습니다.

수집 파이프라인은 다음을 사용하여 Amazon DocumentDB에서 Amazon OpenSearch Service로 데이터를 스트리밍하도록 구성할 수 있습니다.

  • 전체 로드만

  • 전체 로드 없이 Amazon DocumentDB에서 스트림 변경 이벤트 스트리밍

  • 전체 로드 후 Amazon DocumentDB에서 스트림 변경

수집 파이프라인을 설정하려면 다음 단계를 수행합니다.

1단계: Amazon OpenSearch Service 도메인 또는 OpenSearch 서버리스 컬렉션 생성

데이터를 읽을 수 있는 적절한 권한이 있는 Amazon OpenSearch Service 컬렉션이 필요합니다. 모음을 생성하려면 Amazon OpenSearch Service 개발자 가이드의 Amazon OpenSearch Service 시작하기 또는 Amazon OpenSearch Serverless 시작하기를 참조하세요. Amazon OpenSearch Service 개발자 안내서의 Amazon OpenSearch Ingestion을 참조하여 컬렉션 또는 도메인에 쓰기 데이터에 액세스할 수 있는 올바른 권한이 있는 AIM 역할을 생성합니다.

2단계: Amazon DocumentDB 클러스터에서 변경 스트림 활성화

Amazon DocumentDB 클러스터의 필수 컬렉션에서 변경 스트림이 활성화되어 있는지 확인합니다. 자세한 내용은 Amazon DocumentDB에서 변경 스트림 사용 섹션을 참조하세요.

3단계: Amazon S3 버킷 및 대상 도메인 또는 컬렉션에 쓸 수 있는 권한을 가진 파이프라인 역할 설정

Amazon DocumentDB 컬렉션을 생성하고 변경 스트림을 활성화한 후 파이프라인 구성에 사용할 파이프라인 역할을 설정하고 역할에 다음 권한을 추가합니다.

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

OpenSearch 파이프라인이 OpenSearch 도메인에 데이터를 쓰려면 도메인에 sts_role_arn 파이프라인 역할이 도메인에 액세스할 수 있도록 허용하는 도메인 수준 액세스 정책이 있어야 합니다. 다음 샘플 도메인 액세스 정책은 이전 단계에서 생성한 pipeline-role이라는 파이프라인 역할을 사용하여 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}/*" } ] }

4단계: 파이프라인 역할에 필요한 권한을 추가하여 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" } } } ] }

5단계: 파이프라인 생성

Amazon DocumentDB를 원본으로 지정하는 OpenSearch 수집 파이프라인을 구성합니다. 이 샘플 파이프라인 구성은 변경 스트림 가져오기 메커니즘을 사용하는 것으로 가정합니다. 자세한 내용은 Amazon OpenSearch Service 개발자 안내서Amazon DocumentDB에서 OpenSearch 수집 파이프라인 사용을 참조하세요.

제한 사항

Amazon DocumentDB OpenSearch 통합에는 다음 제한 사항이 적용됩니다.

  • 파이프라인당 하나의 Amazon DocumentDB 컬렉션만 원본으로 지원됩니다.

  • 교차 리전 데이터 수집은 지원되지 않습니다. Amazon DocumentDB 클러스터와 OpenSearch 도메인은 동일한 AWS 리전에 있어야 합니다.

  • 교차 계정 데이터 수집은 지원되지 않습니다. Amazon DocumentDB 클러스터와 OpenSearch 수집 파이프라인은 동일한 AWS 계정에 있어야 합니다.

  • Amazon DocumentDB 탄력적 클러스터는 지원되지 않습니다. Amazon DocumentDB 인스턴스 기반 클러스터만 지원됩니다.

  • Amazon DocumentDB 클러스터에 AWS 보안 암호를 사용하여 인증이 활성화되어 있는지 확인합니다. AWS 보안 암호는 지원되는 유일한 인증 메커니즘입니다.

  • 기존 파이프라인 구성은 다른 데이터베이스 및/또는 다른 컬렉션에서 데이터를 수집하도록 업데이트할 수 없습니다. 파이프라인의 데이터베이스 및/또는 컬렉션 이름을 업데이트하려면 새 파이프라인을 생성해야 합니다.