Utilisation des politiques de cycle de vie des données avec Amazon OpenSearch Serverless - 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.

Utilisation des politiques de cycle de vie des données avec Amazon OpenSearch Serverless

Une politique de cycle de vie des données pour une collection de séries chronologiques Amazon OpenSearch Serverless détermine la durée de vie des données de cette collection. OpenSearch Serverless conserve les données pendant la période que vous configurez.

Vous pouvez configurer une politique de cycle de vie des données distincte pour chaque index de chaque collection de séries chronologiques de votreCompte AWS. OpenSearch Serverless conserve les documents dans des index pendant, au minimum, la période de conservation que vous configurez dans la politique. Il les supprime ensuite automatiquement dans la mesure du possible, généralement dans les 48 heures ou 10 % de la période de conservation, selon le délai le plus long.

Seules les collections de séries chronologiques prennent en charge les politiques de cycle de vie des données. Ils ne sont pas pris en charge par les collections de recherche ou de recherche vectorielle.

Politiques relatives au cycle de vie

Dans une politique de cycle de vie des données, vous définissez une série de règles. La politique de cycle de vie des données vous permet de gérer la période de conservation des données associées aux index ou aux collections conformes à ces règles. Ces règles définissent la durée de conservation des données d'un index ou d'un groupe d'index. Chaque règle comprend un type de ressource (index), une période de rétention et une liste de ressources (index) auxquelles s'applique la période de rétention.

Vous définissez la période de conservation à l'aide de l'un des formats suivants :

  • "MinIndexRetention": "24h"— OpenSearch Serverless conserve les données d'index pendant la période spécifiée en heures ou en jours. Vous pouvez définir cette période pour qu'elle soit comprise entre 24h et3650d.

  • "NoMinIndexRetention": true— OpenSearch Serverless conserve les données d'index indéfiniment.

Dans l'exemple de politique suivant, la première règle spécifie une période de conservation de 15 jours pour tous les index de la collectionmarketing. La deuxième règle précise que tous les noms d'index commençant par log dans la finance collection n'ont pas de période de conservation définie et seront conservés indéfiniment.

{ "lifeCyclePolicyDetail": { "type": "retention", "name": "my-policy", "policyVersion": "MTY4ODI0NTM2OTk1N18x", "policy": { "Rules": [ { "ResourceType":"index", "Resource":[ "index/marketing/*" ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/finance/log*" ], "NoMinIndexRetention": true } ] }, "createdDate": 1688245369957, "lastModifiedDate": 1688245369957 } }

Dans l'exemple de règle de politique suivant, OpenSearch Serverless conserve indéfiniment les données de tous les index pour toutes les collections du compte.

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/*/*" ] } ], "NoMinIndexRetention": true }

Autorisations nécessaires

Les politiques de cycle de vie pour OpenSearch Serverless utilisent les autorisations AWS Identity and Access Management (IAM) suivantes. Vous pouvez définir des conditions IAM pour limiter les utilisateurs aux politiques de cycle de vie des données associées à des collections et à des index spécifiques.

  • aoss:CreateLifecyclePolicy— Créez une politique de cycle de vie des données.

  • aoss:ListLifecyclePolicies— Répertoriez toutes les politiques relatives au cycle de vie des données du compte courant.

  • aoss:BatchGetLifecyclePolicy— Consultez une politique de cycle de vie des données associée à un compte ou à un nom de politique.

  • aoss:BatchGetEffectiveLifecyclePolicy— Afficher une politique de cycle de vie des données pour une ressource donnée (indexc'est la seule ressource prise en charge).

  • aoss:UpdateLifecyclePolicy— Modifiez une politique de cycle de vie des données donnée et modifiez son paramètre ou sa ressource de rétention.

  • aoss:DeleteLifecyclePolicy— Supprimez une politique de cycle de vie des données.

La politique d'accès basée sur l'identité suivante permet à un utilisateur de consulter toutes les politiques relatives au cycle de vie des données et de mettre à jour les politiques en fonction du modèle de ressources : collection/application-logs

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aoss:UpdateLifecyclePolicy" ], "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": "application-logs" } } }, { "Effect": "Allow", "Action": [ "aoss:ListLifecyclePolicies", "aoss:BatchGetLifecyclePolicy" ], "Resource": "*" } ] }

Priorité des stratégies

Dans certaines situations, les règles relatives au cycle de vie des données se chevauchent, au sein des politiques ou entre celles-ci. Dans ce cas, une règle avec un nom de ressource ou un modèle de ressource plus spécifique pour un index remplace une règle avec un nom de ressource ou un modèle de ressource plus général pour tous les index communs aux deux règles.

Par exemple, dans la politique suivante, deux règles s'appliquent à un indexindex/sales/logstash. Dans ce cas, la deuxième règle a priorité car elle index/sales/log* correspond le plus longtemps àindex/sales/logstash. Par conséquent, OpenSearch Serverless ne définit aucune période de rétention pour l'index.

{ "Rules":[ { "ResourceType":"index", "Resource":[ "index/sales/*", ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/sales/log*", ], "NoMinIndexRetention": true } ] }

Syntaxe d'une politique

Fournissez une ou plusieurs règles. Ces règles définissent les paramètres du cycle de vie des données pour vos index OpenSearch sans serveur.

Chaque règle contient les éléments suivants. Vous pouvez fournir MinIndexRetention ou NoMinIndexRetention dans chaque règle, mais pas les deux.

Element Description
Type de ressource Type de ressource auquel s'applique la règle. La seule option prise en charge pour les politiques de cycle de vie des données estindex.
Ressource Liste de noms et/ou de modèles de ressources. Les modèles se composent d'un préfixe et d'un caractère générique (*), qui permettent aux autorisations associées de s'appliquer à plusieurs ressources. Par exemple, index/<collection-name|pattern>/<index-name|pattern>.
MinIndexRetention Période minimale, en jours (d) ou heures (h), pour conserver le document dans l'index. La limite inférieure est 24h et la limite supérieure est3650d.
NoMinIndexRetention Sitrue, OpenSearch Serverless conserve les documents indéfiniment.

Voici quelques exemples :

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/*" ], "MinIndexRetention": "20d" }, { "ResourceType": "index", "Resource": [ "index/auto*/gear" ], "MinIndexRetention": "24h" }, { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/tires" ], "NoMinIndexRetention": true } ] }

Création de politiques relatives au cycle de vie des données (AWS CLI)

Pour créer une politique de cycle de vie des données à l'aide des opérations de l'API OpenSearch Serverless, utilisez la CreateLifecyclePolicycommande. Cette commande accepte à la fois les politiques intégrées et les fichiers .json. Les stratégies en ligne doivent être codées sous la forme d'une chaîne d'échappement JSON.

La demande suivante crée une politique de cycle de vie des données :

aws opensearchserverless create-lifecycle-policy \ --name my-policy \ --type retention \ --policy "{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index/autoparts-inventory/*\"],\"MinIndexRetention\": \"81d\"},{\"ResourceType\":\"index\",\"Resource\":[\"index/sales/orders*\"],\"NoMinIndexRetention\":true}]}"

Pour fournir la stratégie dans un fichier JSON, utilisez le format --policy file://my-policy.json.

Afficher les politiques de cycle de vie des données

Avant de créer une collection, vous souhaiterez peut-être prévisualiser les politiques de cycle de vie des données existantes dans votre compte pour voir laquelle possède un modèle de ressources correspondant au nom de votre collection. La ListLifecyclePoliciesdemande suivante répertorie toutes les politiques relatives au cycle de vie des données de votre compte :

aws opensearchserverless list-lifecycle-policies --type retention

La demande renvoie des informations sur toutes les politiques de cycle de vie des données configurées. Pour consulter les règles de modèle définies dans une politique spécifique, recherchez les informations de stratégie dans le contenu de l'lifecyclePolicySummariesélément de la réponse. Notez la name fin type de cette politique et utilisez ces propriétés dans une BatchGetLifecyclePolicydemande pour recevoir une réponse contenant les détails de politique suivants :

{ "lifecyclePolicySummaries": [ { "type": "retention", "name": "my-policy", "policyVersion": "MTY2MzY5MTY1MDA3Ml8x", "createdDate": 1663691650072, "lastModifiedDate": 1663691650072 } ] }

Pour limiter les résultats aux politiques contenant des collections ou des index spécifiques, vous pouvez inclure des filtres de ressources :

aws opensearchserverless list-lifecycle-policies --type retention --resources "index/autoparts-inventory/*"

Pour afficher des informations détaillées sur une politique spécifique, utilisez la BatchGetLifecyclePolicycommande.

Mise à jour des politiques de cycle de vie

Lorsque vous modifiez une politique de cycle de vie des données, toutes les collections associées sont affectées. Pour mettre à jour une politique de cycle de vie des données dans la console OpenSearch Serverless, développez les politiques de cycle de vie des données, sélectionnez la politique à modifier, puis choisissez Modifier. Effectuez les modifications souhaitées, puis choisissez Save (Enregistrer).

Pour mettre à jour une politique de cycle de vie des données à l'aide de l'API OpenSearch Serverless, utilisez la UpdateLifecyclePolicycommande. Vous devez inclure une version de stratégie dans la requête. Vous pouvez récupérer la version de stratégie à l'aide des commandes ListLifecyclePolicies ou BatchGetLifecyclePolicy. En incluant la version la plus récente de la stratégie, vous vous assurez de ne pas annuler par inadvertance une modification apportée par quelqu'un d'autre.

La demande suivante met à jour une politique de cycle de vie des données avec un nouveau document JSON de politique :

aws opensearchserverless update-lifecycle-policy \ --name my-policy \ --type retention \ --policy-version MTY2MzY5MTY1MDA3Ml8x \ --policy file://my-new-policy.json

Il peut s'écouler quelques minutes entre le moment où vous mettez à jour la politique et le moment où les nouvelles périodes de conservation sont appliquées.

Supprimer les politiques de cycle de vie des données

Lorsque vous supprimez une politique de cycle de vie des données, elle ne s'applique plus aux index correspondants. Pour supprimer une politique dans la console OpenSearch Serverless, sélectionnez-la, puis choisissez Supprimer.

Vous pouvez également utiliser la DeleteLifecyclePolicycommande :

aws opensearchserverless delete-lifecycle-policy --name my-policy --type retention