EFS

Introduction

  • Elastic File System (EFS) is a file storage service for EC2. Connecting to EFS is similar to connecting to your network drive.

  • EFS is within your VPC. Create each ENI (mount target) per AZ.

  • The capacity is elastic, can grow / shrink automatically.

  • 3x expensive than EBS, 20x expensive than S3.

Feature

  • Compatible for Linux, POSIX-compliant.

  • Supports the Network File System version 4 (NFSv4) protocol

  • Scaling:

    • 1000s of concurrent NFS connections, 10 GB +/s throughput

    • Grow to Petabyte-scale

  • Performance mode (According to how data is consumed. Set at EFS creation time):

    • General purpose (default): latency-sensitive use cases

    • Max I/O: higher latency / throughput, parallel processing (big data, media processing)

  • Throughput mode (To determine the Bandwidth):

    • Bursting mode (scales as the size grows): common for file systems

    • Provisioned IO mode: high throughput to storage ratio (if burst is not enough, more expensive)

  • Storage tiers (lifecycle management: move file after N days)

    • Standard: for frequently accessed file

    • Infrequent access: higher cost to retrieve the file, lower price point to store the file.

  • Use 2 Security Groups for EFS / EC2 communications.

    • Create an inbound / outbound rule to allow the NFS port (TCP:2049) for the EFS mount target / EC2.

  • Encryption at rest with KMS.

    • Encryption at rest has to be enabled when the file system is created.

  • Encryption in transit

    • Enable TLS when mounting the EFS by adding the -o tls option such as: sudo mount -t efs -o tls fs-12345678:/ /mnt/efs.

  • Read after write consistency

  • Working with on-prem servers, better to have a Direct Connect for security and high performance

    • Otherwise, suggest to use Amazon DataSync to connect EFS and on-prem servers.

Scenario

  • VPC Peering & EFS on-premise

    • Setup VPC peering for another VPC to access the EFS.

    • Setup Direct Connect / site-to-site VPN that supports IPSec for on-premise server to access the EFS by IPv4 (not DNS).

Last updated