PolarSearch は、クラスターから Object Storage Service (OSS) バケットへのインデックスデータのバックアップ、およびスナップショットを使用した OSS からのデータの復元をサポートしています。この機能により、PolarSearch クラスターのクラスター間データ移行とカスタムバックアップおよび回復が可能になり、データ保護とデータ転送のための柔軟で費用対効果の高いソリューションが提供されます。
この機能はカナリアリリース中です。この機能を使用するには、チケットを送信してアクセスをリクエストしてください。
適用範囲
ご利用の PolarSearch クラスターがバージョン 2.19.3 以降であること。
説明エンドポイントを使用して PolarSearch にアクセスし、
version.numberフィールドでバージョンを確認できます。Alibaba Cloud Object Storage Service (OSS) を有効化済みであり、スナップショットを保存するバケットを作成済みであること。
Resource Access Management (RAM) ユーザーを作成し、そのユーザーに
AliyunOSSFullAccessアクセス権限ポリシーを付与済みであること。詳細については、「RAM ユーザーへの権限付与」をご参照ください。
課金情報
スナップショット機能は無料です。ただし、ご利用の 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}"
}
}パラメーター
パラメーター | 説明 |
| リポジトリ名。ご自身で定義します。 |
| リポジトリタイプ。これを |
| ご利用の OSS バケットのエンドポイント。詳細については、「リージョンとエンドポイント」をご参照ください。 |
| ご利用の OSS バケット名。 |
| (オプション) スナップショットファイルが保存される OSS バケット内のルートディレクトリパス。 |
| バケットが存在するリージョン。 |
| ご利用の AccessKey ID。 |
| ご利用の AccessKey Secret。 |
| (オプション) ご利用の RAM ロールの一時的な認証情報 (セキュリティトークンサービス (STS) トークン)。 重要 STS トークンを使用する場合は、 |
例
以下のパラメーターをご自身の実際の値に置き換えてください。
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
}パラメーターの説明
パラメーターカテゴリ | パラメーター名 | 説明 |
リクエストパラメーター |
| スナップショット操作が完了するまで同期的に待機するかどうか。デフォルトは
|
リクエストボディパラメーター |
| バックアップするインデックスを指定します。ワイルドカード文字 説明 ワイルドカード |
| 欠落しているインデックスを無視してスナップショットの作成を続行するかどうか。デフォルトは | |
| 部分的なスナップショットを許可するかどうか。 |
例
以下のパラメーターをご自身の実際の値に置き換えてください。
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
}パラメーター
パラメーター分類 | パラメーター名 | 説明 |
リクエストパラメーター |
| 復元操作が完了するまで同期的に待機するかどうか。デフォルトは
|
リクエストボディパラメーター |
| 復元するインデックスを指定します。ワイルドカード文字 |
| 指定されたインデックスが存在しない場合に、インデックスを無視してスナップショットの作成を続行するかどうかを指定します。デフォルト値は | |
| 部分的なスナップショットを作成するかどうかを指定します。 | |
| 復元中にスナップショットからのインデックス設定を上書きします。たとえば、宛先クラスターの構成に合わせてレプリカ数を調整します。 | |
| 復元中に無視するインデックス設定のリストを指定します。通常、ソース固有の構成をスキップするために使用されます。 |
例
以下のパラメーターをご自身の実際の値に置き換えてください。
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
}'