既存の Neptune データベースでフルテキスト検索を有効にする - Amazon Neptune

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

既存の Neptune データベースでフルテキスト検索を有効にする

これらは、既存の Amazon Neptune データベースでフルテキスト検索を有効にするための確立されたアプローチです。書き込みワークロードを一時停止できるかどうかによって、ステップは若干異なる場合があります。このガイドでは、書き込みを一時停止できる場合と一時停止できない場合の両方のシナリオで推奨される手順の概要を説明します。Neptune ストリームの有効化、データベースクローンの作成、OpenSearch ドメインへのデータの同期、継続的な更新の設定について説明します。このガイダンスでは、 AWS サービスとオープンソースツールを活用してプロセスを合理化し、ダウンタイムを最小限に抑えます。

書き込みワークロードを一時停止できる場合

既存の Neptune データベースでフルテキスト検索を有効にする最良の方法は、書き込みワークロードを一時停止できれば、一般的に次の方法です。クローンを作成し、クラスターパラメータを使用してストリームを有効にし、すべてのインスタンスを再起動する必要があります。クローンの作成は比較的速いので、必要なダウンタイムは限られています。

必要な手順は次のとおりです。

  1. データベース上のすべての書き込みワークロードを停止します。

  2. データベースのストリームを有効にします (「Neptune ストリームの有効化」を参照)。

  3. データベースのクローンを作成します (「Neptune でのデータベースクローニング」を参照)。

  4. 書き込みワークロードを再開します。

  5. github の export-neptune-to-elasticsearch ツールを使用して、クローンされたデータベースから OpenSearch ドメインへの 1 回限りの同期を実行します。

  6. リージョン用のAWS CloudFormation テンプレートを使用して、元のデータベースから同期して継続的な更新を行います (テンプレートで設定を変更する必要はありません)。

  7. クローンされたデータベースとexport-neptune-to-elasticsearchツール用に作成された AWS CloudFormation スタックを削除します。

注記

export-neptune-to-elasticsearch は現在、Opensearch サーバーレスをサポートしていません。Neptune の既存のデータの 1 回限りの同期を必要とするデプロイでは、Opensearch マネージドクラスターを使用する必要があります。

書き込みワークロードを一時停止できない場合

データベースで書き込みワークロードを中断する余裕がない場合は、上記の推奨アプローチよりも少ないダウンタイムを必要とするアプローチを以下に示します。ただし、慎重に実行する必要があります。

  1. データベースのストリームを有効にします (「Neptune ストリームの有効化」を参照)。

  2. データベースのクローンを作成します (「Neptune でのデータベースクローニング」を参照)。

  3. Streams API エンドポイントに対してこの種のコマンドを実行することによって、クローンされたデータベース上のストリームの最新の eventID を取得します (詳細については、「Neptune Streams REST API の呼び出し」を参照)。

    curl "https://(your neptune endpoint):(port)/(propertygraph or sparql)/stream?iteratorType=LATEST"

    レスポンス内の lastEventId オブジェクト内の commitNum および opNum フィールドの値を書き留めておきます。

  4. github の export-neptune-to-elasticsearch ツールを使用して、クローンされたデータベースから OpenSearch ドメインへの 1 回限りの同期を実行します。

  5. リージョン用のAWS CloudFormation テンプレートを使用して、元のデータベースから同期して継続的な更新を行います。

    スタックの作成時に次の変更を行います。スタックの詳細ページの [Parameters] セクションで、上記で記録した commitNum および opNum の値を使用して、StartingCheckpoint フィールドの値を CommitNum:opnum に設定します。

  6. クローンされたデータベースとexport-neptune-to-elasticsearchツール用に作成された AWS CloudFormation スタックを削除します。