DynamoDB と Amazon OpenSearch Service のゼロ ETL 統合 - Amazon DynamoDB

DynamoDB と Amazon OpenSearch Service のゼロ ETL 統合

Amazon DynamoDB は、OpenSearch Ingestion 用 DynamoDB プラグインを通じて Amazon OpenSearch Service とのゼロ ETL 統合が可能です。Amazon OpenSearch Ingestion では、コードを必要としないフルマネージド型のエクスペリエンスで Amazon OpenSearch Service にデータを取り込むことができます。

OpenSearch Ingestion 用 DynamoDB プラグインを使用すると、1 つ以上の DynamoDB テーブルをソースとして使用して、1 つ以上の OpenSearch Service インデックスに取り込むことができます。AWS Management Consoleの OpenSearch Ingestion または DynamoDB インテグレーションから、DynamoDB をソースとして使用する OpenSearch Ingestion パイプラインを参照して設定できます。

仕組み

このプラグインは DynamoDB の Amazon S3 へのエクスポート機能を使用して、OpenSearch にロードする初期スナップショットを作成します。スナップショットがロードされると、プラグインは DynamoDB Streams を使用してそれ以降の変更をほぼリアルタイムでレプリケートします。すべての項目は OpenSearch Ingestion でイベントとして処理され、プロセッサプラグインで変更できます。属性を削除したり、複合属性を作成してルート経由でさまざまなインデックスに送信したりできます。

Amazon S3 へのエクスポート機能を使用するには、ポイントインタイムリカバリ (PITR) を有効にする必要があります。また、DynamoDB Streams を使用するには、([新旧のイメージ] オプションが選択されている状態で) DynamoDB Streams が有効になっている必要があります。エクスポート設定を除外すると、スナップショットを作ることなくパイプラインを作成できます。

また、ストリーム設定を除外すると、スナップショットのみで更新のないパイプラインを作成することもできます。このプラグインはテーブルの読み取りスループットや書き込みスループットを使用しないため、本番環境のトラフィックに影響を与えることなく安全に使用できます。ストリーム上の並列コンシューマーの数には制限があり、こうした統合を作成する前に考慮する必要があります。その他の考慮事項については、「DynamoDB との統合に関するベストプラクティス」を参照してください。

単純なパイプラインの場合、1 つの OpenSearch Compute Unit (OCU) は、1 秒あたり約 1 MB の書き込みを処理できます。これは約 1,000 の書き込みリクエスト単位 (WCU) に相当しますが、パイプラインの複雑さやその他の要因によって、これより多くなることも少なくなることもあります。

OpenSearch Ingestion は、回復不能なエラーの原因となるイベントのデッドレターキュー (DLQ) をサポートします。さらに、DynamoDB、パイプライン、または Amazon OpenSearch Service のいずれかでサービスが中断された場合でも、パイプラインは中断したところからユーザーの介入なしに再開することができます。

中断が 24 時間以上続くと、更新が失われる場合があります。ただし、中断から回復すると、パイプラインはまだ利用できる更新を引き続き処理します。デッドレターキューに入っていない限り、中断したイベントに起因する異常を修正するには、新たにインデックスを構築する必要があります。

プラグインのすべての設定と詳細については、OpenSearch Ingestion 用 DynamoDB プラグインのドキュメントを参照してください。

コンソールによる作成エクスペリエンスの統合

DynamoDB と OpenSearch Service は AWS Management Consoleでエクスペリエンスが統合されており、開始プロセスが効率化されています。以下の手順を実行すると、サービスで自動的に DynamoDB ブループリントが選択され、適切な DynamoDB 情報が自動的に追加されます。

統合を作成するには、「OpenSearch Ingestion の開始方法」に記載されている手順に従ってください。「ステップ 3: パイプラインを作成する」まで進んだら、手順の 1 と 2 を以下の手順に置き換えます。

  1. DynamoDB コンソールに移動します。

  2. 左側のナビゲーションペインで、[統合] を選択します。

  3. OpenSearch にレプリケートする DynamoDB テーブルを選択します。

  4. [Create] (作成) を選択します。

ここから、チュートリアルの以降の部分を続行します。

次のステップ

DynamoDB と OpenSearch Service の統合についての理解を深めるには、以下を参照してください。