手動スナップショットの作成 - Amazon OpenSearch Service

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

手動スナップショットの作成

スナップショットは瞬時に取得されません。完了するまでには時間がかかり、クラスターの完全なポイントインタイムビューを表すわけではありません。スナップショットが進行中の間も、ドキュメントのインデックス作成や、クラスターへの他のリクエストを行うことはできますが、新しいドキュメントおよび既存のドキュメントの更新は一般的にスナップショットに含まれません。スナップショットには、OpenSearch によってスナップショットが開始された際に存在したプライマリシャードが含まれます。スナップショットのスレッドプールのサイズによっては、わずかな時間の違いで、スナップショットにさまざまなシャードが含まれることがあります。スナップショットのベストプラクティスについては、「スナップショットパフォーマンスの向上」を参照してください。

スナップショットのストレージとパフォーマンス

OpenSearch スナップショットは増分です。つまり、最後にスナップショットが取得されてから変更されたデータのみ保存されます。増分のみ保存されるため、スナップショットの取得頻度が高い場合でも低い場合でも、ディスク使用量を最小限に抑えることができます。つまり、スナップショットを 1 時間ごとに 1 週間 (合計 168 個) 取得すると、週末に 1 つのスナップショットを取得する場合よりも、使用するディスク容量は少なくなる場合があります。また、スナップショットの取得頻度が高くなるほど、完了までにかかる時間は短くなります。例えば、日次スナップショットの完了には 20~30 分かかる場合がありますが、時間単位のスナップショットは数分以内に完了することもあります。中には、30 分ごとにスナップショットを取得している OpenSearch ユーザーもいます。

スナップショットを取得する

スナップショットを作成するときは、以下の情報を指定します。

  • スナップショットリポジトリの名前

  • スナップショットの名前

この章の例では、わかりやすく簡潔にするために、一般的な HTTP クライアントである curl を使用します。curl リクエストにユーザー名とパスワードを渡す方法については、「開始方法のチュートリアル」を参照してください。

アクセスポリシーでユーザーまたはロールを指定する場合は、スナップショットリクエストに署名する必要があります。curl の場合、--aws-sigv4 のオプション (バージョン 7.75.0 以降) を使用できます。また、サンプル Python クライアントのコメントアウトされた例を使って、curl コマンドが使用しているのと同じエンドポイントに、署名された HTTP リクエストを行うこともできます

手動スナップショットを作成するには、次のステップを実施します。

  1. 現在進行中のスナップショットは取得できません。確認するには、以下のコマンドを実行します。

    curl -XGET 'domain-endpoint/_snapshot/_status'
  2. 次のコマンドを実行して、手動でスナップショットを取得します。

    curl -XPUT 'domain-endpoint/_snapshot/repository-name/snapshot-name'

    特定のインデックスを包含または除外したり、他の設定を指定したりするには、リクエスト本文を追加します。リクエストの構造については、OpenSearch ドキュメントの「Take snapshots」(スナップショットを取得する) を参照してください。

注記

OpenSearch Service ドメインの容量が大きくなると、スナップショットの取得に必要な時間は長くなります。長時間実行しているスナップショット操作の場合は、504 GATEWAY_TIMEOUT エラーが発生する場合があります。通常、このエラーは無視して、オペレーションが正常に完了するのを待ってかまいません。次のコマンドを実行して、ドメインのすべてのスナップショットの状態を確認します。

curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'