Amazon EKS — FSx for Lustre
FSx for Lustre
Amazon FSx for Lustre is a high-performance parallel file system designed for ML training, HPC, and media processing workloads.
When to Use FSx for Lustre
| Workload | Storage Choice |
|---|---|
| General apps | EBS (gp3) |
| Shared files | EFS |
| ML training (large datasets) | FSx for Lustre |
| HPC / simulation | FSx for Lustre |
| Video processing | FSx for Lustre |
Key Features
| Feature | Value |
|---|---|
| Throughput | Up to hundreds of GB/s |
| IOPS | Millions |
| S3 integration | Automatic sync with S3 bucket |
| Access mode | ReadWriteMany |
| Pricing | Starting at $0.14/GB/month |
Install FSx CSI Driver
# Install via Helm
$ helm repo add aws-fsx-csi-driver https://kubernetes-sigs.github.io/aws-fsx-csi-driver
$ helm install aws-fsx-csi-driver aws-fsx-csi-driver/aws-fsx-csi-driver \
--namespace kube-system
Use FSx for Lustre
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fsx-lustre
provisioner: fsx.csi.aws.com
parameters:
subnetId: subnet-0abc123
securityGroupIds: sg-0def456
deploymentType: PERSISTENT_2
perUnitStorageThroughput: "200" # MB/s per TiB
dataCompressionType: LZ4
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ml-data
spec:
accessModes:
- ReadWriteMany
storageClassName: fsx-lustre
resources:
requests:
storage: 1200Gi # Minimum 1.2 TiB
S3 Integration
FSx for Lustre can be linked to an S3 bucket for transparent data access:
S3 bucket ←──sync──→ FSx for Lustre ←──mount──→ Pods
Training data stays in S3, FSx provides high-speed access.
Common Mistakes
| Mistake | Impact |
|---|---|
| Using FSx for general workloads | Over-engineered and expensive |
| Minimum 1.2 TiB size | Can’t create smaller volumes |
| Wrong subnet/security group | Mount fails |
What’s Next?
Practice: Storage Exercises.