Création d'instantanés d'index dans Amazon Service OpenSearch - Amazon OpenSearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'instantanés d'index dans Amazon Service OpenSearch

Les instantanés d'Amazon OpenSearch Service sont des sauvegardes des index et de l'état d'un cluster. L'état inclut les paramètres de cluster, les informations de nœud, les paramètres d'index et l'allocation des partitions.

OpenSearch Les instantanés de service se présentent sous les formes suivantes :

  • Les instantanés automatiques sont uniquement destinés à la récupération de cluster. Vous pouvez les utiliser pour restaurer votre domaine en cas de statut de cluster rouge ou de perte de données. Pour plus d'informations, consultez la section Restauration des instantanés ci-dessous. OpenSearch Le service stocke les instantanés automatisés dans un compartiment Amazon S3 préconfiguré sans frais supplémentaires.

  • Les instantanés manuels sont destinés à la récupération de cluster ou au déplacement de données d'un cluster à un autre. Vous devez initier les instantanés manuels. Ces instantanés sont stockés dans votre propre compartiment Amazon S3 et des frais S3 standard s'appliquent. Si vous disposez d'un instantané provenant d'un OpenSearch cluster autogéré, vous pouvez l'utiliser pour migrer vers un domaine de OpenSearch service. Pour plus d'informations, consultez la section Migration vers Amazon OpenSearch Service.

Tous les domaines de OpenSearch service prennent des instantanés automatisés, mais la fréquence varie comme suit :

  • Pour les domaines exécutant Elasticsearch 5.3 OpenSearch ou version ultérieure, OpenSearch Service prend des instantanés automatisés toutes les heures et en conserve jusqu'à 336 pendant 14 jours. Les instantanés horaires sont moins perturbateurs en raison de leur nature progressive. Ils fournissent également un point de récupération plus récent en cas de problèmes de domaine.

  • Pour les domaines exécutant Elasticsearch 5.1 et versions antérieures, le OpenSearch Service prend des instantanés automatisés quotidiens pendant l'heure que vous spécifiez, en conserve jusqu'à 14 et ne conserve aucune donnée d'instantané pendant plus de 30 jours.

Si votre cluster passe au statut rouge, tous les instantanés automatiques échouent tant que l'état du cluster persiste. Si vous ne corrigez pas le problème dans un délai de deux semaines, vous risquez de perdre définitivement les données de votre cluster. Pour obtenir les étapes de dépannage, consultez Statut de cluster rouge.

Prérequis

Pour créer manuellement des instantanés, vous devez utiliser IAM et Amazon S3. Vérifiez que vous répondez aux conditions préalables suivantes avant d'essayer de prendre un instantané.

Prérequis Description
Compartiment S3

Créez un compartiment S3 pour stocker les instantanés manuels de votre domaine OpenSearch de service. Pour plus d'informations, consultez Créer un compartiment dans le Guide de l'utilisateur d'Amazon Simple Storage Service.

Mémorisez le nom du compartiment pour l'utiliser aux emplacements suivants :

  • Déclaration Resource de la politique IAM attachée à votre rôle IAM

  • Client Python utilisé pour enregistrer un référentiel d'instantanés (si vous utilisez cette méthode)

Important

N'appliquez pas de règle de cycle de vie S3 Glacier à ce compartiment. Les instantanés manuels ne prennent pas en charge la classe de stockage S3 Glacier.

Rôle IAM

Créez un rôle IAM pour déléguer des autorisations au OpenSearch service. Pour obtenir des instructions, consultez la section Création d'un rôle IAM (console) du Guide de l'utilisateur IAM. Le reste de ce chapitre fait référence à ce rôle en tant que TheSnapshotRole.

Attachement d'une politique IAM

Attachez la stratégie suivante à TheSnapshotRole pour autoriser l'accès au compartiment S3 :

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name/*" ] } ] }

Pour obtenir des instructions sur l'attachement d'une politique à un rôle, consultez Ajout d'autorisations d'identité IAM dans le Guide de l'utilisateur IAM.

Modification de la relation d'approbation

Modifiez la relation de confiance de TheSnapshotRole pour spécifier le OpenSearch service dans l'Principalinstruction, comme indiqué dans l'exemple suivant :

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

Pour obtenir des instructions sur la modification de la relation d'approbation, consultez Modification d'une politique d'approbation de rôle dans le Guide de l'utilisateur IAM.

Autorisations

Pour enregistrer le référentiel de snapshots, vous devez être en mesure de passer TheSnapshotRole au OpenSearch service. Vous avez également besoin de l'accès à l'action es:ESHttpPut. Pour accorder ces deux autorisations, attachez la politique suivante au rôle IAM dont les informations d'identification sont utilisées pour signer la demande :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/TheSnapshotRole" }, { "Effect": "Allow", "Action": "es:ESHttpPut", "Resource": "arn:aws:es:region:123456789012:domain/domain-name/*" } ] }

Si votre utilisateur ou votre rôle ne dispose pas d'iam:PassRoleautorisations à transmettreTheSnapshotRole, vous risquez de rencontrer l'erreur courante suivante lorsque vous tenterez d'enregistrer un référentiel à l'étape suivante :

$ python register-repo.py {"Message":"User: arn:aws:iam::123456789012:user/MyUserAccount is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/TheSnapshotRole"}

Inscription d'un référentiel d'instantanés manuels

Vous devez enregistrer un référentiel de clichés auprès du OpenSearch Service avant de pouvoir prendre des instantanés d'index manuels. Cette opération unique nécessite que vous signiez votre AWS demande avec des informations d'identification autoriséesTheSnapshotRole, comme décrit dansPrérequis.

Étape 1 : Cartographier le rôle du snapshot dans les OpenSearch tableaux de bord (si vous utilisez un contrôle d'accès précis)

Le contrôle précis des accès introduit une étape supplémentaire lors de l'inscription d'un référentiel. Même si vous utilisez l'authentification de base HTTP à toutes les autres fins, vous devez mapper le rôle manage_snapshots à votre rôle IAM qui a les autorisations iam:PassRole pour transmettre TheSnapshotRole.

  1. Accédez au plugin OpenSearch Dashboards correspondant à votre domaine OpenSearch de service. Vous pouvez trouver le point de terminaison Dashboards sur le tableau de bord de votre domaine sur la console OpenSearch de service.

  2. Dans le menu principal, choisissez Security (Sécurité), Roles (Rôles), puis sélectionnez le rôle manage_snapshots.

  3. Choisissez Mapped users (Utilisateurs mappés), Manage mapping (Gérer le mappage).

  4. Ajoutez l'ARN du rôle ayant les autorisations de transmettre TheSnapshotRole. Placez les ARN de rôle sous les Backend roles (Rôles de backend).

    arn:aws:iam::123456789123:role/role-name
  5. Sélectionnez Map (Mapper) et vérifiez que l'utilisateur ou le rôle s'affiche sous Mapped users (Utilisateurs mappés).

Étape 2 : Inscrire un référentiel

L'onglet Snapshots suivant montre comment enregistrer un répertoire de snapshots. Pour les options spécifiques au chiffrement d'un instantané manuel et à l'enregistrement d'un instantané après la migration vers un nouveau domaine, consultez les onglets correspondants.

Snapshots

Pour enregistrer un référentiel de snapshots, envoyez une demande PUT au point de terminaison du domaine de OpenSearch service. Vous pouvez utiliser curl, le client Python d'exemple, Postman ou une autre méthode pour envoyer une demande signée afin d'enregistrer le référentiel de snapshots. Notez que vous ne pouvez pas utiliser de requête PUT dans la console OpenSearch Dashboards pour enregistrer le référentiel.

La demande se présente au format suivant :

PUT domain-endpoint/_snapshot/my-snapshot-repo-name { "type": "s3", "settings": { "bucket": "s3-bucket-name", "base_path": "my/snapshot/directory", "region": "region", "role_arn": "arn:aws:iam::123456789012:role/TheSnapshotRole" } }
Note

Les noms de référentiels ne peuvent pas commencer par « cs- ». De plus, vous ne devriez pas écrire dans le même référentiel à partir de plusieurs domaines. Un seul domaine doit avoir un accès en écriture au référentiel.

Si votre domaine réside au sein d'un cloud privé virtuel (VPC), votre ordinateur doit être connecté au VPC pour que la demande puisse enregistrer le référentiel d'instantanés. L'accès à un VPC varie selon la configuration du réseau, mais implique généralement la connexion à un VPN ou un réseau d'entreprise. Pour vérifier que vous pouvez accéder au domaine de OpenSearch service, accédez https://your-vpc-domain.region.es.amazonaws.com à un navigateur Web et vérifiez que vous recevez la réponse JSON par défaut.

Lorsque votre compartiment Amazon S3 se trouve dans un autre domaine Région AWS que votre OpenSearch domaine, ajoutez le paramètre "endpoint": "s3.amazonaws.com" à la demande.

Encrypted snapshots

Vous ne pouvez actuellement pas utiliser de clés AWS Key Management Service (KMS) pour chiffrer les instantanés manuels, mais vous pouvez les protéger à l'aide du chiffrement côté serveur (SSE).

Pour activer SSE avec des clés gérées par S3 pour le bucket que vous utilisez comme référentiel de snapshots, ajoutez-le "server_side_encryption": true au "settings" bloc de la demande PUT. Pour plus d'informations, consultez Protection des données à l'aide du chiffrement côté serveur avec les clés de chiffrement gérées par Amazon S3 dans le Guide de l'utilisateur Amazon Simple Storage Service.

Vous pouvez également utiliser des AWS KMS clés pour le chiffrement côté serveur sur le compartiment S3 que vous utilisez comme référentiel de snapshots. Si vous utilisez cette approche, veillez à TheSnapshotRole autoriser la AWS KMS clé utilisée pour chiffrer le compartiment S3. Pour plus d'informations, consultez Stratégies de clé dans le AWS KMS.

Domain migration

L'enregistrement d'un référentiel d'instantanés est une opération ponctuelle. Cela étant, pour migrer d'un domaine à un autre, vous devez enregistrer le référentiel d'instantanés sur l'ancien et le nouveau domaine. Le nom du référentiel est arbitraire.

Prenez en compte les instructions suivantes lors de la migration vers un nouveau domaine ou de l'enregistrement du même référentiel auprès de plusieurs domaines :

  • Lors de l'enregistrement du référentiel sur le nouveau domaine, ajoutez "readonly": true au bloc "settings" de la demande PUT. Ce paramètre vous empêche d'écraser malencontreusement des données de l'ancien domaine. Un seul domaine doit avoir un accès en écriture au référentiel.

  • Si vous migrez des données vers un domaine situé dans un autre domaine (par exemple Région AWS, d'un ancien domaine et d'un compartiment situés dans us-east-2 vers un nouveau domaine dans us-west-2), remplacez-les par dans l'instruction PUT et "region": "region" réessayez la "endpoint": "s3.amazonaws.com" demande.

Utilisation de l'exemple de client Python

Le client Python est plus facile à automatiser qu'une simple requête HTTP et peut être réutilisé. Si vous choisissez d'utiliser cette méthode pour enregistrer un référentiel d'instantanés, enregistrez l'exemple de code Python suivant en tant que fichier Python, comme register-repo.py. Le client a besoin des packages AWS SDK for Python (Boto3), requests et requests-aws4auth. Le client contient des exemples mis en commentaire pour d'autres opérations d'instantanés.

Mettez à jour les variables suivantes dans l'exemple de code : host, region, path et payload.

import boto3 import requests from requests_aws4auth import AWS4Auth host = '' # domain endpoint region = '' # e.g. us-west-1 service = 'es' credentials = boto3.Session().get_credentials() awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token) # Register repository path = '/_snapshot/my-snapshot-repo-name' # the OpenSearch API endpoint url = host + path payload = { "type": "s3", "settings": { "bucket": "s3-bucket-name", "base_path": "my/snapshot/directory", "region": "us-west-1", "role_arn": "arn:aws:iam::123456789012:role/snapshot-role" } } headers = {"Content-Type": "application/json"} r = requests.put(url, auth=awsauth, json=payload, headers=headers) print(r.status_code) print(r.text) # # Take snapshot # # path = '_snapshot/my-snapshot-repo-name/my-snapshot' # url = host + path # # r = requests.put(url, auth=awsauth) # # print(r.text) # # # Delete index # # path = 'my-index' # url = host + path # # r = requests.delete(url, auth=awsauth) # # print(r.text) # # # Restore snapshot (all indexes except Dashboards and fine-grained access control) # # path = '_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = { # "indices": "-.kibana*,-.opendistro_security,-.opendistro-*", # "include_global_state": False # } # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text) # # # Restore snapshot (one index) # # path = '_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = {"indices": "my-index"} # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text)

Prise d'instantanés manuels

Les instantanés ne sont pas créés instantanément. Ils prennent du temps et ne représentent pas point-in-time une vue parfaite du cluster. Lors de la création d'un instantané, vous pouvez toujours indexer des documents et adresser d'autres demandes au cluster. Toutefois, les nouveaux documents et les mises à jour des documents existants ne sont généralement pas inclus dans l'instantané. Le cliché inclut les partitions principales telles qu'elles existaient au moment OpenSearch de son lancement. En fonction de la taille de votre groupe de threads d'instantanés, différentes partitions peuvent être incluses dans l'instantané à différents moments. Pour connaître les meilleures pratiques en matière de capture d'écran, voirAméliorez les performances des instantanés.

Stockage et performances des instantanés

OpenSearch les instantanés sont incrémentiels, ce qui signifie qu'ils ne stockent que les données modifiées depuis le dernier instantané réussi. Cette nature incrémentielle signifie que la différence d'utilisation de disque entre des instantanés fréquents et rares est souvent minime. En d'autres termes, la réalisation d'instantanés horaires pendant une semaine (avec un total de 168 instantanés) peut ne pas utiliser beaucoup plus d'espace disque que celle d'un seul instantané à la fin de la semaine. De plus, plus vous prenez des instantanés fréquemment, plus vous les réalisez rapidement. Par exemple, les instantanés quotidiens peuvent prendre 20 à 30 minutes, alors que les instantanés horaires peuvent se terminer en quelques minutes. Certains OpenSearch utilisateurs prennent des instantanés toutes les demi-heures.

Prendre un instantané

Lorsque vous créez un paramètre, vous spécifiez les informations suivantes :

  • Nom de votre référentiel d'instantanés

  • Nom de l'instantané

Les exemples de ce chapitre utilisent curl, un client HTTP courant, pour des raisons de commodité et de concision. Pour transmettre un nom d'utilisateur et un mot de passe à votre demande curl, consultez le didacticiel de démarrage.

Si vos politiques d'accès spécifient des utilisateurs ou des rôles, vous devez signer vos demandes de capture instantanée. Pour curl, vous pouvez utiliser l'--aws-sigv4option avec la version 7.75.0 ou ultérieure. Vous pouvez également utiliser les exemples commentés de l'exemple de client Python pour envoyer des requêtes HTTP signées aux mêmes points de terminaison que ceux utilisés par les commandes curl.

Pour prendre un instantané manuel, procédez comme suit :

  1. Vous ne pouvez pas prendre un instantané si un instantané est en cours. Pour vérifier, exécutez la commande suivante :

    curl -XGET 'domain-endpoint/_snapshot/_status'
  2. Exécutez la commande suivante pour prendre un instantané manuel :

    curl -XPUT 'domain-endpoint/_snapshot/repository-name/snapshot-name'

    Pour inclure ou exclure certains index et spécifier d'autres paramètres, ajoutez un corps de requête. Pour la structure de la demande, consultez la section Prendre des instantanés dans la OpenSearch documentation.

Note

Le temps nécessaire pour prendre un instantané augmente en fonction de la taille du domaine de OpenSearch service. Les opérations d'instantanés de longue durée rencontrent parfois l'erreur suivante : 504 GATEWAY_TIMEOUT. Vous pouvez généralement ignorer ces erreurs et attendre que l'opération se termine avec succès. Exécutez la commande suivante pour vérifier l'état de tous les instantanés de votre domaine :

curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'

Restauration des instantanés

Avant de restaurer un instantané, assurez-vous que le domaine de destination n'utilise pas le mode Multi-AZ avec mode veille. L'activation du mode veille entraîne l'échec de l'opération de restauration.

Avertissement

Si vous utilisez des alias d'index, vous devez soit cesser d'écrire des demandes à un alias, soit passer de l'alias à un autre index avant de supprimer son index. L'arrêt des demandes d'écriture contribue à éviter le scénario suivant :

  1. Vous supprimez un index, ce qui supprime également son alias.

  2. Une demande d'écriture errante à l'alias maintenant supprimé crée un nouvel index avec le même nom que celui de l'alias.

  3. Vous ne pouvez plus utiliser l'alias en raison d'un conflit de noms avec le nouvel index. Si vous avez basculé l'alias vers un autre index, spécifiez "include_aliases": false lorsque vous restaurez à partir d'un instantané.

Pour restaurer un instantané

  1. Identifiez l'instantané que vous voulez restaurer. Assurez-vous que tous les paramètres de cet index, tels que les packages d'analyseurs personnalisés ou les paramètres d'exigences d'allocation, sont compatibles avec le domaine. Pour afficher tous les référentiels d'instantanés, exécutez la commande suivante :

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

    Une fois le référentiel identifié, exécutez la commande suivante pour afficher tous les instantanés :

    curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'
    Note

    La plupart des instantanés automatiques sont stockés dans le référentiel cs-automated. Si votre domaine chiffre les données au repos, elles sont stockées dans le référentiel cs-automated-enc. Si vous ne voyez pas le référentiel d'instantanés manuels que vous recherchez, vérifiez que vous l'avez enregistré dans le domaine.

  2. (Facultatif) Supprimez ou renommez un ou plusieurs index du domaine de OpenSearch service en cas de conflit de dénomination entre les index du cluster et ceux du cliché. Vous ne pouvez pas restaurer un instantané de vos index sur un OpenSearch cluster qui contient déjà des index portant le même nom.

    En cas de conflits de noms d'index, les options suivantes s'offrent à vous :

    La commande suivante supprime tous les index existants d'un domaine :

    curl -XDELETE 'domain-endpoint/_all'

    Cependant, si vous ne prévoyez pas de restaurer tous les index, vous pouvez simplement en supprimer un :

    curl -XDELETE 'domain-endpoint/index-name'
  3. Pour restaurer un instantané, exécutez la commande suivante :

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

    En raison d'autorisations spéciales sur les OpenSearch tableaux de bord et d'index de contrôle d'accès précis, les tentatives de restauration de tous les index peuvent échouer, en particulier si vous essayez de restaurer à partir d'un instantané automatique. L'exemple suivant restaure un seul index, my-index, depuis 2020-snapshot vers le référentiel d'instantanés cs-automated :

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

    Vous pouvez également restaurer tous les index à l'exception des index Dashboards et des index de contrôle précis des accès :

    curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "-.kibana*,-.opendistro*"}' \ -H 'Content-Type: application/json'

    Vous pouvez restaurer un instantané sans supprimer ses données à l'aide des rename_replacement paramètres rename_pattern et. Pour plus d'informations sur ces paramètres, consultez les champs de demande de l'API Restore Snapshot et l'exemple de demande dans la OpenSearch documentation.

Note

Si seule une partie des partitions primaires était disponible pour les index impliqués, un instantané peut avoir l'state PARTIAL. Cette valeur indique que les données d'au moins une partition n'ont pas été stockées avec succès. Vous pouvez toujours effectuer une restauration à partir d'un instantané partiel, mais vous aurez probablement besoin d'anciens instantanés pour restaurer les index manquants.

Suppression d’instantanés manuels

Pour supprimer un instantané manuel, exécutez la commande suivante :

DELETE _snapshot/repository-name/snapshot-name

Automatisation des instantanés grâce à la gestion des instantanés

Vous pouvez configurer une politique de gestion des instantanés (SM) dans les OpenSearch tableaux de bord afin d'automatiser la création et la suppression périodiques d'instantanés. SM peut prendre un instantané d'un groupe d'indices, tandis que Index State Management ne peut prendre qu'un seul instantané par index. Pour utiliser SM in OpenSearch Service, vous devez enregistrer votre propre référentiel Amazon S3. Pour obtenir des instructions relatives à l'enregistrement de votre référentiel, consultez la section Enregistrement d'un référentiel de snapshots manuel.

Avant SM, OpenSearch Service offrait une fonction de capture instantanée gratuite et automatisée qui est toujours activée par défaut. Cette fonctionnalité envoie des instantanés dans le référentiel géré par le service. cs-* Pour désactiver cette fonctionnalité, contactez. AWS Support

Pour plus d'informations sur la fonctionnalité SM, consultez la section Gestion des snapshots dans la OpenSearch documentation.

SM ne prend actuellement pas en charge la création de snapshots sur plusieurs types d'index. Par exemple, si vous essayez de créer un instantané sur plusieurs index avec le niveau chaud * et que certains index se trouvent dans le niveau chaud, la création de l'instantané échouera. Si vous avez besoin que votre instantané contienne plusieurs types d'index, utilisez l'action Instantané ISM jusqu'à ce que SM accepte cette option.

Configurer des autorisations

Si vous effectuez une mise à niveau vers la version 2.5 à partir d'une version précédente du domaine de OpenSearch service, il est possible que les autorisations de sécurité de gestion des snapshots ne soient pas définies sur le domaine. Les utilisateurs non administrateurs doivent être mappés à ce rôle afin d'utiliser la gestion des instantanés sur les domaines à l'aide d'un contrôle d'accès précis. Pour créer manuellement le rôle de gestion des snapshots, effectuez les opérations suivantes :

  1. Dans les OpenSearch tableaux de bord, accédez à Sécurité, puis sélectionnez Autorisations.

  2. Choisissez Create action group (Créer un groupe d'actions) et configurez les groupes suivants :

    Nom du groupe Autorisations
    snapshot_management_full_access
    • cluster:admin/opensearch/snapshot_management/*

    • cluster:admin/opensearch/notifications/feature/publish

    • cluster:admin/repository/*

    • cluster:admin/snapshot/*

    snapshot_management_read_access
    • cluster:admin/opensearch/snapshot_management/policy/get

    • cluster:admin/opensearch/snapshot_management/policy/search

    • cluster:admin/opensearch/snapshot_management/policy/explain

    • cluster:admin/repository/get

    • cluster:admin/snapshot/get

  3. Choisissez Roles (Rôles), puis Create role (Créer un rôle).

  4. Nommez le rôle snapshot_management_role.

  5. Pour les autorisations du cluster, sélectionnez snapshot_management_full_access ousnapshot_management_read_access.

  6. Choisissez Créer.

  7. Après avoir créé le rôle, associez-le à n'importe quel rôle d'utilisateur ou de backend qui gérera les instantanés.

Considérations

Lorsque vous configurez la gestion des snapshots, tenez compte des points suivants :

  • Une seule politique est autorisée par référentiel.

  • Jusqu'à 400 instantanés sont autorisés pour une politique.

  • Cette fonctionnalité ne s'exécute pas si le statut de votre domaine est rouge, s'il est soumis à une pression JVM élevée (85 % ou plus) ou si la fonction de capture instantanée est bloquée. Lorsque les performances globales d'indexation et de recherche de votre cluster sont affectées, SM peut également être affecté.

  • Une opération de capture instantanée ne démarre qu'une fois l'opération précédente terminée, de sorte qu'aucune opération de capture d'écran simultanée n'est activée par une seule politique.

  • Plusieurs politiques associées au même calendrier peuvent entraîner un pic de ressources. Si les indices instantanés des politiques se chevauchent, les opérations de capture instantanée au niveau des partitions ne peuvent être exécutées que de manière séquentielle, ce qui peut entraîner un problème de performance en cascade. Si les politiques partagent un référentiel, il y aura un pic d'opérations d'écriture dans ce référentiel.

  • Nous vous recommandons de planifier l'automatisation de vos opérations de capture instantanée au maximum une fois par heure, sauf si vous avez un cas d'utilisation particulier.

Automatisation des instantanés avec Index State Management

Vous pouvez utiliser l'opération Index State Management (ISM) snapshot pour déclencher automatiquement des instantanés d'index en fonction des modifications en termes d'âge, de taille ou de nombre de documents. ISM est préférable lorsque vous avez besoin d'un instantané par index. Si vous avez besoin d'un instantané d'un groupe d'indices, reportez-vous àAutomatisation des instantanés grâce à la gestion des instantanés.

Pour utiliser SM in OpenSearch Service, vous devez enregistrer votre propre référentiel Amazon S3. Pour un exemple de politique ISM utilisant l'opération snapshot, consultez Exemples de politiques.

Utilisation de Curator pour les instantanés

Si ISM ne fonctionne pas pour la gestion des index et des instantanés, vous pouvez utiliser Curator à la place. Curator offre des fonctionnalités de filtrage avancé qui peuvent simplifier les tâches de gestion sur les clusters complexes. Utilisez pip pour installer Curator.

pip install elasticsearch-curator

Vous pouvez utiliser Curator comme une interface de ligne de commande (CLI) ou API Python. Si vous utilisez l'API Python, vous devez utiliser la version 7.13.4 ou une version antérieure du client elasticsearch-py existant. Le client opensearch-py n’est pas pris en charge.

Si vous utilisez l'interface CLI, exportez vos informations d'identification au niveau de la ligne de commande et configurez curator.yml comme suit :

client: hosts: search-my-domain.us-west-1.es.amazonaws.com port: 443 use_ssl: True aws_region: us-west-1 aws_sign_request: True ssl_no_validate: False timeout: 60 logging: loglevel: INFO