Generated banner for Troubleshooting Efs
Generated logo for Troubleshooting Efs

Troubleshooting Efs

AWSOfficialPublished by AWS

  • Skill
  • Review and audit
  • Cloud and DevOps
  • Apache-2.0
  • No issues found

From the author

Diagnoses and resolves Amazon EFS issues including mount failures, NFS timeouts, permission errors, throughput problems, and burst credit exhaustion. Use when the user has an EFS file system that is not mounting, returning errors, performing slowly, or showing access denied.
— the description by AWS

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

  1. Download the skill as a ZIP:

    https://mp-staging.autogineer.com/agent-skills/aws/troubleshooting-efs/download
  2. Unzip 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 aws CLI is available

  • You MUST check if amazon-efs-utils or nfs-utils is 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
SymptomCategory
"wrong fs type" or mount command failsA: Missing NFS Client
Connection timed out (hangs 2+ min)B: Network/Security Group
"access denied by server"C: IAM/Permissions
Slow throughput or high latencyD: Performance
NFS server error on encrypted FSE: Encryption/KMS
DNS name resolution failsF: 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.

  1. Verify mount target exists in the instance's AZ:

aws efs describe-mount-targets --file-system-id fs-ID --region REGION
  1. 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

  2. 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-targets instead of aws 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 PercentIOLimit metric — 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 tls for 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

Files

NOTICE

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

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.

Download ZIP

The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download troubleshooting-efs.zip