Suggest a failover mechanism when replicating from DynamoDb Table to OpenSearch

0

I integrated Change Data Capture into an OpenSearch index using DynamoDB Streams and a Lambda Trigger. Now, I'm grappling with the challenge of managing potential disruptions in the availability of the OpenSearch cluster. My goal is to establish a robust solution involving exponential backoff in case of failover. I'm concerned about the cost-effectiveness of implementing and retrying logic directly within Lambda. And using built-in retries didn't introduce any delay between each retry.

Unfortunately, utilizing a First-In-First-Out (FIFO) Amazon Simple Queue Service (SQS) queue as a Dead Letter Queue through DynamoDB trigger settings isn't a supported option.

Given these constraints, my primary question is: how can I effectively handle transient errors when using a Lambda Trigger? It's essential for me to maintain the chronological order of the changes in the DynamoDB stream to ensure accurate replication to OpenSearch. Any insights into a suitable strategy for accomplishing this would be greatly appreciated.

Artem
질문됨 9달 전272회 조회
1개 답변
0

Hi,

You can envision Amazon OpenSearch Ingestion for your use case: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ingestion.html

Your Lambda trigger writes to an S3 bucket and from there use the Processor mechanism of Ingestion to push data in right order (preserving initial creation order in your case) to OpenSearch :

Processors
Intermediate processing units that can filter, transform, and enrich records into 
a desired format before publishing them to the sink. The processor is an optional 
component of a pipeline. If you don't define a processor, records are published in 
the format defined in the source. You can have more than one processor. A pipeline 
runs processors in the order that you define them.

Re. cost-effectiveness look at section re. pipeline capacity : you can adapt min OCU ingestion capacity to have very minimal costs when you don't use the pipeline.

Best,

Didiuer

profile pictureAWS
전문가
답변함 9달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠