3 Answers
I usually hear EFS being compared against EBS, as a persistent shared storage solution for EC2 instances. Looks like it is often used as persistent storage for lambda as well, sounds like it’s faster than S3 I guess lower access latency: https://aws.amazon.com/products/storage/persistent-file-storage-for-modern-apps/?pg=ln&cp=bn
Performance – Read and write performance on EFS volumes is a key factor in choosing it over S3. S3 is an object storage which is mainly used for archival purpose. If I want to write application data I will choose EFS because of it’s performance.
EFS is mounted as shared storage for EC2 instance. Compared to EBS (mounted on an EC2 in a single AZ), the EFS storage is available in a Multi-AZ setup. EC2 accesses EFS content via NFS protocol.
S3 is not mounted onto EC2 instances. EC2 instances accesses data stored on S3 via API calls. You cannot install any software on S3 but only use S3 as storage.
Less sure but EFS is accessible within the VPC, while S3 traffic is routed via internet unless VPC Endpoints are used