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

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

最終更新日:Feb 11, 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}"
    }
}

パラメーター

パラメーター

説明

{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_keysecret_key の両方を STS トークンによって提供される値に設定します。一時的な認証情報を使用しない場合は、長期的な AccessKey ID と AccessKey Secret を直接使用してください。

以下のパラメーターをご自身の実際の値に置き換えてください。

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 にバックアップ

スナップショットリポジトリを登録した後、以下のコマンドを実行して特定のインデックスのスナップショットを作成できます。

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}"

データの復元

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

説明

ある 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
  }'