

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

# スナップショットの復元
<a name="managedomains-snapshot-restore"></a>

スナップショットを復元する前に、宛先ドメインが[スタンバイ付きマルチ AZ](managedomains-multiaz.md#managedomains-za-standby) を使用していないことを確認してください。スタンバイが有効になっている場合、復元オペレーションは失敗します。

**警告**  
インデックスのエイリアスを使用する場合は、インデックスを削除する前に、エイリアスへの書き込みリクエストを中止するか、エイリアスを別のインデックスに切り替える必要があります。書き込みリクエストを中止すると、次のシナリオの回避に有効です。  
インデックスを削除すると、そのエイリアスも削除される。
削除したばかりのエイリアスに対する障害のある書き込みリクエストにより、エイリアスと同じ名前で新しいインデックスが作成される。
新しいインデックスとの命名の競合により、エイリアスを使用できなくなる。エイリアスを別のインデックスに切り替えた場合は、スナップショットから復元するときに `"include_aliases": false` を指定します。

スナップショットを復元するには

1. 復元するスナップショットを特定します。カスタムアナライザーパッケージや割り当て要件設定など、このインデックスのすべての設定がドメインと互換性があることを確認してください。すべてのスナップショットレポジトリを表示するには、次のコマンドを実行します。

   ```
   curl -XGET 'domain-endpoint/_snapshot?pretty'
   ```

   リポジトリを識別した後、次のコマンドを実行してすべてのスナップショットを表示します。

   ```
   curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'
   ```
**注記**  
ほとんどの自動スナップショットは、`cs-automated` リポジトリに保存されます。ドメインで暗号化された保管中のデータは `cs-automated-enc` リポジトリに保存されます。検索する手動スナップショットレポジトリが表示されない場合は、ドメインに[その登録](managedomains-snapshot-registerdirectory.md)をしたことを確認します。

1. (オプション) クラスター上のインデックスとスナップショット内のインデックスの間に名前の競合がある場合は、OpenSearch Service ドメイン内の 1 つ以上のインデックスを削除するか、名前を変更します。OpenSearch クラスターに同じ名前のインデックスが既にある場合は、インデックスのスナップショットを復元できません。

   インデックスの付けた名前の競合がある場合は、次のオプションがあります。
   + 既存の OpenSearch Service ドメインにあるインデックスを削除して、スナップショットを復元します。
   + スナップショットから復元する際、インデックスの名前を変更し、その後インデックスを再作成します。インデックスの名前を変更する方法については、OpenSearch ドキュメントの「[this example request](https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/#example-request)」を参照してください。
   + 別の OpenSearch Service ドメインにスナップショットを復元します (手動スナップショットでのみ可能)。

   次のコマンドは、ドメイン内の既存のインデックスをすべて削除します。

   ```
   curl -XDELETE 'domain-endpoint/_all'
   ```

   ただし、すべてのインデックスを復元する予定がない場合は、インデックスを 1 つだけ削除できます。

   ```
   curl -XDELETE 'domain-endpoint/index-name'
   ```

1. スナップショットを復元するには、次のコマンドを実行します。

   ```
   curl -XPOST 'domain-endpoint/_snapshot/repository-name/snapshot-name/_restore'
   ```

   OpenSearch Dashboards ときめ細かなアクセスコントロールインデックスに対する特別な許可により、特に自動スナップショットから復元しようとする場合は、すべてのインデックスを復元しようとすると失敗することがあります。次の例では、1 つのインデックスである `my-index` を `2020-snapshot` から `cs-automated` スナップショットレポジトリで復元します。

   ```
   curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \
   -d '{"indices": "my-index"}' \
   -H 'Content-Type: application/json'
   ```

   または、Dashboards ときめ細かなアクセスコントロールインデックスを*除く*すべてのインデックスを復元することもできます。

   ```
   curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \
   -d '{"indices": "-.kibana*,-.opendistro*"}' \
   -H 'Content-Type: application/json'
   ```
**注記**  
OpenSearch のバージョンによっては、 `-.opensearch-observability*`や など、追加のシステムインデックスを除外する必要もあります`-.plugins-ml-config*`。これらのインデックスがターゲットドメインに既に存在する場合、復元オペレーションが失敗することがあります。除外するには、`indices`除外リストに追加します。例: `"indices": "-.kibana*,-.opendistro*,-.opensearch-observability*,-.plugins-ml-config*"`。

   `rename_pattern` と `rename_replacement` のパラメータを使用すると、データを削除することなくスナップショットを復元することができます。これらのパラメータの詳細については、OpenSearch ドキュメントの「Restore Snapshot API」(スナップショット API の復元) 内、「[Request fields](https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/#request-fields)」(リクエストフィールド) および「[Example request](https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/#example-request)」(リクエスト例) を参照してください。

**注記**  
関連するインデックスに対してすべてのプライマリシャードを使用できなかった場合、スナップショットが `PARTIAL` の `state` になっている可能性があります。この値は、1 つ以上のシャードからのデータが正しく保存されていないことを示します。部分スナップショットからの復元も可能ですが、不足しているインデックスの復元に古いスナップショットの使用が必要になる場合もあります。