すべてのプロダクト
Search
ドキュメントセンター

PolarDB:PolarSearch データの手動バックアップと復元

最終更新日:Jun 04, 2026

PolarSearch では、スナップショット機能を使用してクラスターのインデックスデータをご利用の Object Storage Service (OSS) バケットにバックアップしたり、OSS バケットからデータを復元したりできます。この機能は、クラスター間のデータ移行や PolarSearch クラスター向けのカスタムバックアップと復元に利用でき、柔軟かつ低コストなデータ保護および転送ソリューションを提供します。

説明

この機能は現在プレビュー段階です。機能をご利用になるには、チケットを送信して有効化する必要があります。

前提条件

課金

スナップショット機能は無料です。OSS バケットにスナップショットファイルを保存すると、ストレージ料金およびリクエスト料金が発生します。詳細については、「OSS 課金概要」をご参照ください。

スナップショットリポジトリの登録

スナップショット機能を使用する前に、スナップショットリポジトリを登録し、ご利用の OSS バケットに関連付ける必要があります。次の API を使用してリポジトリを作成します。

PUT /_snapshot/{repo-name}
{
    "type": "oss",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-AccessKey-ID}", 
      "secret_key": "{your-AccessKey-Secret}",
      "session_token": "{your-STS-Token}",
      "compress": true,
      "chunk_size": "512mb"
    }
}

パラメーターの説明

パラメーター

説明

{repo-name}

リポジトリのカスタム名。

type

リポジトリのタイプ。必ず oss に設定する必要があります。

endpoint

OSS バケットのエンドポイント。詳細については、「リージョンとエンドポイント」をご参照ください。

bucket

OSS バケットの名前。

base_path

(省略可)スナップショットファイルを保存する OSS バケット内のルートディレクトリパス。

region

バケットが配置されているリージョン。

access_key

ご利用の AccessKey ID

secret_key

ご利用の AccessKey Secret

session_token

(省略可)ご利用の RAM ロールの STS トークン

重要

STS トークンを使用する場合は、access_key および secret_key パラメーターも STS トークンの値に設定する必要があります。STS トークンを使用しない場合は、長期有効な AccessKey ID および AccessKey Secret を使用してください。

compress

(省略可)インデックスマッピングや設定などのスナップショットメタデータファイルを圧縮するかどうかを指定します。このパラメーターはデータファイルには影響しません。

デフォルトは false です。

chunk_size

(省略可)スナップショット作成時のチャンク分割アップロードのサイズ上限。このサイズを超えるデータは OSS にチャンク単位でアップロードされます。

デフォルトは 1 GB です。

次のコマンドのパラメーターを、ご利用の情報に置き換えてください。

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "oss",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-AccessKey-ID}", 
      "secret_key": "{your-AccessKey-Secret}"
    }
  }'

スナップショットの作成:データを OSS にバックアップ

スナップショットリポジトリを登録した後、次の API を使用して特定のインデックスのスナップショットを作成します。

PUT /_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true
{
    "indices": "{index-name}",
    "ignore_unavailable":false
}

パラメーターの説明

パラメーターカテゴリ

パラメーター名

説明

リクエストパラメーター

wait_for_completion

スナップショット操作の完了を待つかどうかを指定します。デフォルト値は false です。

  • 同期実行: wait_for_completion=true を設定すると、コマンドはスナップショットが作成されるまで結果を返さずに待ちます。

  • 非同期実行: wait_for_completion=false を設定すると、コマンドはすぐに応答を返し、スナップショットはバックグラウンドで作成されます。次のコマンドを実行してスナップショットのステータスを確認できます。応答の state フィールドが SUCCESS になった時点で操作が完了しています。

    GET /_snapshot/{repo-name}/{snapshot-name}/_status

リクエスト本文パラメーター

indices

バックアップするインデックス。ワイルドカード (*) を使用でき、複数のインデックス名はカンマ (,) で区切ります。デフォルトでは、すべてのインデックスがバックアップされます。

説明

ワイルドカード (*) を使用するとシステムテーブルもバックアップされます。システムテーブルをバックアップまたは復元しないようにするには、必要なインデックスのみを指定するか、ハイフン (-) を使用してシステムテーブルを除外してください。

ignore_unavailable

存在しないインデックスを無視してスナップショットを続行するかどうかを指定します。デフォルト値は false であり、この場合操作は失敗します。

partial

部分的なスナップショットを許可するかどうかを指定します。true に設定すると、一部のシャードが失敗しても成功したシャードのデータが保存されます。デフォルト値は false です。

次のコマンドのパラメーターを、ご利用の情報に置き換えてください。

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": false
  }'

スナップショットの表示

次の API を使用して、OSS スナップショットリポジトリ内のすべてのスナップショットに関する情報を表示します。

GET /_snapshot/{repo-name}/_all?pretty

次のコマンドのパラメーターを、ご利用の情報に置き換えてください。

curl -X GET "https://{pc-endpoint}:3001/_snapshot/{repo-name}/_all?pretty" -u "{username}:{passwd}"

データの復元

次のコマンドを実行して、特定のスナップショットからインデックスデータを復元します。

説明

PolarSearch クラスターから別の PolarSearch クラスターにスナップショットを復元する場合、復元先の PolarSearch クラスターは、ソースの PolarSearch クラスターと同じ スナップショットリポジトリ を登録する必要があります。同一の PolarSearch クラスター内で復元を行う場合は、再度登録する必要はなく、直接データ復元を実行できます。

POST /_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true
{
  "indices": "{index-name}",
  "ignore_unavailable": true
}

パラメーター

パラメーターカテゴリ

パラメーター名

説明

リクエストパラメーター

wait_for_completion

スナップショットの復元完了を待つかどうかを指定します。デフォルト値は false です。

  • 同期実行: wait_for_completion=true を設定すると、コマンドは復元が完了するまで応答を返しません。

  • 非同期実行: wait_for_completion=false を設定すると、コマンドはすぐに応答を返し、復元ジョブはバックグラウンドで実行されます。次のコマンドを実行してインデックスの復元進行状況を確認できます。復元が完了すると、stage フィールドが DONE になります。

    GET /{index-name}/_recovery

リクエスト本文パラメーター

indices

復元するインデックスを指定します。ワイルドカード * がサポートされています。複数のインデックスはカンマ , で区切ります。デフォルトはすべてのインデックスです。

ignore_unavailable

インデックスが存在しない場合にそのインデックスを無視してスナップショットの作成を続行するかどうかを指定します。デフォルトは false であり、この場合操作は失敗します。

partial

部分的なスナップショットを作成するかどうかを指定します。true に設定すると、一部のシャードが失敗しても成功したシャードのデータが保存されます。デフォルトは false です。

index_settings

復元時にスナップショットからのインデックス設定を上書きします。たとえば、レプリカ数を復元先クラスターの構成に合わせて変更できます。

ignore_index_settings

復元時に無視するインデックス設定のリスト。通常、ソースクラスター固有の設定を無視するために使用されます。

次のコマンドのパラメーターを、ご利用の情報に置き換えてください。

curl -X POST "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": true
  }'