Comment puis-je résoudre l'erreur « Impossible de restaurer les index à partir des instantanés dans Amazon OpenSearch Service ?

Date de la dernière mise à jour : 23/07/2021

Lorsque j'essaie de restaurer des indices à partir d'instantanés manuels dans Amazon OpenSearch Service, la restauration échoue avec un message d'erreur. Comment puis-je résoudre ce problème ?

Solution

Dans Amazon OpenSearch Service versions 5.1 et ultérieures, OpenSearch Service contrôle l'index .kibana et recrée l'index lorsqu'il est supprimé. Ce comportement peut entraîner l'échec de la restauration avec le message d'erreur suivant :

{"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}

Remarque : Amazon OpenSearch Service est le successeur d'Amazon Elasticsearch Service.

Pour résoudre ce problème, suivez les étapes suivantes :

1.    Restaurez les index et renommez l'index .kibana, comme ceci :

# 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"
}'

Dans cet exemple, l'index .kibana est renommé « restored_.kibana ».

2.    Utilisez l'opération d'API _reindex pour renommer « restored_.kibana », « .kibana », comme ceci :

# 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"
  }
}'

Vous pouvez désormais restaurer vos index à partir d'un instantané manuel.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?