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

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

最終更新日:Apr 10, 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 ロールのセッショントークン

重要

セッショントークンを使用する場合、access_key および secret_key パラメーターを Security Token Service (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
  }'