Troubleshooting Efs
AWSOfficialPublished by AWS
- Skill
- Review and audit
- Cloud and DevOps
- Apache-2.0
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured diagnostic framework for troubleshooting Amazon Elastic File System (EFS) issues. It covers common failure modes including mount errors, network timeouts, IAM and POSIX permission conflicts, performance bottlenecks, and encryption-related problems. The skill guides users through verifying dependencies, classifying symptoms, and applying corrective actions using AWS CLI commands and system configuration checks.
What it does
- Diagnoses mount failures and NFS connectivity issues
- Validates security group configurations for TCP port 2049
- Troubleshoots IAM and POSIX permission errors
- Analyzes EFS performance metrics and burst credit exhaustion
- Verifies VPC DNS settings and KMS encryption status
- Provides commands to collect logs for further investigation
When to use it
- When an EFS file system fails to mount on a compute instance
- When experiencing slow throughput or high latency on EFS volumes
- When encountering 'access denied' errors during mount attempts
- When connection attempts to EFS hang or time out
- When troubleshooting NFS server errors on encrypted file systems
Advantages
- Provides a systematic, category-based approach to troubleshooting
- Includes specific AWS CLI commands for rapid diagnosis
- Highlights critical security considerations like IAM enforcement and encryption
- Offers actionable fixes for common configuration pitfalls like VPC DNS settings
Usage examples
- “My EFS mount is hanging and timing out, what should I check?”
- The agent will guide you to verify security group rules for TCP port 2049 and check if the mount target exists in the instance's availability zone.
- “I am getting an access denied error when mounting EFS with IAM.”
- The agent will help you inspect your identity-based IAM policies and the file system resource policy to ensure proper access is granted.
- “How do I check if my EFS burst credits are exhausted?”
- The agent provides a CloudWatch command to retrieve the BurstCreditBalance metric and suggests switching to Elastic throughput mode if necessary.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/aws/troubleshooting-efs/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip troubleshooting-efs.zip -d .agents/skills
Documentation by AWS
Troubleshooting 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 availableYou MUST check if
amazon-efs-utilsornfs-utilsis installed on the instanceYou 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-common3. 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 REGIONVerify security groups — check BOTH directions:
Mount target SG:
aws ec2 describe-security-groups --group-ids sg-MT— MUST have inbound TCP 2049 from compute SGCompute 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
Test connectivity:
nc -zv fs-ID.efs.REGION.amazonaws.com 2049Note: 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:ClientMountCheck file system resource policy:
aws efs describe-file-system-policy --file-system-id fs-ID --region REGIONNote: 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 REGIONGeneral Purpose vs Max I/O:
Check
PercentIOLimitmetric — if consistently >80%, consider Max I/ONote: 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 enableDnsSupportBoth 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=trueTroubleshooting
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.confSecurity 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 networkRestrict
/var/log/amazon/efs/access — logs may contain file system IDs and mount target IPs
Additional Resources
Files
- ATTRIBUTION.mdAdded by AutoGineer925 B
- LICENSELicence file added by AutoGineer9.9 KiB
- NOTICELicence file added by AutoGineer67 B
- SKILL.md6.3 KiB
SKILL.md
Troubleshooting 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 availableYou MUST check if
amazon-efs-utilsornfs-utilsis installed on the instanceYou 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-common3. 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 REGIONVerify security groups — check BOTH directions:
Mount target SG:
aws ec2 describe-security-groups --group-ids sg-MT— MUST have inbound TCP 2049 from compute SGCompute 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
Test connectivity:
nc -zv fs-ID.efs.REGION.amazonaws.com 2049Note: 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:ClientMountCheck file system resource policy:
aws efs describe-file-system-policy --file-system-id fs-ID --region REGIONNote: 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 REGIONGeneral Purpose vs Max I/O:
Check
PercentIOLimitmetric — if consistently >80%, consider Max I/ONote: 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 enableDnsSupportBoth 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=trueTroubleshooting
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.confSecurity 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 networkRestrict
/var/log/amazon/efs/access — logs may contain file system IDs and mount target IPs
Additional Resources
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs a command-line tool
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- AWS
- Publisher
- AWS (Official)
- Source
- aws/agent-toolkit-for-aws · skills/specialized-skills/storage-skills/troubleshooting-efs · commit 0a218f8
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- NOTICE (added by AutoGineer from NOTICE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by AWS or AWS.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download troubleshooting-efs.zip