スナップショットを使用したコレクションのバックアップ - Amazon OpenSearch Service

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

スナップショットを使用したコレクションのバックアップ

スナップショットは、ディザスタリカバリ機能を提供する Amazon OpenSearch Serverless コレクションのポイントインタイムバックアップです。OpenSearch Serverless は、コレクションのスナップショットを自動的に作成および管理し、ビジネス継続性とデータ保護を確保します。各スナップショットには、インデックスメタデータ (インデックスの設定とマッピング)、クラスターメタデータ (インデックステンプレートとエイリアス)、インデックスデータ (インデックスに保存されているすべてのドキュメントとデータ) が含まれます。

OpenSearch Serverless は、手動設定なし、メンテナンスオーバーヘッドなし、追加のストレージコストなし、偶発的なデータ損失からの迅速な復旧、スナップショットから特定のインデックスを復元する機能を備えた、1 時間ごとの自動バックアップを提供します。

スナップショットを使用する前に、以下の重要な考慮事項を理解してください。スナップショットの作成には時間がかかり、すぐには作成されません。スナップショット作成時の新しいドキュメントや更新は、スナップショットに含まれません。スナップショットは元のコレクションにのみ復元でき、新しいコレクションには復元できません。復元すると、インデックスは元のバージョンとは異なる新しい UUIDs を受け取ります。一度に実行できる復元オペレーションは 1 つだけであり、同じコレクションで複数の復元オペレーションを同時に開始することはできません。アクティブな復元オペレーション中にインデックスを復元しようとすると、オペレーションは失敗します。復元オペレーション中、インデックスへのリクエストは失敗します。

必要なアクセス許可

スナップショットを使用するには、データアクセスポリシーで次のアクセス許可を設定します。データアクセスポリシーの詳細については、「データアクセスポリシーと IAM ポリシーの比較」を参照してください。

データアクセスポリシー API
aoss:DescribeSnapshot

GET /_cat/snapshots/aoss-automated

GET _snapshot/aoss-automated/snapshot/

aoss:RestoreSnapshot POST /_snapshot/aoss-automated/snapshot/_restore
aoss:DescribeCollectionItems GET /_cat/recovery

ポリシーは、次の AWS CLI コマンドを使用して設定できます。

アクセスポリシーを作成するための CLI コマンドの例を次に示します。コマンドで、サンプルコンテンツを特定の情報に置き換えます。

aws opensearchserverless create-access-policy \ --type data \ --name Example-data-access-policy \ --region aws-region \ --policy '[ { "Rules": [ { "Resource": [ "collection/Example-collection" ], "Permission": [ "aoss:DescribeSnapshot", "aoss:RestoreSnapshot", "aoss:DescribeCollectionItems" ], "ResourceType": "collection" } ], "Principal": [ "arn:aws:iam::111122223333:user/UserName" ], "Description": "Data policy to support snapshot operations." } ]'

スナップショットの使用

デフォルトでは、新しいコレクションを作成すると、OpenSearch Serverless は 1 時間ごとにスナップショットを自動作成します。ご自身では特に何もする必要はありません。各スナップショットには、コレクション内のすべてのインデックスが含まれます。OpenSearch Serverless がスナップショットを作成したら、次の手順を使用してスナップショットを一覧表示し、スナップショットの詳細を確認できます。

スナップショットを一覧表示する

以下の手順に従って、コレクション内のすべてのスナップショットを一覧表示し、その詳細を確認します。

Console
  1. https://console.aws.amazon.com/aos/ で Amazon OpenSearch Service コンソールを開きます。

  2. 左側のナビゲーションペインで、サーバーレスを選択し、コレクションを選択します。

  3. コレクションの名前を選択して、詳細ページを開きます。

  4. スナップショットタブを選択すると、生成されたすべてのスナップショットが表示されます。

  5. 以下を含むスナップショット情報を確認します。

    • スナップショット ID - スナップショットの一意の識別子

    • ステータス - 現在の状態 (使用可能、進行中)

    • 作成日時 - スナップショットが作成された日時

AWS CLI
  • 以下のコマンドを使用して、コレクション内のすべてのスナップショットを一覧表示します。

    GET /_cat/snapshots/aoss-automated

    OpenSearch Serverless は、以下のようなレスポンスを返します。

    id status start_epoch start_time end_epoch end_time duration indexes successful_shards failed_shards total_shards snapshot-ExampleSnapshotID1 SUCCESS 1737964331 07:52:11 1737964382 07:53:02 50.4s 1 snapshot-ExampleSnapshotID2 SUCCESS 1737967931 08:52:11 1737967979 08:52:59 47.7s 2 snapshot-ExampleSnapshotID3 SUCCESS 1737971531 09:52:11 1737971581 09:53:01 49.1s 3 snapshot-ExampleSnapshotID4 IN_PROGRESS 1737975131 10:52:11 - - 4.8d 3

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

次の手順を使用して、特定のスナップショットに関する詳細情報を取得します。

Console
  1. https://console.aws.amazon.com/aos/ で Amazon OpenSearch Service コンソールを開きます。

  2. 左側のナビゲーションペインで、サーバーレスを選択し、コレクションを選択します。

  3. コレクションの名前を選択して、詳細ページを開きます。

  4. [スナップショット] タブを選択します。

  5. スナップショットジョブ ID を選択すると、メタデータ、含まれるインデックス、タイミング情報など、スナップショットに関する詳細情報が表示されます。

AWS CLI
  • スナップショットに関する情報を取得するには、次のコマンドを使用します。コマンドで、サンプルコンテンツを特定の情報に置き換えます。

    GET _snapshot/aoss-automated/snapshot/

    リクエストの例:

    GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/

    レスポンスの例:

    { "snapshots": [ { "snapshot": "snapshot-ExampleSnapshotID1-5e01-4423-9833Example", "uuid": "Example-5e01-4423-9833-9e9eb757Example", "version_id": 136327827, "version": "2.11.0", "remote_store_index_shallow_copy": true, "indexes": [ "Example-index-0117" ], "data_streams": [], "include_global_state": true, "metadata": {}, "state": "SUCCESS", "start_time": "2025-01-27T09:52:11.953Z", "start_time_in_millis": 1737971531953, "end_time": "2025-01-27T09:53:01.062Z", "end_time_in_millis": 1737971581062, "duration_in_millis": 49109, "failures": [], "shards": { "total": 0, "failed": 0, "successful": 0 } } ] }

スナップショットレスポンスには、スナップショットオペレーションの一意の識別子idを提供し、現在の状態SUCCESSまたは statusを返しIN_PROGRESS、スナップショットオペレーションの完了にかかった時間durationを示し、スナップショットに含まれるインデックスの数indexesを返します。

スナップショットからの復元

スナップショットから復元すると、以前に取得したバックアップからデータが復元されます。このプロセスは、OpenSearch Serverless でのディザスタリカバリとデータ管理に不可欠です。復元する前に、復元されたインデックスには元のバージョンとは異なる UUIDs があり、スナップショットは元のコレクションにのみ復元でき (クロスコレクション復元はサポートされていません)、復元オペレーションはクラスターのパフォーマンスに影響するため、それに応じて計画します。

バックアップされたインデックスをスナップショットから復元するには、次の手順に従います。

Console
  1. https://console.aws.amazon.com/aos/ で Amazon OpenSearch Service コンソールを開きます。

  2. 左側のナビゲーションペインで、サーバーレスを選択し、コレクションを選択します。

  3. コレクションの名前を選択して、詳細ページを開きます。

  4. スナップショットタブを選択して、使用可能なスナップショットを表示します。

  5. 復元元のスナップショットを選択し、スナップショットから復元を選択します。

  6. スナップショットから復元ダイアログで、次の操作を行います。

    • スナップショット名で、選択したスナップショット ID を確認します。

    • スナップショットスコープでは、次のいずれかを選択します。

      • コレクション内のすべてのインデックス - スナップショットからすべてのインデックスを復元する

      • 特定のインデックス - 復元する個々のインデックスを選択する

    • Destination で、復元するコレクションを選択します。

    • (オプション) 名前変更設定を設定して、復元されたインデックスの名前を変更します。

      • 名前を変更しない - 元のインデックス名を保持する

      • 復元されたインデックス名にプレフィックスを追加する - 競合を避けるためにプレフィックスを追加する

      • 正規表現を使用して名前を変更する - 高度な名前変更パターンを使用する

    • (オプション) 復元が完了したとき、またはエラーが発生したときに通知されるように通知設定を構成します。

  7. 保存を選択して復元オペレーションを開始します。

  8. 復元アクティビティタブで復元の進行状況をモニタリングします。このタブには、ステータス、開始時刻、完了時刻、影響を受けるインデックスが表示されます。

AWS CLI
  1. 以下のコマンドを実行して、適切なスナップショットを特定します。

    GET /_snapshot/aoss-automated/_all

    スナップショットのリストを絞り込むには、以下のコマンドを実行します。

    GET /_cat/snapshots/aoss-automated
  2. スナップショットを復元する前に、以下のコマンドを実行して詳細を確認します。コマンドで、サンプルコンテンツを特定の情報に置き換えます。

    GET _snapshot/aoss-automated/snapshot-ExampleSnapshotID1/
  3. 特定のスナップショットから復元するには、以下のコマンドを実行します。

    POST /_snapshot/aoss-automated/snapshot-ID/_restore

    リクエスト本文を含めることで、復元オペレーションをカスタマイズできます。以下に例を示します。

    POST /_snapshot/aoss-automated/snapshot-ExampleSnapshotID1-5e01-4423-9833Example/_restore { "indexes": "opensearch-dashboards*,my-index*", "ignore_unavailable": true, "include_global_state": false, "include_aliases": false, "rename_pattern": "opensearch-dashboards(.+)", "rename_replacement": "restored-opensearch-dashboards$1" }
  4. 復元の進行状況を表示するには、以下のコマンドを実行します。

    GET /_cat/recovery
注記

リクエスト本文を含むコマンドを使用してスナップショットを復元する場合、いくつかのパラメータを使用して復元動作を制御できます。indexes パラメータは、復元するインデックスを指定し、ワイルドカードパターンをサポートします。スナップショット内のインデックスがない場合でも復元オペレーションを続行するignore_unavailableように を設定します。include_global_state を使用してクラスターの状態を復元するかどうかを判断し、関連付けられたエイリアスを復元するかどうかinclude_aliasesを制御します。rename_pattern および rename_replacementパラメータは、復元オペレーション中にインデックスの名前を変更します。