Pourquoi la règle du cycle de vie de mon compartiment Amazon S3 ne fonctionne-t-elle pas alors que je l’ai appliquée il y a plus d’un jour ?

Lecture de 5 minute(s)
0

J’ai défini une règle de configuration du cycle de vie sur mon compartiment Amazon Simple Storage Service (Amazon S3) pour transférer des objets vers une autre classe de stockage ou pour faire expirer des objets. Toutefois, les objets n’ont pas changé conformément à la règle.

Résolution

Cela se produit lorsqu’il y a un délai entre le moment où la règle du cycle de vie est respectée et le moment où l’action associée à la règle est terminée. Les modifications de facturation sont appliquées lorsque la règle du cycle de vie est respectée, même si l’action n’est pas terminée.

Exemple :

  • Si vous avez défini une règle de cycle de vie pour l’expiration des objets, le stockage ne vous sera pas facturé après la date d’expiration. Cela s’applique même si l’objet n’est pas immédiatement expiré.
  • Une règle de cycle de vie permettant de transférer des objets vers la classe de stockage GLACIER facture les tarifs de stockage Amazon S3 Glacier lorsque le temps de transition des objets est écoulé. Cela se produit même si l’objet n’est pas immédiatement transféré vers la classe de stockage GLACIER.
    **Remarque :**Si vous définissez une transition du cycle de vie vers la classe de stockage INTELLIGENT_TIERING, les modifications de facturation ne se produisent pas tant que l’objet n’est pas passé à la classe de stockage INTELLIGENT \ _TIERING. Il s’agit là d’une exception.

Le cycle de vie de S3 ne s’exécute qu’une fois par jour. De plus, Amazon S3 arrondit la date de transition ou d’expiration d’un objet à minuit UTC le jour suivant. Par exemple, vous créez un objet le 1er janvier 2020 à 10 h 30 UTC avec une règle de cycle de vie pour effectuer la transition de l’objet au bout de 3 jours. Pour cet objet, la date de transition est le 05/01/2020 à 0 h UTC. Avant de vérifier si une règle de cycle de vie est respectée, assurez-vous que suffisamment de temps s’est écoulé.

Si suffisamment de temps s’est écoulé et que votre règle de cycle de vie n’est pas respectée, vérifiez que vous avez correctement défini le filtre de préfixe pour les objets sur la règle de cycle de vie.

Important :

  • Si vous ne spécifiez pas de filtre de préfixe dans la règle de cycle de vie, la règle s’applique à tous les objets du bucket.
  • Si vous spécifiez un filtre de préfixe sous la forme images/, la règle du cycle de vie s’applique à tous les objets sous le préfixe images/.
    Remarque : Assurez-vous de spécifier le / caractère à la fin du filtre de préfixe. Si vous spécifiez le caractère**/** au début du filtre de préfixe, la règle du cycle de vie n’est pas correctement évaluée.

Vous pouvez utiliser l’API HeadObject ou la console Amazon S3 pour vérifier la date d’expiration prévue d’un objet de la version actuelle.

Remarque : Si vous recevez des erreurs lors de l’exécution des commandes de l’interface de la ligne de commande AWS (AWS CLI), assurez-vous que vous utilisez la version la plus récente de l’interface de la ligne de commande AWS.

Exécutez la commande AWS CLI suivante pour connaître la date d’expiration de l’objet :

$ aws s3api head-object --bucket bucketname --key file.txt

La sortie ressemble au message suivant :

 {  
 "AcceptRanges": "bytes",  
 "Expiration": "expiry-date=\"Wed, 15 Mar 2023 00:00:00 GMT\", rule-id=\"MyExpirationRule\"",  
 "LastModified": "2023-02-22T17:20:34+00:00",  
 "ContentLength": 6,  
 "ETag": "\"edae42exa0d2b93b123346740107dacf\"",  
 "VersionId": "SoshCRUrlabc1v4ZzYEA123PvWcaeF6F",  
 "ContentType": "text/plain",  
 "ServerSideEncryption": “AES256”,  
 "Metadata": {}  
}

L’en-tête de réponse d’Expiration fournit la expiry-date (date d’expiration) et la rule-id (identifiant de la règle). Le champ de expiry-date (date d’expiration) indique la date à laquelle Amazon S3 met l’objet en file d’attente pour le supprimer et le supprime de manière asynchrone. Le rule-id field (champ rule-id) indique la règle de cycle de vie appliquée à l’objet.

Pour utiliser la console Amazon S3 afin de vérifier la date d’expiration d’un objet, procédez comme suit :

  1. Ouvrez la console Amazon S3.
  2. Dans la liste des Buckets (Compartiments), choisissez le nom de votre compartiment.
  3. Choisissez le nom de l’objet que vous souhaitez vérifier.
  4. Choisissez l’onglet Properties (Propriétés).
  5. Dans la section Object Management Overview (Vue d’ensemble de la gestion des objets), sous Management Configurations (Configurations de gestion), passez en revue les champs Expiration rule (Règle d’expiration) et Expiration date (Date d’expiration).

Le champ Expiration date (Date d’expiration) indique la date à laquelle Amazon S3 met l’objet en file d’attente pour suppression et le supprime de manière asynchrone. Le champ Expiration rule (Règle d’expiration) indique la règle de cycle de vie qui s’applique à l’objet.

Remarque : Seuls les objets de la version actuelle renvoient l’en-tête de réponse Expiration pour les requêtes HEAD ou GET. Les versions précédentes et les marqueurs de suppression ne renvoient pas cet en-tête de réponse. De plus, vous ne recevez pas d’en-têtes de réponse pour les objets éligibles aux transitions.

Vous pouvez utiliser les tableaux de bord S3 Storage Lens pour suivre la progression des règles de cycle de vie actives et des mises à jour apportées par les règles de cycle de vie.

Informations connexes

Définition de la configuration du cycle de vie d’un compartiment

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an