EBS and EFS both are storage services from AWS .
EBS – Elastic Block Store
EBS is a block storage service .
EBS volumes designed to attach single AWS EC2 instance
You can format the disk with your desired generic file systems like ext4,NTFS,XFS,ZFS etc.
You can attache and detach from EC2 instance easily
You can extend the disk volume size online
Having options to choose volume type depends on workload.
SSD IOPS volumes Supports for high performance enterprise application , database workloads big data,SAP and broad range of workloads
EBS Volume can be backup as snapshot and can easily create new volume from snapshot.
EBS maximum disk size 16TB
EBS maximum IOPS 64000
EBS volume cab be used as boot disk
EBS volume can be used with Linux and Windows OS.
EFS – Elastic File System
EFS is a Elastic NFS File system service , managed service.
Shared File storage , can be mapped/mounted to multiple Linux instances.
You can not format the disk , NFS based disk share , so you can only mouth as NFS mount target.
Can be used as Hybrid storage , you can mount in on-premise or othercoud as well.
You can mount or un-mount the shares from EC2 instance anytime.
You no need to choose the disk/share size . By default each shares shows with 8 Petabyte .So you can place as much as data . So no need to think about resize.
Having options to choose different types of disks standars or infrequent access.
EFS basically best fit for High Throughput , latency is normally high when compare with EBS. You can get good performance when you really have high amount of data.
Can not use as boot disk for linux or windows
Throughput 100 MiB/s per TiB
Supports only with Linux.