Amazon OpenSearch Service와 Amazon DynamoDB의 제로 ETL 통합 - Amazon DynamoDB

Amazon OpenSearch Service와 Amazon DynamoDB의 제로 ETL 통합

Amazon DynamoDB는 OpenSearch Ingestion용 DynamoDB 플러그인을 통해 Amazon OpenSearch Service와의 제로 ETL 통합을 제공합니다. Amazon OpenSearch Ingestion은 코드를 작성하지 않고도 Amazon OpenSearch Service로 데이터를 수집할 수 있는 완전관리형 환경을 제공합니다.

OpenSearch Ingestion용 DynamoDB 플러그인을 사용하면 하나 이상의 DynamoDB 테이블을 하나 이상의 OpenSearch Service 인덱스에 대한 수집 소스로 사용할 수 있습니다. AWS Management Console에서 OpenSearch Ingestion 또는 DynamoDB 통합에서 DynamoDB를 소스로 사용하여 OpenSearch Ingestion 파이프라인을 찾아보고 구성할 수 있습니다.

작동 방식

플러그인은 Amazon S3로 DynamoDB 내보내기를 사용하여 OpenSearch에 로드할 초기 스냅샷을 생성합니다. 스냅샷이 로드된 후 플러그인은 DynamoDB Streams를 사용하여 추가 변경 사항을 거의 실시간으로 복제합니다. 모든 항목은 OpenSearch Ingestion에서 이벤트로 처리되며 프로세서 플러그인을 사용하여 수정할 수 있습니다. 속성을 삭제하거나 복합 속성을 만든 다음 경로를 통해 다른 인덱스로 보낼 수 있습니다.

Amazon S3로 내보내기를 사용하려면 시점 복구(PITR)를 활성화해야 합니다. 또한 새 이미지 및 기존 이미지 옵션을 선택한 상태로 DynamoDB Streams를 활성화해야 사용할 수 있습니다. 내보내기 설정을 제외하면 스냅샷을 만들지 않고도 파이프라인을 생성할 수 있습니다.

스트림 설정을 제외하면 스냅샷만 있고 업데이트는 없는 파이프라인을 생성할 수도 있습니다. 플러그인은 테이블의 읽기 또는 쓰기 처리량을 사용하지 않으므로 프로덕션 트래픽에 영향을 주지 않고 안전하게 사용할 수 있습니다. 스트림의 병렬 소비자 수에는 제한이 있으며 이 통합 또는 다른 통합을 생성하기 전에 이 제한을 고려해야 합니다. 다른 고려 사항은 DynamoDB와의 통합 모범 사례 섹션을 참조하세요.

단순 파이프라인의 경우 단일 OpenSearch Compute Unit(OCU)은 초당 약 1MB의 쓰기를 처리할 수 있습니다. 이는 약 1,000개의 쓰기 요청 단위(WCU)에 해당합니다. 파이프라인의 복잡성 및 기타 요인에 따라 이보다 많거나 적을 수 있습니다.

OpenSearch Ingestion은 복구할 수 없는 오류를 유발하는 이벤트에 대해 DLQ(Dead Letter Queue)를 지원합니다. 또한 파이프라인은 DynamoDB, 파이프라인 또는 Amazon OpenSearch Service에서 서비스가 중단되더라도 사용자 개입 없이 중단된 지점부터 재개할 수 있습니다.

중단이 24시간 넘게 지속되면 업데이트가 손실될 수 있습니다. 하지만 파이프라인은 가용성이 복원된 후에도 여전히 사용 가능했던 업데이트를 계속 처리합니다. DLQ(Dead Letter Queue)에 있는 경우가 아니라면 삭제된 이벤트로 인한 불규칙성을 수정하기 위해 인덱스를 새로 빌드해야 합니다.

플러그인에 대한 모든 설정 및 세부 정보는 OpenSearch Ingestion DynamoDB 플러그인 설명서를 참조하세요.

콘솔을 통한 통합 생성 환경

DynamoDB와 OpenSearch Service는 AWS Management Console에서 통합된 경험을 제공하므로 시작 프로세스가 간소화됩니다. 이 단계를 거치면 서비스가 자동으로 DynamoDB 청사진을 선택하고 적절한 DynamoDB 정보를 추가합니다.

통합을 생성하려면 OpenSearch Ingestion 시작 안내서를 따르세요. Step 3: Create a pipeline에 도달하면 1단계와 2단계를 다음 단계로 대체하세요.

  1. DynamoDB 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 통합을 선택합니다.

  3. OpenSearch에 복제할 DynamoDB 테이블을 선택합니다.

  4. 생성(Create)을 선택합니다.

여기부터 자습서의 나머지 부분을 계속 진행할 수 있습니다.

다음 단계

DynamoDB가 OpenSearch Service와 통합되는 방식을 더 잘 이해하려면 다음을 참조하세요.