PD-5 — Rétrospective¶
1. Contexte¶
| Champ | Valeur |
|---|---|
| Story ID | PD-5 |
| Titre | Configuration Glacier Deep Archive Paris |
| Domaine | storage |
| Projet | infra |
| Date complétion | 2025-01-XX |
| Verdict | ACCEPTÉ AVEC RÉSERVES |
2. Métriques¶
| Métrique | Valeur |
|---|---|
| Écarts majeurs | 1 (Vault Lock absent) |
| Écarts mineurs | 4 |
| Points fluides | 12 |
| Points difficiles | 5 |
3. Learnings clés¶
-
Object Lock et Vault Lock sont deux mécanismes distincts : Object Lock COMPLIANCE protège au niveau de l'objet (rétention individuelle), Vault Lock verrouille la policy du vault de manière irréversible. La spec demandait les deux.
-
Vault Lock est irréversible après completion :
complete_lock = truerend la policy permanente. Tests exhaustifs obligatoires avant activation production. -
Les défauts de variables doivent correspondre aux tests d'acceptation : Ambiguïté spec (J+1 vs J+90) doit être clarifiée avant implémentation.
-
La preuve d'état est un livrable : "Preuve Vault Lock In Effect" doit être capturée (output Terraform, screenshot, API response) pour audit conformité NF Z42-013.
-
Glacier Deep Archive a des contraintes opérationnelles fortes : Délai restoration 12-48h rend tests d'accès longs et coûteux.
4. Patterns applicables¶
Nouveau pattern : Distinction Object Lock vs Vault Lock¶
# Object Lock = protection par objet (S3)
resource "aws_s3_bucket_object_lock_configuration" "this" {
bucket = aws_s3_bucket.this.id
rule {
default_retention {
mode = "COMPLIANCE"
years = var.retention_years
}
}
}
# Vault Lock = policy immuable (Glacier)
resource "aws_glacier_vault_lock" "this" {
complete_lock = true # IRRÉVERSIBLE
policy = data.aws_iam_policy_document.vault_policy.json
vault_name = aws_glacier_vault.this.name
}
Pattern confirmé : Lifecycle Deep Archive¶
lifecycle_rule {
id = "archive-to-glacier"
status = "Enabled"
transition {
days = var.lifecycle_transition_days
storage_class = "DEEP_ARCHIVE"
}
noncurrent_version_transition {
noncurrent_days = 30
storage_class = "DEEP_ARCHIVE"
}
}
5. Signal CLAUDE.md¶
Priorité haute : Documenter distinction Object Lock vs Vault Lock.
### AWS S3/Glacier — Object Lock vs Vault Lock (2026-02-XX)
**Deux mécanismes WORM distincts** :
| Mécanisme | Scope | Service | Réversibilité |
|-----------|-------|---------|---------------|
| Object Lock | Par objet | S3 | COMPLIANCE irréversible |
| Vault Lock | Policy vault | Glacier | Irréversible après complete |
**NF Z42-013 exige les deux** :
1. Object Lock COMPLIANCE pour immutabilité des objets
2. Vault Lock pour policy vault permanente
**Preuve obligatoire** : Capturer l'état "In Effect" pour audit.
6. Conclusion¶
PD-5 a livré l'archivage Glacier Deep Archive avec Object Lock COMPLIANCE, lifecycle transitions et monitoring CloudWatch. L'écart majeur (Vault Lock absent) démontre l'importance de clarifier les deux mécanismes WORM AWS dès la spec. Le pattern distinction Object Lock/Vault Lock est critique pour conformité NF Z42-013 et certification ISO 14641.
Rétrospective générée 2026-02-19 (Étape 10 batch storage)