Comment définir une politique de rétention S3 avec Terraform ?

cschneider 14/05/2026
RÉSOLU
cschneider
Auteur Actif
Avatar de cschneider
cschneider
Auteur Actif

Salut à tous, j'essaie de configurer un bucket S3 pour qu'il supprime automatiquement les objets après 30 jours via Terraform, mais je galère avec la structure du bloc lifecycle_rule. Quelqu'un aurait un exemple propre ?

14/05/2026 à 22:58

4 commentaires

bneveu
Membre
Avatar de bneveu
bneveu
Membre

C'est un classique. Il faut bien imbriquer le bloc expiration dans lifecycle_rule. Voici ce qui fonctionne pour moi :

resource "aws_s3_bucket_lifecycle_configuration" "example" {
  bucket = aws_s3_bucket.my_bucket.id
  rule {
    id = "log-retention"
    status = "Enabled"
    expiration {
      days = 30
    }
  }
}
15/05/2026 à 14:14
cschneider
Auteur Actif
Avatar de cschneider
cschneider
Auteur Actif

Ah super, je n'utilisais pas la ressource aws_s3_bucket_lifecycle_configuration, je restais sur l'ancien bloc intégré au bucket. C'est pour ça que ça ne passait pas.

16/05/2026 à 10:54
bneveu
Membre
Avatar de bneveu
bneveu
Membre

Exact, AWS a séparé cette config dans une ressource dédiée depuis la v4 du provider. C'est beaucoup plus modulaire comme ça.

17/05/2026 à 06:42
cschneider
Auteur Actif
Avatar de cschneider
cschneider
Auteur Actif

J'ai testé et terraform plan est clean maintenant. Merci pour l'aide, ça m'évite de stocker des logs inutiles pendant des années !

18/05/2026 à 02:15

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire