AWS Transfer Family
AWS Transfer Family servers (SFTP, FTPS, FTP) can become a significant source of hidden costs when left in a stopped state. Unlike many other AWS services, Transfer Family servers continue to incur charges even when they are offline.
The Problem
When you stop a Transfer Family server using aws transfer stop-server, the server enters an OFFLINE state. However, AWS continues to bill for the server endpoint at approximately $0.30 per hour (~$219/month) regardless of whether it's actively serving traffic.
This behavior catches many users off guard, as they expect stopped resources to stop incurring charges.
What We Detect
unusd.cloud identifies Transfer Family servers that are in:
- OFFLINE state - Server has been manually stopped
- STOPPING state - Server is in the process of stopping
Detection Details
Our detection algorithm:
- Scans all Transfer Family servers across enabled regions
- Identifies servers not in the ONLINE or STARTING state
- Calculates the ongoing monthly cost based on AWS pricing
- Provides actionable recommendations
Potential Savings
| State | Hourly Cost | Monthly Cost | Annual Cost |
|---|---|---|---|
| OFFLINE | $0.30 | ~$219 | ~$2,628 |
Recommendations
When a stopped Transfer Family server is detected, consider:
- Delete the server if it's no longer needed
- Start the server if it should be actively serving traffic
- Tag with whitelist if the stopped state is intentional and temporary
CLI Commands
# List all Transfer Family servers
aws transfer list-servers --region <region>
# Check server state
aws transfer describe-server --server-id <server-id> --region <region>
# Delete an unused server
aws transfer delete-server --server-id <server-id> --region <region>
# Start a server (if it should be running)
aws transfer start-server --server-id <server-id> --region <region>
Required IAM Permissions
The following permissions are required in your spoke role:
These permissions are included in spoke role template version 1.0 and later.