Amazon Web Services ブログ

Amazon DynamoDB の Amazon OpenSearch Service とのゼロ ETL 統合が利用可能になりました

このブログは、Amazon DynamoDB zero-ETL integration with Amazon OpenSearch Service is now available を翻訳したものです。

本日、Amazon OpenSearch Service と Amazon DynamoDB zero-ETL の統合が一般公開されたことをお知らせします。これにより、カスタムコードやインフラストラクチャを必要とせずに、DynamoDB データを自動的に複製および変換して検索を実行できます。この zero-ETL 統合により、データパイプラインアーキテクチャのコードの記述、データの同期、頻繁なアプリケーション変更によるコードの更新に伴うオペレーション上の負担とコストが軽減され、アプリケーションに集中できるようになります。

この zero-ETL 統合により、Amazon DynamoDB を利用するお客様は、全文検索、あいまい検索、オートコンプリート、機械学習 (ML) 用のベクトル検索など、Amazon OpenSearch Service の強力な検索機能を使用して、ユーザーエンゲージメントを高め、アプリケーションに対する満足度を向上させる新しいエクスペリエンスを提供できるようになりました。

この zero-ETL 統合では、Amazon OpenSearch Ingestion を使用して、Amazon DynamoDB と Amazon OpenSearch Serviceの間でデータを同期します。データを同期する必要がある DynamoDB テーブルを選択すると、Amazon OpenSearch Ingestation は、データが使用可能になってから数秒以内に Amazon OpenSearch マネージドクラスターまたはサーバーレスコレクションにデータを同期します。

また、インデックスマッピングテンプレートを指定して、Amazon DynamoDB フィールドが Amazon OpenSearch Service インデックスの正しいフィールドにマップされるようにすることもできます。また、複数の DynamoDB テーブルのデータを 1 つの Amazon OpenSearch Service マネージドクラスターまたはサーバーレスコレクションに同期して、複数のアプリケーションにわたる総合的なインサイトを得ることができます。

zero-ETL 統合を開始する
数回のクリックで、DynamoDB から OpenSearch Service にデータを同期できます。DynamoDB と OpenSearch Service 間の統合を作成するには、DynamoDB コンソールの左ペインにある Integrations メニューと、データを同期したい DynamoDB テーブルを選択します。

create integrations on DDB Console

ポイントインタイムリカバリ (PITR) と DynamoDB Streams 機能を有効にする必要があります。この機能により、テーブル内の項目レベルの変更をキャプチャし、その変更をストリームにプッシュできます。Exports and streamsタブで Turn on を選択してPITR と DynamoDB Streams を有効にします。

PITRとDynamoDB Streamsをオンにしたら、Create を選択して、OpenSearch Service の管理ドメインにデータをレプリケートするOpenSearch Ingestion パイプラインをアカウントに設定します。

pipeline setting on OpenSearch INgestion

最初のステップでは、一意のパイプライン名を入力し、現在の取り込みワークロードに基づいてパイプラインを自動的にスケーリングするように、パイプラインの容量とコンピューティングリソースを設定します。

pipeline setting

これで、定義済みのパイプラインの設定を YAML ファイル形式で設定できるようになります。リソースを参照して情報を検索し、パイプラインの設定を構築するための情報を貼り付けることができます。このパイプラインは、DynamoDB の設定をする source 部分と OpenSearch Service の設定をする sink 部分を組み合わせたものです。
DynamoDB テーブルからデータを読み取り、OpenSearch ドメインに書き込むために必要な権限を持つ複数の IAM ロール (sts_role_arn) を設定する必要があります。その後、OpenSearch Ingestion パイプラインがこのロールを引き受け、データをソースからターゲットに移動する際に常に適切なセキュリティが維持されるようにします。詳細については、AWS ドキュメントの Amazon OpenSearch Ingestion のロールとユーザーの設定 を参照してください。

pipeline configuration

必要な値をすべて入力したら、パイプライン構成を検証して構成が有効であることを確認できます。詳細については、AWS ドキュメントの Amazon OpenSearch Ingestion パイプラインの作成を参照してください。

数分で OpenSearch Ingestion パイプラインがセットアップされると、DynamoDB テーブルへの統合が完了したことが確認できます。

see integration

これで、OpenSearch Dashboards で同期された項目を検索できるようになりました。

知っておくべき事項
この機能について知っておくべきことが数点あります。

  • カスタムスキーマ – Amazon DynamoDB から OpenSearch Service にデータを書き込む際に、OpenSearch Ingestion が使用するインデックスマッピングとともに、カスタムデータスキーマを指定できます。このエクスペリエンスは Amazon DynamoDB 内のコンソールに追加され、OpenSearch Service で作成されるインデックスのフォーマットを完全に制御できます。
  • 料金 – 既存の基盤となるコンポーネントのコストを除いて、この機能を使用する際の追加コストは発生しません。Amazon OpenSearch Ingestion では、Amazon DynamoDB と Amazon OpenSearch Service 間でデータを複製するために使用される OpenSearch Compute Unit (OCU) が課金されることに注意してください。さらに、この機能は変更データキャプチャ (CDC) に Amazon DynamoDB ストリームを使用するため、Amazon DynamoDB ストリームの標準コストが発生します。
  • モニタリング – パイプラインの状態は、DynamoDB コンソールで統合のステータスを確認するか、OpenSearch Ingestion ダッシュボードを使用してモニタリングできます。さらに、Amazon CloudWatch を使用してリアルタイムのメトリクスとログを確認し、ユーザー定義のしきい値に違反した場合にアラートを発するように設定できます。

一般利用可能に
Amazon DynamoDB と Amazon OpenSearch Service の zero-ETL 統合は、現在 OpenSearch Ingestion が利用可能なすべての AWS リージョンで一般利用可能になりました。

詳細については、AWS ドキュメントの DynamoDB zero-ETL integration with Amazon OpenSearch Service  と Using an OpenSearch Ingestion pipeline with Amazon DynamoDB を参照してください。

お試しいただき、AWS re:Post for Amazon OpenSearch Service、または通常の AWS サポート窓口までフィードバックをお送りください。
Channy

Channy Yun

Channy Yun

Channy Yun は AWS の Principal Developer Advocate であり、開発者が最新の AWS サービスで最新のアプリケーションを構築できるよう支援することに情熱を注いでいます。根っからの開発者でありブロガーでもある彼は、コミュニティ主導のテクノロジー学習と共有が大好きで、開発者はグローバルな AWS ユーザーグループに参加するようになりました。彼の主なトピックは、オープンソース、コンテナ、ストレージ、ネットワークとセキュリティ、IoTです。ツイッターで @channyun で彼をフォローしてください。

翻訳は Solutions Architect 深見が担当しました。