Skip to main content

EFS Performance Filesystem

πŸ“¦ Overview​

This Terraform module provisions an Amazon EFS (Elastic File System) with a user-defined performance mode, enabling scalable shared storage optimized for specific workload needs.

It’s ideal for CMS platforms, dev environments, and high-throughput media or analytics workloads that require fine-tuned file system behavior.


βœ… Key Features​

  • Provisions a single EFS filesystem with configurable performance mode
  • Supports generalPurpose or maxIO for tailored performance
  • Enables environment tagging for visibility and management
  • Reusable across multiple AWS regions with proper input

πŸ’Ό Use Cases​

  • Hosting web content or shared CMS storage (e.g., Drupal, WordPress)
  • Development or staging environments needing flexible shared access
  • High-throughput workloads such as media processing or big data analytics
  • Systems requiring burst performance and parallel client connections

πŸ“₯ Input Variables​

NameTypeDescription
regionstringAWS region to deploy the EFS filesystem
environmentstringTag to specify the deployment environment (e.g., dev, staging, prod)
performance_modestringEFS performance mode: generalPurpose (default) or maxIO

πŸ“€ Outputs​

NameDescription
efs_idThe ID of the provisioned EFS
efs_arnThe ARN of the provisioned EFS

πŸš€ Deployment Readiness​

  • βœ… Compatible with Terraform 1.0+
  • βœ… Tested with AWS provider 5.x
  • πŸ§ͺ Requires no subnet or SG configuration (filesystem only)

πŸ› οΈ Example Usage​

module "efs_performance_filesystem" {
source = "git::ssh://git@github.com/archiphire/aws-level-1-modules.git//storage/efs-performance-filesystem?ref=v1.0.0"

region = "us-east-1"
environment = "prod"
performance_mode = "maxIO"
}
terraform init
terraform plan
terraform apply

or

tofu init
tofu plan
tofu apply

🧹 Cleanup Options​

Terraform Destroy (for test environments):

terraform destroy

or

tofu destroy

Manual Cleanup (for production systems):

Unmount the EFS filesystem from all dependent services Manually delete the filesystem in AWS Console or CLI Ensure dependent systems using specific performance modes are migrated

πŸ›‘οΈ Notes​

This is a Level 1 module focused on performance configuration. For full deployment readiness with networking and security, compose this with:

efs-filesystem efs-access-point efs-backup-policy

πŸ”’ Deployment Package Notice​

This module is part of the Level 1 AWS License Tier. To access the full deployment package and source code, subscribe to Archiphire.