Amazon OpenSearch Service の「インデックス [.kibana] を復元できません」というエラーを解決する方法を教えてください。

最終更新日: 2021 年 7 月 23 日

Amazon OpenSearch Service で手動スナップショットからインデックスの復元を試みると、エラーメッセージが表示されて復元に失敗します。これを解決するにはどうすればよいですか?

解決方法

Amazon OpenSearch Service は.kibana インデックスを監視し、インデックスが削除されるとインデックスを再作成します。この動作により、復元が失敗し、次のエラーメッセージが表示されることがあります。

{
    "error": {
        "root_cause": [{
            "type": "snapshot_restore_exception",
            "reason": "[repository-name:snapshot-name/1A2B34aZQFWQpFOYYJfxmQ] cannot restore index [.kibana] because an open index with same name already exists in the cluster. Either close or delete the existing index or restore the index under a different name by providing a rename pattern and replacement name"
        }],
        "type": "snapshot_restore_exception",
        "reason": "[repository-name:snapshot-name/1A2B34aZQFWQpFOYYJfxmQ] cannot restore index [.kibana] because an open index with same name already exists in the cluster. Either close or delete the existing index or restore the index under a different name by providing a rename pattern and replacement name"
    },
    "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"
    }
}

これで、手動スナップショットからインデックスを復元できるようになります。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?