Aller au contenu

PD-6 — Plan d'implémentation


📚 Navigation User Story | Document | | | ---------- | -- | | 📋 [Spécification](PD-6-specification.md) | | | 🛠️ **Plan d'implémentation** | *(ce document)* | | ✅ [Critères d'acceptation](PD-6-acceptability.md) | | | 📝 [Retour d'expérience](PD-6-rex.md) | | [← Retour à storage](../PD-198-epic.md) · [↑ Index User Story](index.md)

Objectif

Configurer la Cross-Region Replication de Paris vers Frankfurt avec RTC.

Choix techniques retenus

  • AWS S3 CRR : réplication native, fiable
  • RTC (Replication Time Control) : SLA 15 minutes garanti
  • DEEP_ARCHIVE : coût minimal sur la replica
  • Module Terraform : sous-module frankfurt/ dans worm_glacier

Architecture ciblée

Paris (eu-west-3)                     Frankfurt (eu-central-1)
┌─────────────────────────┐           ┌─────────────────────────┐
│  documents-cold-dev     │──── CRR ──▶│  archives-frankfurt-dev │
│  (S3 Object Lock)       │   15 min   │  (DEEP_ARCHIVE)         │
│  COMPLIANCE mode        │    SLA     │  Object Lock replicated │
└─────────────────────────┘           └─────────────────────────┘

Découpage technique

Phase 1 : Bucket Frankfurt

  1. Création bucket avec Object Lock COMPLIANCE
  2. Configuration versioning (obligatoire pour CRR)
  3. Configuration encryption

Phase 2 : IAM Role CRR

  1. Role IAM pour S3 replication
  2. Policies source et destination
  3. Trust relationship

Phase 3 : Configuration CRR

resource "aws_s3_bucket_replication_configuration" "crr" {
  bucket = aws_s3_bucket.documents_cold.id
  role   = aws_iam_role.replication.arn

  rule {
    id     = "crr-to-frankfurt"
    status = "Enabled"

    destination {
      bucket        = aws_s3_bucket.archives_frankfurt.arn
      storage_class = "DEEP_ARCHIVE"

      replication_time {
        status = "Enabled"
        time {
          minutes = 15
        }
      }
    }

    delete_marker_replication {
      status = "Disabled"  # WORM compliance
    }
  }
}

Phase 4 : Monitoring

  • CloudWatch metrics CRR
  • Alertes SNS si réplication en retard

Points de vigilance

  • Delete marker replication DOIT être désactivée pour WORM
  • Bucket Frankfurt DOIT avoir Object Lock activé AVANT la première réplication
  • Logging désactivé sur Frankfurt (source a le logging)

Hors périmètre

  • Réplication bidirectionnelle
  • Failover automatique DNS