
Troubleshooting EFS
OfficialFreeDiagnose and fix Amazon EFS issues efficiently.
Free · Opens the source repo
What Troubleshooting EFS does
The Troubleshooting EFS skill provides a structured approach to diagnosing and resolving common issues encountered with Amazon Elastic File System (EFS). It is particularly useful for developers and system administrators who manage EFS file systems and need to troubleshoot problems such as mount failures, NFS timeouts, permission errors, and performance issues. By following the outlined steps, users can systematically identify the root cause of their EFS issues and apply the appropriate fixes.
This skill emphasizes the importance of verifying dependencies before proceeding with troubleshooting. It guides users to check for the availability of essential tools such as the AWS CLI and the necessary EFS utilities. The skill categorizes common symptoms into distinct issues, allowing users to quickly identify which area they need to address. For example, if a mount command fails with a "wrong fs type" error, the skill directs users to check for a missing NFS client. Each category includes detailed commands and explanations to ensure users understand the troubleshooting process.
Performance-related issues are also addressed, with guidance on checking throughput modes and burst credit exhaustion. Users can determine if their file system needs to switch to elastic throughput or if they should consider changing performance modes based on their usage patterns. Additionally, the skill provides security considerations, emphasizing the importance of IAM policies and encryption to protect data.
Overall, this skill is designed for anyone managing EFS file systems who needs a reliable method to troubleshoot and resolve issues efficiently, ensuring minimal downtime and optimal performance.
When to use it
Use this skill when encountering problems with EFS file systems, such as errors during mounting or performance issues.
When not to use it
This skill is not suitable for troubleshooting non-EFS related AWS services or issues outside the scope of EFS functionality.
What you can build with it
Diagnosing Mount Failures
Use this skill to identify and resolve mount failures by checking for missing NFS clients and verifying security group settings.
Resolving Permission Issues
If you encounter access denied errors, this skill will guide you through checking IAM policies and POSIX permissions.
Improving EFS Performance
Utilize the skill to assess throughput modes and burst credit status, ensuring optimal performance for your EFS file systems.
How to install Troubleshooting EFS
View source1. Install with the skills CLI
npx skills add aws/agent-toolkit-for-aws/troubleshooting-efs --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by awsTroubleshooting EFS
Overview
Domain expertise for diagnosing and resolving Amazon EFS issues. Covers mount failures, NFS connectivity, IAM and POSIX permissions, throughput and performance, and encryption problems.
For authoritative guidance, see EFS Troubleshooting.
Common Tasks
0. Verify Dependencies
- You MUST verify
awsCLI is available - You MUST check if
amazon-efs-utilsornfs-utilsis installed on the instance - You MUST ONLY check for tool existence and version — MUST NOT execute destructive or mutating commands during verification
- You MUST inform the user if any required tools are missing
- You MUST respect the user's decision to abort if tools are unavailable
- You SHOULD explain what each step does and why before executing it
- You SHOULD display write commands and wait for user confirmation before executing
1. Classify the Issue
| Symptom | Category |
|---|---|
| "wrong fs type" or mount command fails | A: Missing NFS Client |
| Connection timed out (hangs 2+ min) | B: Network/Security Group |
| "access denied by server" | C: IAM/Permissions |
| Slow throughput or high latency | D: Performance |
| NFS server error on encrypted FS | E: Encryption/KMS |
| DNS name resolution fails | F: VPC DNS |
2. Category A — Missing NFS Client
# Amazon Linux / RHEL / CentOS
sudo yum -y install amazon-efs-utils # preferred (includes mount helper + TLS)
# OR
sudo yum -y install nfs-utils
# Ubuntu / Debian
sudo apt-get install nfs-common
3. Category B — Network/Security Group
Connection timeout is the #1 EFS mount failure — almost always security groups.
- Verify mount target exists in the instance's AZ:
aws efs describe-mount-targets --file-system-id fs-ID --region REGION
-
Verify security groups — check BOTH directions:
- Mount target SG:
aws ec2 describe-security-groups --group-ids sg-MT— MUST have inbound TCP 2049 from compute SG - Compute SG: MUST have outbound TCP 2049 to mount target SG
- Quick fix:
aws ec2 authorize-security-group-ingress --group-id sg-MT --protocol tcp --port 2049 --source-group sg-COMPUTE
- Mount target SG:
-
Test connectivity:
nc -zv fs-ID.efs.REGION.amazonaws.com 2049
Note: These security group troubleshooting steps also apply to S3 Files. The only difference is S3 Files uses
aws s3files list-mount-targetsinstead ofaws efs describe-mount-targets.
4. Category C — IAM/Permissions
"access denied by server" with -o iam:
- Check identity-based IAM policy has
elasticfilesystem:ClientMount - Check file system resource policy:
aws efs describe-file-system-policy --file-system-id fs-ID --region REGION
Note: IAM authorization is only enforced when a file system policy exists that requires it. Without a file system policy, any client in the VPC with port 2049 access can mount — even with -o iam. To enforce IAM, you MUST create a file system policy that denies anonymous access.
POSIX permission denied (not IAM):
- Check file/directory ownership:
ls -la /mnt/efs/ - Use access points to enforce UID/GID for consistent permissions
5. Category D — Performance
Check throughput mode:
aws efs describe-file-systems --file-system-id fs-ID --region REGION --query 'FileSystems[0].ThroughputMode'
Burst credit exhaustion (Bursting mode only):
aws cloudwatch get-metric-statistics --namespace AWS/EFS --metric-name BurstCreditBalance --dimensions Name=FileSystemId,Value=fs-ID --period 3600 --statistics Average --start-time $(date -u -d '24 hours ago' +%Y-%m-%dT%H:%M:%S) --end-time $(date -u +%Y-%m-%dT%H:%M:%S)
If credits near zero, switch to Elastic throughput:
aws efs update-file-system --file-system-id fs-ID --throughput-mode elastic --region REGION
General Purpose vs Max I/O:
- Check
PercentIOLimitmetric — if consistently >80%, consider Max I/O - Note: performance mode is IMMUTABLE — must create new FS and migrate
6. Category E — Encryption/KMS
NFS server error on encrypted FS = KMS key issue.
- Verify key is enabled in KMS console
- Verify EFS service-linked role has KMS permissions
- If key deleted: cancel deletion if within grace period
7. Category F — VPC DNS
DNS resolution failure = VPC DNS settings disabled.
aws ec2 describe-vpc-attribute --vpc-id vpc-ID --attribute enableDnsHostnames
aws ec2 describe-vpc-attribute --vpc-id vpc-ID --attribute enableDnsSupport
Both MUST be true. If not:
aws ec2 modify-vpc-attribute --vpc-id vpc-ID --enable-dns-hostnames Value=true
aws ec2 modify-vpc-attribute --vpc-id vpc-ID --enable-dns-support Value=true
Troubleshooting
Mount hangs then times out
Most common cause: security group. Verify TCP 2049 is open between compute and mount target.
Auto-mount fails on reboot
/etc/fstab entry MUST include _netdev option to wait for network before mounting.
"nfs not responding" after reconnect
Old kernel bug with TCP port reuse. Update kernel or add noresvport mount option.
Enable Debug Logs
Set logging_level = DEBUG in /etc/amazon/efs/efs-utils.conf. Logs at /var/log/amazon/efs/mount.log.
Collect Logs for AWS Support
sudo tar -czf /tmp/efs-logs.tar.gz /var/log/amazon/efs/ /etc/amazon/efs/efs-utils.conf
Security Considerations
- IAM authorization is only enforced when a file system policy exists — without one, any VPC client with port 2049 access can mount
- When troubleshooting access denied, verify both identity-based and resource-based policies
- Use
-o tlsfor encryption in transit — unencrypted NFS traffic is visible on the network - Restrict
/var/log/amazon/efs/access — logs may contain file system IDs and mount target IPs
Additional Resources
Frequently asked questions about Troubleshooting EFS
Similar skills
Turborepo
Optimized build system for JavaScript/TypeScript monorepos.
Azure Pipelines Validation
Streamline your Azure DevOps pipeline changes locally.
Azure Developer CLI
Streamline your Azure project workflows with best practices.
Azure Container Registry CLI
Manage Azure Container Registry resources with ease.
Aspire
Build and orchestrate polyglot distributed applications seamlessly.
Vercel CLI
Manage and deploy Vercel projects from the command line.
