☁️ Storage Systems — Chapitre 18 : Principes du Cloud Storage
Très grosse page de synthèse sur le stockage cloud : block storage attaché aux VM, file storage NFS/SMB managé, object storage S3/Blob/GCS, archive froide, régions, zones, durabilité, disponibilité, réplication, sécurité, coûts cachés et FinOps. L’objectif est de comprendre les choix d’architecture, les pièges réels de production, les coûts invisibles et les patterns robustes multi-cloud.
Stockage bloc cloud
Disques attachés aux VM : EBS, Azure Managed Disks, GCE Persistent Disk, IOPS, throughput, snapshots, zones.
BlockVM disksIOPSStockage fichier cloud
NFS/SMB managé : EFS, Azure Files, Filestore, NetApp Files, FSx, performance, quotas et hybridation.
NFSSMBManaged fileStockage objet cloud
Buckets S3/Blob/GCS : objects, metadata, API, versioning, lifecycle, replication, events et data lake.
S3BlobGCSArchive cloud
Glacier, Archive, Coldline, Deep Archive : rétention longue, restore lent, minimum duration et coûts de récupération.
ArchiveColdlineGlacierRégions et zones
Availability zones, multi-region, replication, placement, sovereignty, latency, data residency et blast radius.
RegionsAZReplicationDurabilité vs disponibilité
Concepts fondamentaux : perte de données vs accessibilité service, SLA, replication, erasure coding et backups.
DurabilityAvailabilitySLACoûts cachés
Egress, API calls, retrieval fees, snapshots, replication, minimum storage duration, lifecycle transitions et logs.
EgressAPI callsFinOpsClasses de stockage
Hot, cool, infrequent access, archive, intelligent tiering, standard, regional, zonal : choisir par température.
HotCoolArchiveSnapshots cloud
Snapshots disques, incremental, crash/app consistency, cross-region copy, retention, coûts et restore VM.
SnapshotsIncrementalRestoreRéplication et DR
Cross-zone, cross-region, object replication, disk replication, RPO/RTO, failover, failback et tests PRA.
DRRPO/RTOFailoverSécurité cloud storage
IAM, bucket policies, encryption, KMS, private endpoints, object lock, immutability, audit logs et ransomware.
IAMKMSObject LockRéseau et accès privé
PrivateLink, VPC endpoints, service endpoints, firewall, NFS/SMB exposure, DNS privé, latency et throughput.
PrivateLinkVPC endpointDNSBackup cloud
Backup managé, immutability, vault lock, snapshots, database backups, cross-account copy et restore drills.
BackupVaultImmutabilityCloud storage Kubernetes
EBS/EFS CSI, Azure Disk/Files CSI, GCE PD/Filestore CSI, topology, snapshots, RWX et coûts.
CSIKubernetesPVCBases de données et storage cloud
Disques DB, logs, IOPS provisionnées, managed DB storage, PITR, replicas, snapshots et HA zone.
DBPITRIOPSData lake cloud
Object storage comme socle analytics : partitioning, Parquet, Iceberg, governance, catalog, lakehouse et IA.
Data lakeParquetIcebergHybrid cloud storage
VPN/Direct Connect/ExpressRoute, gateways, cache, backup cloud, tiering, file sync et sovereignty.
HybridGatewayCacheObservabilité et FinOps
Metrics, logs, access analytics, cost anomaly, lifecycle reports, storage lens, budgets et capacity forecast.
FinOpsMetricsBudgetsMatrice AWS/Azure/GCP/OVH/Scaleway
Comparer block/file/object/archive, zones, features, coûts, souveraineté et écosystèmes.
ProvidersMatrixSovereigntyAnti-patterns cloud storage
Buckets publics, snapshots éternels, egress ignoré, single-zone critique, lifecycle absent, clés partagées.
Anti-patternsRiskGovernanceDesign patterns
Patterns robustes : web assets, backup immuable, DB volumes, data lake, media pipeline, logs archive et DR.
PatternsArchitectureExamplesMigration vers cloud storage
Plan migration : inventaire, classification, transfert, cutover, sync delta, validation, rollback et coûts egress.
MigrationCutoverRollbackRunbooks incidents
Bucket inaccessible, disque plein, snapshot restore, egress spike, clé compromise, réplication bloquée et archive restore.
RunbookIncidentRestoreChecklist production cloud storage
Préprod : IAM, encryption, private access, lifecycle, backup, DR, monitoring, budget, restore drills et documentation.
Prod-readyAuditChecklistPrincipe
Le stockage bloc cloud fournit des volumes attachés à des machines virtuelles. Le système d'exploitation voit un disque, crée partitions, filesystem, LVM, base de données ou datastore. Exemples : AWS EBS, Azure Managed Disks, Google Persistent Disk.
Flux logique
| Cloud | Service bloc | Usages typiques | Attention |
|---|---|---|---|
| AWS | EBS | EC2, DB, boot disks, Kubernetes EBS CSI. | Zonal, IOPS/throughput selon type. |
| Azure | Managed Disks | VMs, SQL Server, AKS Azure Disk CSI. | Performance tiers, redundancy options. |
| GCP | Persistent Disk / Hyperdisk | Compute Engine, GKE, DB. | Zonal/regional selon type. |
| OVH/Scaleway | Block Storage selon offre | VMs cloud, volumes additionnels. | Features et snapshots à vérifier. |
Charge random DB/VM.
Flux séquentiel.
Ressenti applicatif.
Placement VM-volume.
- Séparer disques OS, data, logs pour bases critiques.
- Aligner type de volume avec workload : généraliste, provisioned IOPS, throughput optimisé.
- Activer snapshots réguliers mais gouvernés.
- Surveiller queue length, latency, burst credits si applicable.
- Prévoir restore cross-zone/cross-region pour DR.
Le stockage fichier cloud expose des partages NFS ou SMB managés. Il sert aux applications qui attendent un filesystem partagé : contenus web, home directories, lift-and-shift, médias, pipelines, partages Windows, Kubernetes RWX.
| Cloud | Services fichier | Protocoles | Usage |
|---|---|---|---|
| AWS | EFS, FSx for Windows, FSx for Lustre, FSx for NetApp ONTAP | NFS/SMB/Lustre | RWX, Windows shares, HPC, ONTAP. |
| Azure | Azure Files, Azure NetApp Files | SMB/NFS | Lift-and-shift, AKS RWX, enterprise NFS/SMB. |
| GCP | Filestore, NetApp Volumes | NFS | GKE RWX, apps Linux, enterprise file. |
- Débit souvent lié à la taille ou au tier provisionné.
- Les petits fichiers et metadata peuvent coûter plus cher en latence.
- SMB/NFS exigent réseau privé, DNS, firewall et identité.
- RWX Kubernetes est pratique mais pas toujours adapté aux bases transactionnelles.
| Besoin | Option fichier |
|---|---|
| Linux shared files | NFS managé. |
| Windows file server lift-and-shift | SMB managé / FSx Windows / Azure Files. |
| Kubernetes RWX | EFS, Azure Files, Filestore, CephFS selon environnement. |
| HPC scratch | Lustre ou filesystem spécialisé. |
Le stockage objet cloud stocke des objets dans des buckets/containers accessibles via API HTTP. Chaque objet possède une clé, des metadata, un contenu et parfois des versions. C'est le socle des data lakes, backups, archives, médias, logs, IA et applications cloud-native.
| Cloud | Service | Concept |
|---|---|---|
| AWS | S3 | Bucket, object, key, storage class. |
| Azure | Blob Storage | Storage account, container, blob, access tier. |
| GCP | Cloud Storage | Bucket, object, storage class. |
| OVH/Scaleway | Object Storage | Souvent S3-compatible selon offre. |
- Versioning pour conserver anciennes versions.
- Lifecycle pour transition/expiration.
- Replication cross-region ou cross-account.
- Object Lock / immutability selon service.
- Events vers queues/functions.
- Encryption avec clés provider ou KMS client.
s3://company-prod-lake/raw/events/year=2026/month=05/day=03/part-0001.parquet s3://company-backups/postgresql/prod/2026-05-03/base.tar s3://company-media/products/sku-12345/image-main.webp s3://company-logs/nginx/dt=2026-05-03/hour=10/access.json.gz
Les classes archive réduisent le coût de stockage au prix d'une récupération plus lente, de frais de retrieval, de durées minimales de stockage et de contraintes opérationnelles. Elles sont destinées aux données rarement consultées mais à conserver longtemps.
| Classe | Accès | Usage | Attention |
|---|---|---|---|
| Cool / IA | Rare mais rapide | Backups récents, documents peu consultés. | Frais d'accès possibles. |
| Coldline / Archive | Très rare | Archives, conformité, historique. | Retrieval plus coûteux/lent. |
| Deep Archive | Exceptionnel | Conservation longue durée. | Restore très lent, durée minimale. |
- Identifier objet/prefix/version.
- Lancer demande de restore archive.
- Attendre disponibilité temporaire.
- Copier vers classe hot si besoin d'exploitation.
- Vérifier checksum et application.
- Documenter délai réel.
- Minimum storage duration.
- Retrieval fees.
- Early deletion fees.
- Lifecycle transitions facturées selon provider.
- Inventaire et recherche plus difficiles si metadata pauvre.
| Concept | Description | Impact stockage |
|---|---|---|
| Region | Zone géographique cloud. | Latence, souveraineté, prix. |
| Availability Zone | Domaine de panne dans une région. | Volumes bloc souvent zonaux. |
| Multi-AZ | Service réparti sur plusieurs zones. | Meilleure disponibilité locale. |
| Multi-region | Copies dans plusieurs régions. | DR, conformité, coût. |
Le placement détermine la latence, le blast radius, le coût de transfert et la conformité. Un disque bloc zonal, un filesystem régional et un bucket multi-region n'ont pas les mêmes propriétés.
- Cross-zone : protège contre panne zone.
- Cross-region : protège contre panne région ou contrainte DR.
- Cross-account/project : protège contre compromission du compte principal.
- Async replication : RPO non nul.
- Sync replication : latence et coût plus élevés.
La région impacte résidence des données, juridiction, latence utilisateur, coûts egress, services disponibles et exigences contractuelles.
| Concept | Question | Exemple |
|---|---|---|
| Durabilité | Vais-je perdre les données ? | Copies, EC, checksum, repair. |
| Disponibilité | Puis-je accéder au service maintenant ? | SLA, endpoint, réseau, AZ. |
| RPO | Combien de données puis-je perdre ? | 5 minutes, 1 heure, 24h. |
| RTO | Combien de temps pour restaurer ? | 15 min, 4h, 2 jours. |
Un disque zonal peut être très disponible dans sa zone mais indisponible si la zone tombe.
- Replication multi-AZ.
- Erasure coding distribué.
- Checksums et scrubbing côté provider.
- Snapshots et backups.
- Object versioning et Object Lock.
- Cross-region replication.
| Classe | Usage | Avantage | Attention |
|---|---|---|---|
| Hot / Standard | Accès fréquent | Latence basse, accès direct. | Stockage plus cher. |
| Infrequent / Cool | Accès rare | Stockage moins cher. | Retrieval/API plus chers. |
| Archive | Conservation longue | Coût stockage bas. | Restore lent et payant. |
| Intelligent tiering | Accès imprévisible | Automatisation. | Monitoring/overhead éventuel. |
- Classer données par température d'accès.
- Définir RTO restore.
- Évaluer frais retrieval/API.
- Créer lifecycle par préfixe.
- Mesurer après 30/60/90 jours.
prefix: logs/nginx/ 0-30 days: hot 31-180 days: cool 181-365 days: archive after 365 days: delete unless legal hold
Les snapshots cloud capturent l'état d'un volume bloc ou d'un filesystem. Ils sont souvent incrémentaux et stockés dans un service durable. Ils servent à restore, clone, migration région et protection basique.
| Type | Sens | Usage |
|---|---|---|
| Crash-consistent | Comme coupure courant. | OS et apps robustes. |
| Application-consistent | App flush/quiesce. | DB, AD, workloads critiques. |
| Multi-volume consistent | Plusieurs disques alignés. | DB data/log séparés. |
- Snapshots horaires/courts pour rollback proche.
- Snapshots journaliers/semaine/mois selon RPO.
- Expiration automatique.
- Copie cross-region/cross-account pour DR.
| Pattern | RPO | RTO | Coût |
|---|---|---|---|
| Backup only | Heures/jours | Long | Bas. |
| Snapshot cross-region | Minutes/heures | Moyen | Moyen. |
| Async replication | Secondes/minutes | Moyen/faible | Élevé. |
| Active-active | Très faible | Très faible | Très élevé + complexité. |
- Réplication par bucket/prefix.
- Versioning souvent nécessaire.
- Lag à monitorer.
- Attention aux suppressions répliquées.
- Tester failover applicatif.
- Simuler indisponibilité région/source.
- Restaurer données dans région DR.
- Créer compute cible.
- Basculer DNS/traffic.
- Valider application.
- Mesurer RTO/RPO.
- IAM moindre privilège.
- Bucket policies explicites.
- Block public access par défaut.
- Encryption at rest avec KMS si besoin.
- TLS obligatoire.
- Object Lock / immutability pour backups.
- Audit logs centralisés.
| Principe | Application |
|---|---|
| Least privilege | Actions limitées par bucket/prefix. |
| Separation of duties | Admin storage, backup, application séparés. |
| Short-lived credentials | Roles, workload identity, STS. |
| No shared keys | Éviter clés longues dans code. |
La gestion de clés impacte disponibilité : désactiver ou perdre une clé KMS peut rendre les données illisibles. Les politiques KMS doivent être surveillées comme des éléments critiques.
L'accès privé évite de faire transiter les flux storage par Internet public et réduit la surface d'attaque. Il est essentiel pour bases, backups, buckets internes et services fichier.
| Cloud | Mécanisme | Usage |
|---|---|---|
| AWS | VPC Gateway/Interface Endpoints, PrivateLink | S3, EBS APIs, services privés. |
| Azure | Private Endpoint, Service Endpoint | Storage accounts, Files, Blob. |
| GCP | Private Service Connect, Private Google Access | APIs privées. |
- Restreindre par VPC/subnet/security groups.
- DNS privé stable.
- Pas d'exposition SMB/NFS publique.
- Latency et throughput entre zones à mesurer.
# Examples nslookup storage.internal curl -I https://bucket-endpoint traceroute storage-endpoint iperf3 for file services where possible check firewall/security groups/routes/DNS
Le cloud simplifie snapshots et backups managés, mais la stratégie reste la même : données critiques, RPO/RTO, immutabilité, séparation des droits, copies hors compte/région et tests restore.
| Snapshots managed | Volumes/VMs avec rétention. |
| Backup vault | Centralisation et policies. |
| Vault lock | Immutabilité / WORM selon service. |
| Cross-account copy | Protection compte compromis. |
| Database PITR | Restore point-in-time. |
- Choisir workload au hasard.
- Restaurer dans réseau isolé.
- Valider boot, données, application.
- Mesurer RTO/RPO réel.
- Corriger runbook et droits.
| Besoin | AWS | Azure | GCP |
|---|---|---|---|
| Bloc RWO | EBS CSI | Azure Disk CSI | PD CSI |
| Fichier RWX | EFS CSI | Azure Files CSI | Filestore CSI |
| Snapshots | CSI snapshots | CSI snapshots | CSI snapshots |
Les disques bloc cloud sont souvent zonaux. Utiliser WaitForFirstConsumer évite de créer un volume dans une zone incompatible avec le pod.
volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true reclaimPolicy: Delete
- PVC non supprimés après suppression d'app.
- Snapshots oubliés.
- EFS/Azure Files/Filestore provisionnés trop haut.
- Logs et backups dans buckets sans lifecycle.
Les bases cloud sur VM exigent un design stockage classique : data, logs, temp, backups, snapshots cohérents, IOPS garanties et monitoring latence.
| Fonction | Rôle |
|---|---|
| PITR | Restore point-in-time via logs. |
| Read replica | Lecture et parfois DR. |
| Multi-AZ | HA locale. |
| Storage autoscaling | Évite volume full mais peut augmenter coût. |
- Surveiller latency p95/p99, queue depth, throughput.
- Séparer logs transactionnels si applicable.
- Tester restore PITR.
- Protéger backups par immutabilité ou compte séparé.
- Valider limites IOPS du type de stockage.
- Parquet/ORC pour analytics colonnaire.
- Iceberg/Delta/Hudi pour tables lakehouse.
- Partitionnement par date/tenant/domaine.
- Compression adaptée.
- Éviter millions de petits fichiers.
| Catalog | Schémas, tables, partitions. |
| Lineage | Origine et transformations. |
| Access control | IAM, policies, row/column security selon moteur. |
| Lifecycle | Raw conservé, curated optimisé. |
| Pattern | Description |
|---|---|
| Backup to cloud | Copies immuables hors site. |
| File sync | Cache local + cloud backend. |
| Object gateway | S3 on-prem vers cloud. |
| Tiering | Données froides déplacées vers cloud. |
| DR cloud | Compute dormant + storage répliqué. |
- VPN pour petits flux.
- Direct Connect/ExpressRoute/Interconnect pour flux importants.
- Mesurer latence et bande passante.
- Prévoir coûts egress lors du retour on-prem.
| Métrique | Usage |
|---|---|
| Capacity by bucket/volume | Forecast et budget. |
| Requests GET/PUT/LIST | Coût et performance. |
| Egress | Coût surprise. |
| Retrieval | Archives/cold classes. |
| Snapshot growth | Fuite de coût. |
| Replication lag | DR/RPO. |
- Budget mensuel > seuil.
- Egress spike.
- Bucket public détecté.
- Snapshots sans tag/owner.
- Archive retrieval massif.
- Lifecycle rule disabled.
Tagging obligatoire : application, owner, environment, data_classification, retention, cost_center. Sans tags, FinOps devient de l'archéologie.
| Besoin | AWS | Azure | GCP | Europe/alternatifs |
|---|---|---|---|---|
| Bloc VM | EBS | Managed Disks | PD/Hyperdisk | Block Storage selon offre |
| Fichier | EFS/FSx | Azure Files/ANF | Filestore/NetApp | NFS/SMB selon provider |
| Objet | S3 | Blob | Cloud Storage | Object Storage S3-compatible |
| Archive | Glacier classes | Archive tier | Archive/Coldline | Cold archive selon offre |
- Services disponibles dans la région.
- Souveraineté et conformité.
- Coût egress et API.
- Écosystème backup/analytics.
- Support Terraform/Kubernetes.
- Contrats et support.
| Anti-pattern | Risque | Correction |
|---|---|---|
| Bucket public par erreur | Fuite données. | Block public access, audit. |
| No lifecycle | Coût infini. | Lifecycle par prefix. |
| Snapshots éternels | Explosion coût. | Retention policy. |
| Single-zone pour critique | Panne zone = outage. | Multi-AZ/DR. |
| Clés partagées | Pas d'audit, compromission. | Roles/STS. |
| Egress ignoré | Facture surprise. | Budget et architecture CDN/cache. |
- Aucun tag owner.
- Personne ne sait restaurer.
- Pas de budget par environnement.
- Logs d'accès désactivés.
- Rétention décidée par défaut technique, pas métier.
| Pattern | Stockage | Points clés |
|---|---|---|
| Static web/media | Object + CDN | Cache, versioning, invalidation. |
| Backup immutable | Object Lock / vault | Compte séparé, restore drill. |
| DB on VM | Block provisioned IOPS | Data/logs, snapshots cohérents. |
| K8s RWX | Managed file | Latency, permissions, backup. |
| Data lake | Object | Parquet, catalog, lifecycle. |
| Archive compliance | Archive class | Retention, legal hold, restore delay. |
- Inventorier données, volumes, propriétaires, criticité.
- Classifier : hot, warm, cold, archive.
- Choisir cible : block/file/object.
- Tester transfert initial.
- Synchroniser delta.
- Cutover applicatif.
- Valider checksums, performance et droits.
- Garder rollback temporaire.
| Object | rclone, aws s3 sync, azcopy, gsutil/gcloud storage, provider tools. |
| File | rsync, robocopy, DataSync/File Sync, appliance gateway. |
| Block/VM | Replication tools, snapshots, migration services, backup/restore. |
- Egress source ou destination.
- Permissions non migrées.
- Symbolic links/ACL incompatibles.
- Temps de sync delta sous-estimé.
- Checksum non vérifié.
- Tester DNS/endpoint/région.
- Vérifier IAM/policy récente.
- Vérifier KMS key enabled.
- Vérifier block public/private endpoint.
- Consulter service health provider.
- Analyser logs d'accès.
- Confirmer FS full dans OS.
- Étendre volume cloud si possible.
- Rescan OS.
- Étendre partition/LVM/filesystem.
- Ajouter alerte capacité.
- Identifier bucket/service source.
- Analyser access logs.
- Vérifier CDN/cache miss.
- Vérifier exfiltration possible.
- Limiter policy si suspicion.
- Créer budget alert spécifique.
- Désactiver clé.
- Révoquer sessions/tokens.
- Auditer actions récentes.
- Restaurer objets supprimés si versioning.
- Rotation secrets.
- Post-mortem IAM.
| Contrôle | OK ? | Note |
|---|---|---|
| Type storage choisi par workload | ☐ | Block/file/object/archive. |
| Région/zone documentée | ☐ | Souveraineté, latency, DR. |
| IAM moindre privilège | ☐ | Roles, policies, no shared keys. |
| Encryption/KMS validé | ☐ | Clés, rotation, accès. |
| Lifecycle défini | ☐ | Hot/cool/archive/delete. |
| Budget et tags | ☐ | FinOps obligatoire. |
- Backup externe ou cross-account.
- Snapshots avec rétention.
- Object Lock/vault lock si critique.
- Replication testée.
- Restore drill réalisé.
- Alertes capacity, egress, public access, policy change.
- Runbooks incidents.
- Documentation owner et data classification.
- Table RPO/RTO par application.
- Revue mensuelle coûts et lifecycle.
