Amazon OpenSearch Service の「インデックス [.kibana] が開かれているため復元できません」というエラーを解決するにはどうすればよいですか?
最終更新日: 2021 年 7 月 23 日
Amazon OpenSearch Service でマニュアルスナップショットからインデックスの復元を試みると、エラーメッセージが表示されて復元に失敗します。これを解決するにはどうすればよいですか?
解決方法
Amazon OpenSearch Service バージョン 5.1 以降では、OpenSearch Service は .kibana インデックスをモニタリングし、削除されたときにインデックスを再作成します。この動作により、復元が失敗し、次のエラーメッセージが表示されることがあります。
{"error":{"root_cause":[{"type":"snapshot_restore_exception","reason":"[repository-name:snapshot-name/1A2B34aZQFWQpFOYYJfxmQ]
cannot restore index [.kibana] because it's
open"}],"type":"snapshot_restore_exception","reason":"[repository-name:snapshot-name/1A2B34aZQFWQpFOYYJfxmQ]
cannot restore index [.kibana] because it's open"},"status":500}
この問題を解決するには、以下のステップを実行します。
1. インデックスを復元し、次のように.kibana インデックスの名前を変更します。
# restore indices.
$ curl -XPOST -H 'Content-Type: application/json' 'https://your-domain-end-point/_snapshot/your-repository-name/your-snapshot-name/_restore' -d '
{
"indices": "*",
"ignore_unavailable": true,
"include_global_state": true,
"rename_pattern": ".kibana",
"rename_replacement": "restored_.kibana"
}'
この例では、.kibana インデックスの名前を「restored_.kibana」に変更します。
2. _reindex API オペレーションを使用して、次のように「restored_.kibana」の名前を「.kibana」に戻します。
# reindex restored_.kibana to .kibana
$ curl -XPOST -H 'Content-Type: application/json' 'https://your-domain-end-point/_reindex' -d '
{
"source": {
"index": "restored_.kibana"
},
"dest": {
"index": ".kibana"
}
}'
これで、マニュアルスナップショットからインデックスを復元できるようになります。
Amazon OpenSearch Service は、Amazon Elasticsearch Service の後継サービスです。