🟧 Storage Systems — Chapitre 19 : AWS Storage
Très gros chapitre dédié au stockage AWS : Amazon EBS pour le bloc, Amazon S3 pour l’objet et les archives, Amazon EFS pour le NFS managé, Amazon FSx pour les filesystems spécialisés, AWS Backup pour la protection centralisée, Storage Gateway pour l’hybride, puis les architectures data lake, backup, HPC, AI, EKS, bases de données, sécurité, FinOps, observabilité, anti-patterns, runbooks et checklist production.
Amazon EBS
gp3, io2, st1, sc1, snapshots : stockage bloc attaché EC2, performance provisionnée, zonal, DB et boot volumes.
EBSgp3/io2SnapshotsAmazon S3
Standard, Intelligent-Tiering, IA, Glacier, Deep Archive : buckets, classes, lifecycle, Object Lock, events et data lake.
S3GlacierLifecycleAmazon EFS
NFS managé élastique pour Linux, multi-AZ, EKS RWX, access points, throughput modes et lifecycle.
EFSNFSRWXAmazon FSx
Windows File Server, Lustre, NetApp ONTAP, OpenZFS : filesystems managés pour Windows, HPC, enterprise et ZFS.
FSxONTAPLustreAWS Backup
Centralisation backup : plans, vaults, Vault Lock, cross-account/cross-region, restore testing et conformité.
BackupVault LockDRStorage Gateway
Hybrid cloud : File Gateway, Volume Gateway, Tape Gateway, cache local, cloud-backed storage et migration.
GatewayHybridCacheCas d’usage
Web apps, data lake, backup, HPC, AI, VMware migration, Kubernetes, databases, media, logs et archives.
Use casesAIHPCDesign EBS production
Choisir type EBS, IOPS, throughput, encryption, snapshots, multi-volume consistency, Fast Snapshot Restore et monitoring.
DesignIOPSFSRSécurité S3
Block Public Access, bucket policies, IAM Access Points, KMS, Object Lock, versioning, Macie, CloudTrail data events.
IAMKMSObject LockFinOps S3
Egress, requests, lifecycle, small objects, multipart incomplete, Storage Lens, Inventory, Intelligent-Tiering et tagging.
FinOpsEgressStorage LensEFS design
Performance mode, throughput mode, mount targets, security groups, access points, lifecycle IA et EKS patterns.
Mount targetsPerformanceEKSFSx en profondeur
Quand choisir FSx Windows, Lustre, ONTAP ou OpenZFS : protocoles, performance, snapshots, replication et migration.
WindowsLustreOpenZFSArchive AWS
S3 Glacier Instant/Flexible/Deep Archive, restore tiers, Vault Lock legacy, lifecycle, compliance et retrieval costs.
ArchiveRetrievalComplianceDR et réplication AWS
EBS snapshots cross-region, S3 CRR/SRR, EFS replication, FSx backups, AWS Backup copy et Route 53 failover.
DRCRRRTO/RPOAWS Storage pour EKS
EBS CSI, EFS CSI, FSx CSI, S3 CSI/mountpoint patterns, topology, snapshots, RWX et operators DB.
EKSCSIPVCBases de données sur AWS storage
EC2 DB avec EBS io2/gp3, RDS/Aurora storage, logs, PITR, snapshots, Multi-AZ et performance insights.
DBRDSAuroraHPC / AI / Analytics
FSx for Lustre, S3 data lake, EFA, SageMaker, EMR, Athena, Redshift Spectrum et pipeline ML.
HPCAIAnalyticsMigration & hybridation
DataSync, Snow Family, Transfer Family, Storage Gateway, Direct Connect, migration NAS/SAN/S3 et cutover.
DataSyncSnowMigrationAccès privé & réseau
S3 Gateway Endpoint, Interface Endpoints, PrivateLink, EFS mount targets, FSx subnets, security groups et DNS.
VPC EndpointPrivateLinkDNSObservabilité AWS Storage
CloudWatch, CloudTrail, S3 Storage Lens, EBS metrics, EFS metrics, FSx metrics, AWS Config et Cost Explorer.
CloudWatchCloudTrailConfigModèle de coûts AWS Storage
EBS GB/IOPS/throughput/snapshots, S3 storage/requests/egress/retrieval, EFS throughput, FSx capacity et backup.
CostPricingBudgetsAnti-patterns AWS Storage
Buckets publics, EBS mal dimensionné, snapshots éternels, EFS pour DB, S3 sans lifecycle, KMS key cassée.
Anti-patternsRiskGovernanceRunbooks incidents
EBS full/latency, S3 access denied, bucket public, EFS mount failed, FSx degraded, backup failed, restore urgent.
RunbookIncidentRestoreChecklist production AWS Storage
Préprod : IAM, KMS, VPC endpoints, backups, lifecycle, monitoring, budget, DR, tagging et tests restore.
Prod-readyAuditChecklistDéfinition
Amazon Elastic Block Store fournit des volumes bloc persistants attachés aux instances EC2. L’OS les voit comme des disques : on peut y créer partitions, filesystems, LVM, bases de données, logs, boot volumes ou datastores.
Flux logique
| Type | Famille | Usage | Attention |
|---|---|---|---|
| gp3 | General Purpose SSD | Choix par défaut moderne, VM, apps, DB modérées. | IOPS/throughput configurables séparément. |
| io2 | Provisioned IOPS SSD | DB critiques, faible latence, forte I/O. | Coût plus élevé, design DB requis. |
| st1 | Throughput Optimized HDD | Débit séquentiel, logs, big data. | Pas adapté aux petites I/O aléatoires. |
| sc1 | Cold HDD | Données froides, coût bas. | Performance faible, accès rare. |
Les snapshots EBS sont incrémentaux et servent à backup, clone, migration cross-region, AMI et restauration après incident. Ils doivent être gouvernés par tags, lifecycle et tests restore.
- Snapshot crash-consistent si volume pris seul sans quiesce.
- Multi-volume snapshots pour cohérence entre data/logs.
- Copie cross-region/cross-account pour DR.
- Fast Snapshot Restore possible pour réduire latence de premier accès selon besoin.
aws ec2 describe-volumes --filters Name=tag:App,Values=prod aws ec2 create-snapshot --volume-id vol-123 --description "before-maintenance" aws ec2 describe-snapshots --owner-ids self aws ec2 modify-volume --volume-id vol-123 --volume-type gp3 --iops 12000 --throughput 500 lsblk sudo growpart /dev/nvme0n1 1 sudo xfs_growfs /
Amazon S3 est le service objet AWS : buckets, objets, clés, metadata, classes de stockage, versioning, lifecycle, replication, event notifications, Object Lock et intégration data lake. Il est conçu pour stocker des objets via API, pas pour remplacer un disque POSIX.
| Classe | Usage | Attention |
|---|---|---|
| S3 Standard | Accès fréquent. | Coût stockage plus élevé. |
| S3 Intelligent-Tiering | Accès imprévisible. | Monitoring/tiering automatique selon règles. |
| S3 Standard-IA / One Zone-IA | Accès rare. | Frais retrieval, One Zone = moindre résilience zone. |
| S3 Glacier Instant/Flexible Retrieval | Archive avec besoins restore variables. | Retrieval fees et délais selon tier. |
| S3 Glacier Deep Archive | Archivage long terme très froid. | RTO long, minimum duration. |
Pattern lifecycle: - logs/raw/*: Standard 30d → Standard-IA 90d → Glacier 180d → Deep Archive 365d - tmp/*: expire after 14d - multipart incomplete uploads: abort after 7d - non-current versions: expire after 180d
- Data lake : S3 + Glue Catalog + Athena/EMR/Redshift Spectrum.
- Static assets : S3 + CloudFront.
- Backups immuables : S3 Versioning + Object Lock.
- Event-driven : S3 events vers Lambda/SQS/EventBridge.
- Cross-region replication pour DR.
Amazon Elastic File System expose un filesystem NFS managé, élastique, utilisable par plusieurs instances EC2 et pods EKS. C’est un service RWX naturel pour Linux, mais pas un remplacement universel d’EBS ou S3.
| Élément | Rôle |
|---|---|
| File system | Namespace NFS global. |
| Mount target | Endpoint réseau dans un subnet/AZ. |
| Access point | Entrée applicative avec path/UID/GID. |
| Lifecycle | Déplacement vers IA selon accès. |
| Throughput mode | Élasticité ou débit provisionné selon workload. |
- Uploads partagés entre pods.
- CMS Linux multi-instance.
- Home directories techniques.
- Partage de fichiers applicatifs.
- Workloads EKS nécessitant RWX.
# Concepts EFS CSI StorageClass: efs-sc Access mode: ReadWriteMany Mount via access point Security groups allow NFS 2049 from worker nodes Use fsGroup / access point UID/GID to solve permissions
Amazon FSx fournit des systèmes de fichiers managés spécialisés. AWS propose notamment FSx for Windows File Server, FSx for Lustre, FSx for NetApp ONTAP et FSx for OpenZFS. Le choix dépend du protocole, du workload, de l’écosystème et du besoin de fonctionnalités enterprise.
| FSx | Protocoles / cible | Cas d’usage | Forces |
|---|---|---|---|
| Windows File Server | SMB, Active Directory | Shares Windows, lift-and-shift. | ACL Windows, intégration AD. |
| Lustre | Filesystem HPC | HPC, ML, analytics, scratch rapide. | Très haut débit, intégration S3. |
| NetApp ONTAP | NFS, SMB, iSCSI | Enterprise file, migration NetApp. | Snapshots, SnapMirror, multi-protocol. |
| OpenZFS | NFS | Workloads ZFS, snapshots/clones. | ZFS semantics, clones rapides. |
- Windows shares + AD : FSx Windows.
- HPC/IA avec throughput massif : FSx Lustre.
- NetApp existant ou multi-protocol enterprise : FSx ONTAP.
- ZFS workloads, clones, NFS : FSx OpenZFS.
AWS Backup centralise et automatise la protection des données sur plusieurs services AWS et workloads hybrides. Il fournit plans, règles de rétention, vaults, copies cross-region/cross-account, restore testing et mécanismes de conformité.
| Concept | Rôle |
|---|---|
| Backup plan | Schedule, lifecycle, retention. |
| Backup vault | Conteneur de recovery points. |
| Vault Lock | Protection WORM/compliance selon mode. |
| Cross-account copy | Isolation contre compte compromis. |
| Restore testing | Validation automatisée de restaurabilité. |
- Plans par criticité : gold/silver/bronze.
- Rétention courte + longue selon conformité.
- Copies cross-region pour DR.
- Copies cross-account pour ransomware/admin compromis.
- Tags pour inclure automatiquement les ressources.
Gold: every 1h, retain 7d, daily 35d, monthly 1y, copy to DR account Silver: daily, retain 35d Bronze: weekly, retain 30d Critical: Vault Lock + restore testing quarterly
AWS Storage Gateway connecte des environnements on-premises au stockage AWS via des appliances virtuelles ou EC2. Il sert aux migrations, caches locaux, sauvegardes vers cloud, intégrations NFS/SMB vers S3, volumes cloud-backed et remplacement progressif de bande.
| Gateway | Interface | Backend | Usage |
|---|---|---|---|
| S3 File Gateway | NFS/SMB | S3 | Fichiers on-prem vers objets. |
| FSx File Gateway | SMB | FSx Windows | Accès cache vers shares Windows AWS. |
| Volume Gateway | iSCSI | EBS snapshots/cloud-backed volumes | Applications bloc hybrides. |
| Tape Gateway | VTL | S3/Glacier | Remplacement bande backup. |
- Dimensionner cache local.
- Prévoir bande passante WAN.
- Définir comportement en perte lien.
- Chiffrer et contrôler IAM.
- Surveiller upload buffer, cache hit, queue cloud.
| Usage | Service AWS | Pattern |
|---|---|---|
| Web assets | S3 + CloudFront | Static content, images, JS/CSS. |
| VM disks | EBS | Boot, app, DB volumes. |
| Linux shared files | EFS | RWX, EKS, CMS. |
| Windows shares | FSx Windows | SMB + AD. |
| HPC/AI scratch | FSx Lustre + S3 | Training, simulation, analytics. |
| Backup centralisé | AWS Backup + S3/Object Lock | Ransomware protection. |
| Data lake | S3 + Glue/Athena/EMR | Parquet, Iceberg, analytics. |
| Workload | Type EBS typique | À surveiller |
|---|---|---|
| VM généraliste | gp3 | IOPS, throughput, burst/latency. |
| DB critique | io2 / io2 Block Express selon besoin | p99 latency, queue, fsync. |
| Logs séquentiels | st1 ou gp3 throughput | Débit soutenu. |
| Données froides | sc1 ou S3 selon accès | Latence et pattern réel. |
Pour bases exigeantes, séparer data, logs, temp et backup staging. Les snapshots multi-volume aident à capturer un point cohérent entre volumes attachés à la même instance.
lsblk nvme list iostat -x 1 sudo growpart /dev/nvme1n1 1 sudo resize2fs /dev/nvme1n1p1 sudo xfs_growfs /data aws ec2 modify-volume --volume-id vol-xxx --size 2048
- Encryption par défaut.
- Tags App/Owner/Env/Backup.
- Snapshots et rétention.
- Alarmes BurstBalance/Queue/Latency si pertinentes.
- Test restore depuis snapshot.
- S3 Block Public Access activé sauf exception documentée.
- Bucket policies minimales.
- IAM roles, pas de clés longues dans code.
- SSE-S3 ou SSE-KMS selon criticité.
- Versioning + Object Lock pour backup.
- CloudTrail data events pour buckets sensibles.
- Macie pour détection de données sensibles si besoin.
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": ["arn:aws:s3:::bucket", "arn:aws:s3:::bucket/*"],
"Condition": {"Bool": {"aws:SecureTransport": "false"}}
}]
}| CloudTrail data events | Traçabilité objet fine. |
| S3 Access Logs / server access | Analyse accès. |
| AWS Config | Détection bucket public / encryption absent. |
| Security Hub | Centralisation findings. |
| Poste | Déclencheur | Piège |
|---|---|---|
| Storage | Go/mois par classe | Versions anciennes non expirées. |
| Requests | GET/PUT/LIST | Millions de petits objets. |
| Retrieval | IA/Glacier reads | Restore massif. |
| Egress | Sortie région/Internet | Data lake lu hors région. |
| Replication | CRR/SRR | Double stockage + transfert. |
- S3 Storage Lens.
- S3 Inventory.
- Cost Explorer par tags.
- Budgets et anomaly detection.
- Lifecycle reports.
- CloudWatch metrics par bucket si activées.
Actions FinOps: - Abort incomplete multipart uploads after 7 days - Expire non-current versions - Compact small files into Parquet - Move cold prefixes to IA/Glacier - Enable Intelligent-Tiering for unpredictable access - Tag buckets and prefixes by owner/cost center
- Créer mount targets dans les AZ utilisées.
- Limiter SG NFS 2049 aux clients nécessaires.
- Utiliser access points pour EKS et permissions.
- Choisir performance/throughput mode selon workload.
- Activer lifecycle vers EFS IA si données froides.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: efs-rwx provisioner: efs.csi.aws.com parameters: provisioningMode: efs-ap fileSystemId: fs-xxxx directoryPerms: "750"
| Besoin | FSx | Pourquoi |
|---|---|---|
| Partages Windows AD | FSx Windows | SMB, ACL, AD. |
| HPC/ML throughput | FSx Lustre | Débit massif, lien S3. |
| NetApp migration | FSx ONTAP | NFS/SMB/iSCSI, snapshots, SnapMirror. |
| ZFS NFS workloads | FSx OpenZFS | Snapshots/clones, NFS, ZFS semantics. |
- Multi-protocol file/block.
- Snapshots/clones.
- SnapMirror pour migration/DR.
- Familiarité NetApp pour équipes existantes.
| Classe | Usage | RTO typique à valider |
|---|---|---|
| Glacier Instant Retrieval | Archive avec besoin accès immédiat rare. | Immédiat. |
| Glacier Flexible Retrieval | Archive classique. | Minutes/heures selon option. |
| Glacier Deep Archive | Conservation très longue et très froide. | Heures. |
- Identifier objet/version.
- Lancer restore avec tier adapté.
- Attendre disponibilité temporaire.
- Copier vers Standard si exploitation durable.
- Mesurer délai réel.
- Object Lock retention.
- Legal hold.
- Vault Lock pour anciens usages Glacier vaults.
- Audit CloudTrail.
- Tags classification.
| Service | DR pattern |
|---|---|
| EBS | Snapshots cross-region, AMI copy, recreate EC2. |
| S3 | CRR/SRR, versioning, Object Lock. |
| EFS | EFS replication selon régions supportées. |
| FSx | Backups, replication selon famille FSx. |
| AWS Backup | Cross-account/cross-region backup copies. |
Warm standby = RTO moyen, coût moyen
Active-active = RTO faible, coût/complexité élevés
- Restaurer dans région DR.
- Recréer IAM/KMS/réseau.
- Monter volumes/filesystems.
- Basculer DNS Route 53.
- Valider applicatif.
- Documenter temps réel.
| Besoin | Driver | Mode |
|---|---|---|
| Bloc RWO | EBS CSI | Volumes zonaux, DB, pods stateful. |
| RWX NFS | EFS CSI | Uploads, shared files. |
| HPC/Windows/ONTAP/ZFS | FSx CSI selon backend | Workloads spécialisés. |
| Objet | S3 SDK / Mountpoint patterns | Data lake, assets, pas POSIX complet. |
Avec EBS CSI, utiliser WaitForFirstConsumer pour créer le volume dans la zone du pod. Les EBS volumes ne se déplacent pas librement entre AZ.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ebs-gp3 provisioner: ebs.csi.aws.com parameters: type: gp3 encrypted: "true" volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true
- gp3 pour généraliste, io2 pour critique.
- Séparer data/log/temp si nécessaire.
- Snapshots multi-volume ou backup natif DB.
- Surveiller fsync latency, queue, throughput.
| RDS | Stockage managé, snapshots, PITR, Multi-AZ. |
| Aurora | Stockage distribué managé, replicas, PITR. |
| DynamoDB | NoSQL service, PITR/backup, pas EBS visible. |
| Redshift | Analytics, RA3 managed storage selon architecture. |
| S3 | Data lake durable. |
| FSx Lustre | Scratch haut débit. |
| EMR/Athena/Glue | Analytics S3. |
| SageMaker | Training/feature/model artifacts. |
| EBS io2/gp3 | Volumes rapides pour notebooks/DB. |
- Parquet/Iceberg pour analytics.
- Éviter petits fichiers.
- Localité régionale entre compute et S3.
- Lifecycle des datasets intermédiaires.
| Outil | Usage |
|---|---|
| AWS DataSync | Migration/sync NFS/SMB/object vers AWS. |
| Snow Family | Transfert massif offline/edge. |
| Transfer Family | SFTP/FTPS/FTP vers S3/EFS. |
| Storage Gateway | Hybrid cache, file/volume/tape. |
| Direct Connect | Lien privé prévisible. |
- Inventaire données et owners.
- Classification hot/cold/sensible.
- Choix cible : S3/EFS/FSx/EBS.
- Transfert initial.
- Delta sync.
- Cutover applicatif.
- Validation checksum/ACL/performance.
- Rollback temporaire.
| Service | Accès privé typique |
|---|---|
| S3 | Gateway endpoint ou interface endpoint selon besoin. |
| EFS | Mount targets dans subnets + SG NFS. |
| FSx | Subnets, security groups, AD/DNS selon FSx. |
| EBS | Attach EC2 dans AZ, APIs via endpoint si privé. |
- Private hosted zones pour endpoints internes.
- Résolution AD pour FSx Windows/ONTAP selon cas.
- Éviter hardcoding d'IP.
- Tester depuis chaque subnet/AZ.
aws ec2 describe-vpc-endpoints nslookup bucket-endpoint telnet fs-xxx.efs.region.amazonaws.com 2049 mount -t nfs4 ... check route tables, SG, NACL, DNS, IAM
| Service | Métriques clés |
|---|---|
| EBS | Read/Write ops, throughput, queue length, burst balance. |
| S3 | Requests, 4xx/5xx, bytes, Storage Lens, Inventory. |
| EFS | Burst credits, throughput, percent IO limit, client connections. |
| FSx | Throughput, IOPS, capacity, network, filesystem health. |
| AWS Backup | Job success/failure, restore tests. |
- CloudTrail management events.
- S3 data events pour buckets sensibles.
- S3 access logs si besoin forensic.
- AWS Config rules pour drift sécurité.
- Cost Explorer/Budgets pour anomalies.
- EBS volume queue/latency élevée.
- S3 public access change.
- Backup job failed.
- EFS burst credits faibles.
- KMS key disabled.
- Cost anomaly egress.
| Service | Coûts principaux |
|---|---|
| EBS | GB-month, IOPS provisionnées, throughput provisionné, snapshots. |
| S3 | Storage class, requests, retrieval, lifecycle transitions, egress, replication. |
| EFS | GB stored, IA/retrieval, throughput provisionné si choisi. |
| FSx | Capacity, throughput, backups, deployment mode. |
| AWS Backup | Backup storage, restores, cross-region copies. |
- Tags obligatoires : App, Owner, Env, CostCenter, DataClass.
- Budgets par compte/projet.
- Revue snapshots sans owner.
- Lifecycle S3 par bucket.
- Rapport volumes unattached.
| Anti-pattern | Impact | Correction |
|---|---|---|
| Bucket public non voulu | Fuite données. | Block Public Access + Config. |
| EBS gp3 non tuné | Latence DB. | IOPS/throughput adaptés. |
| Snapshots éternels | Coût invisible. | Lifecycle/rétention. |
| EFS pour DB sensible | p99 élevée. | EBS/RDS adapté. |
| KMS key désactivée | Données illisibles. | Change control KMS. |
| S3 sans lifecycle | Coût croissant. | Lifecycle + Storage Lens. |
- Volumes unattached depuis 30 jours.
- Snapshots sans tag.
- Buckets sans owner.
- Pas de restore testé.
- CloudTrail data events absents sur données critiques.
- Identifier principal IAM et action.
- Vérifier bucket policy, IAM policy, SCP.
- Vérifier KMS key policy si SSE-KMS.
- Vérifier Block Public Access/VPC endpoint policy.
- Analyser CloudTrail.
- Confirmer filesystem full ou latency OS.
- Vérifier CloudWatch EBS metrics.
- Modifier volume size/IOPS/throughput si nécessaire.
- Étendre partition/filesystem.
- Post-mortem capacity/perf.
- Vérifier mount target dans AZ.
- Vérifier SG NFS 2049.
- Vérifier DNS.
- Vérifier IAM/access point si utilisé.
- Tester mount manuel.
- Identifier point de restauration.
- Restaurer isolé.
- Valider données/application.
- Basculer trafic.
- Documenter RTO/RPO réel.
| Contrôle | OK ? | Note |
|---|---|---|
| Service adapté au protocole | ☐ | EBS/EFS/S3/FSx. |
| Région/AZ documentée | ☐ | DR, latency, sovereignty. |
| IAM moindre privilège | ☐ | Roles, no shared keys. |
| Encryption/KMS validé | ☐ | Key policy, rotation, recovery. |
| Backup/restore testé | ☐ | AWS Backup/snapshots/app backup. |
| Lifecycle/retention | ☐ | S3, snapshots, backups. |
- CloudWatch alarms.
- CloudTrail enabled.
- AWS Config storage rules.
- Budgets/anomaly detection.
- Runbooks incidents.
- Tags obligatoires.
- S3 Block Public Access.
- Object Lock/Vault Lock pour backups critiques.
- Private endpoints si données internes.
- KMS policies surveillées.
- Cross-account backup copy.
