AWS Transfer Family cost: per-hour endpoints plus data transferred
Transfer Family bills about $0.30 per hour for each enabled protocol endpoint (SFTP, FTPS, FTP) plus about $0.04 per GB uploaded and downloaded. The always-on endpoint fee is the surprise for low-volume use. Here is the breakdown.
Quick answer
Transfer Family bills about $0.30 per hour for each enabled protocol (SFTP, FTPS, FTP), roughly $216/month per protocol, plus about $0.04 per GB uploaded and downloaded. The always-on per-protocol endpoint fee dominates for low-volume use, so enable only the protocols you need and consolidate rather than running many endpoints.
AWS Transfer Family provides managed SFTP, FTPS, and FTP in front of S3 or EFS, so you get file transfer without running your own servers. The pricing has an always-on component that surprises low-volume users: you pay per hour for each protocol you enable, whether or not anyone transfers a file.
The per-protocol endpoint fee
Each enabled protocol on an endpoint costs about $0.30 per hour, roughly $216 a month. Enable SFTP, FTPS, and FTP on one endpoint and you pay three times that. For a service moving a few files a day, this fixed fee, not the data charge, is the whole bill.
Data transferred
| Dimension | Rate (approximate) |
|---|---|
| Enabled protocol | ~$0.30 / hour each (~$216/month) |
| Data uploaded + downloaded | ~$0.04 / GB |
Data is billed per gigabyte in both directions, on top of any S3 or EFS storage and request costs behind it. For high-volume transfer the data line grows, but for most users the endpoint hours dominate.
Controlling Transfer Family cost
Enable only the protocols you actually need, since each adds a full hourly fee. Consolidate onto fewer endpoints rather than running one per team or partner. And for very low-volume, internal transfers, consider whether a simpler approach (direct S3 access, a small self-managed SFTP instance) is cheaper than the always-on managed endpoint. The fixed-fee-versus-usage tradeoff is the same as any always-on managed service like Bastion.
FAQ
How is AWS Transfer Family priced?
About $0.30 per hour for each enabled protocol (SFTP, FTPS, FTP), roughly $216 per month per protocol, plus about $0.04 per GB of data uploaded and downloaded, on top of the underlying S3 or EFS storage. The per-protocol endpoint fee is the main cost for low-volume use.
Why is AWS Transfer Family expensive for low volume?
Because of the always-on per-protocol endpoint fee of about $0.30 per hour (around $216 a month) that applies whether or not files are transferred. For a service moving a few files a day, this fixed fee, not the data charge, is the whole bill.
How do I reduce Transfer Family cost?
Enable only the protocols you need since each adds a full hourly fee, consolidate onto fewer endpoints rather than one per team or partner, and for very low-volume internal transfers consider whether direct S3 access or a small self-managed SFTP instance is cheaper.
Does enabling multiple protocols cost more?
Yes. Each enabled protocol on an endpoint carries its own hourly fee, so enabling SFTP, FTPS, and FTP together costs three times a single protocol. Enable only the protocols your partners actually require.
Is managed SFTP worth the cost?
For business-critical, partner-facing transfer where reliability and managed operation matter, usually yes. For low-volume internal use, the always-on endpoint fee can exceed the value, and a simpler self-managed or direct-S3 approach may be cheaper. Match the tool to the need.
Does C3X estimate Transfer Family cost?
C3X prices the aws_transfer_server resource and its enabled protocols from your Terraform, so the per-protocol endpoint fee appears before deploy. Data transfer depends on volume, which you provide as a usage assumption.
What to do next
Catch the endpoint fee before you deploy. C3X reads your Terraform and prices Transfer Family and the rest of your stack against a live catalog. Start with the quickstart.
Share this post
Try C3X on your own Terraform
Free and open source. No API key required. One command to install, one command to estimate.