12.4
Transfer Family, DataSync and the Full Storage Map
Managed FTP/SFTP into S3 or EFS, scheduled sync jobs, and every storage service compared.
22 min Reading + animations
Tip: tap or hover any dotted-underlined term to see what it means.
By the end of this lesson you will be able to
- Explain what AWS Transfer Family replaces, and follow one session from login through the identity provider, the IAM role and the home directory into S3 or EFS.
- Choose the right endpoint type (public, VPC internet-facing, VPC internal) for SFTP, FTPS, FTP and AS2, and the right identity provider for a set of users.
- Process files after they land with managed workflows, and estimate a Transfer Family bill from endpoint-hours and gigabytes.
- Build a DataSync migration from its parts (agent, locations, task, schedule, execution), explain each phase of a run, and pick task options, task mode and network endpoint.
- Calculate how long a DataSync copy and its nightly runs take, and what they cost, and decide when the network is no longer the answer.
- Tell DataSync from Storage Gateway, Snowball, Transfer Family and S3 Transfer Acceleration in one sentence each, and choose between them from the words of a question.
- Place every storage service of the course (S3, the Glacier classes, EBS, instance store, EFS, the four FSx file systems, Storage Gateway, Transfer Family, DataSync, Snowball, and databases) on one map, and pick the right one for a scenario.
#Where this lesson fits
Lesson 10.11 introduced DataSync as “Path 7” and Transfer Family as “Path 10” of the ways data reaches S3: what each one is, a real example, and a five-way comparison with File Gateway, Snowball and Transfer Acceleration. This lesson is the deep dive. It goes inside a Transfer Family session and a DataSync task, covers the options, limits, failure cases and prices you need in a real project, and then closes chapter 12 with the full storage map of the course.
The other lessons of this chapter: 12.1 Snowball and edge computing, 12.2 the FSx family and 12.3 Storage Gateway. The storage services from chapter 5 (EBS, instance store, EFS) and chapter 10 (S3 and its storage classes) come back in the final map.
#AWS Transfer Family
#Why companies still run file transfer servers
File transfer protocols are older than the cloud and they are everywhere. Banks receive salary and settlement files from employers and wallets, garment exporters exchange purchase orders with European retailers, hospitals receive lab results, government offices publish datasets. The other side has scripts, schedulers and software that speak SFTP, FTPS or FTP, or the business-to-business standard AS2, and nobody will rewrite them for you.
So you run a file transfer server. That means an EC2 instance or a box in the data centre with an SSH daemon, patching every month, a disk that fills up, users and keys in a text file, a script that copies new files into storage, and a single point of failure that wakes someone up at night.
AWS Transfer Family is the managed version: a fully managed service for file transfers into and out of Amazon S3 or Amazon EFS over those protocols. There is no server or software for you to maintain. As the slides put it, the infrastructure is managed, scalable, reliable and highly available (it runs in up to three Availability Zones), you pay per provisioned endpoint per hour plus per gigabyte transferred, users’ credentials can be stored in the service, and it integrates with existing authentication systems.
| Protocol | What it is | Typical user |
|---|---|---|
| SFTP | File transfer over SSH (port 22). Encrypted, key or password login | Most partners and scripts today |
| FTPS | Classic FTP wrapped in TLS. Encrypted; needs a certificate (from ACM) on the server | Older Windows tools, some banks |
| FTP | The original protocol. Not encrypted: password and data travel in clear text | Old scanners, embedded devices, inside private networks only |
| AS2 | Business-to-business messages over HTTP(S), signed and encrypted, with signed delivery receipts | Supply chains, retail, payments, ERP and CRM integrations |
| Web apps | A browser page where business users upload and download files in S3 (since December 2024) | Staff who do not want an SFTP client |
The slides list the usual uses: sharing files, publishing public datasets, and exchanging data with CRM and ERP systems.
#One session, step by step
Everything in Transfer Family hangs on four objects: a server (the endpoint, with its protocols and endpoint type), an identity provider (who may log in), a user with an IAM role (what that user may do), and a home directory (where the user lands).
- The client connects to the server’s hostname: either the AWS name
s-1234abcd.server.transfer.ap-southeast-1.amazonaws.comor your own name, such assftp.bank.example, pointed at it with Route 53 (the slides mark Route 53 as optional). An SFTP server proves who it is with its host key; when you migrate from an old server you can import its host key, so clients see the same fingerprint and nothing breaks. - The server asks the identity provider whether the username and the key or password are valid.
- The answer includes the user’s IAM role, an optional session policy and the home directory.
- The server assumes the role for this session. Every read and write is done with that role’s permissions. The role must trust
transfer.amazonaws.com. - Uploads are written straight into S3 as objects (or into EFS as files). There is no server disk between the client and the storage.
- When an upload completes, a managed workflow can process the file, and S3 events (lesson 10.7) can start anything else.
Watch the whole chain, and three ways it breaks:
One SFTP session through AWS Transfer Family
A payroll partner uploads a salary file to a bank. Follow the login, the identity provider’s answer, the IAM role, the write into S3 and the workflow that runs after it, then see what breaks when one piece is wrong.
Scenario
Login, role, home directory, write, workflow: the whole chain works.
The partner’s script connects to sftp.bank.example on port 22. The server proves who it is with its host key; because the bank imported the old server’s host key, the client sees the same fingerprint as before and does not warn.
#Endpoint types: who can reach the server
The endpoint type decides who can reach the server and which protocols you may enable.
| Endpoint type | Reachable from | Protocols | Fixed IPs and firewall |
|---|---|---|---|
| Public | The internet | SFTP only | No: AWS-owned addresses that may change; no security group |
| VPC, internet-facing | The internet and your VPC | SFTP, FTPS, AS2 | Elastic IP per subnet (up to three AZs); security groups filter source addresses |
| VPC, internal | Only the VPC and networks connected to it (VPN, Direct Connect, peering) | SFTP, FTP, FTPS, AS2 | Private IPs; security groups |
Three rules worth remembering:
- Plain FTP is allowed only on an internal VPC endpoint. It sends passwords in clear text, so AWS never exposes it to the internet. The slides draw it the same way: FTP “only within VPC”.
- Partners who allowlist addresses in their firewalls need an internet-facing VPC endpoint with Elastic IPs, which you can also lock down with a security group. A public endpoint cannot do either.
- Security groups need port 22 for SFTP (also 2222 or 22000 if you choose them), 21 for the FTP or FTPS control channel and 8192–8200 for the data channel. (An older endpoint type,
VPC_ENDPOINT, can no longer be created; useVPC.)
Where the endpoint lives decides who can reach it
A pharmaceutical distributor runs two Transfer Family endpoints: an internet-facing one in the VPC with Elastic IPs for outside suppliers, and an internal one for its own warehouses that connect over a VPN.
Scenario
A VPC endpoint with Elastic IPs: fixed addresses and a security group in front.
The internet-facing endpoint has one Elastic IP per subnet, in up to three Availability Zones. The supplier’s firewall allows outbound traffic only to listed addresses, and these never change.
#Identity providers: who may log in
| Identity provider | How users authenticate | Use it when |
|---|---|---|
| Service managed | Users and their SSH public keys are stored in Transfer Family itself (SFTP) | A few dozen partners with keys; simplest setup |
| AWS Directory Service | Usernames and passwords from Microsoft Active Directory: AWS Managed Microsoft AD, or your on-premises AD reached through it (also Entra ID Domain Services) | Your own staff, who already have domain accounts; access by AD group (up to 100 groups per server by default) |
| Custom identity provider | Transfer Family calls your Lambda function (directly or through API Gateway), which checks the user anywhere and returns the role, home directory and policy | LDAP, Okta, Amazon Cognito, passwords in Secrets Manager, a partner database, or anything else |
These are the slides’ “Microsoft Active Directory, LDAP, Okta, Amazon Cognito, custom” list: AD is built in; the others go through a custom identity provider. With a custom provider an empty answer from the function means “not authenticated”. Transfer Family also refuses usernames of one or two characters and the name root, because password scanners try them constantly.
#Home directories, roles and the storage behind the server
- S3 backend. The user’s IAM role decides which bucket actions are allowed. A session policy narrows it per user, so one role can serve many partners. Logical directories map what the user sees to real locations: the partner sees
/, which is reallypayroll-example/inbound/acme/; they never see the bucket name or each other’s folders (a “chroot”). - EFS backend. Access is controlled with POSIX user and group IDs given to each user, exactly as on a Linux server, plus the role. Use EFS when the files must be read by applications that mount a file system, for example a legacy batch job on EC2.
- In both cases the file is ordinary data afterwards. In S3 you can version it, replicate it, lifecycle it to Glacier (lesson 10.5) or query it with Athena.
#After the file lands: workflows, connectors, AS2 and web apps
- Managed workflows. A workflow attached to the server runs after each upload (and, if you want, after a partial upload when the connection drops). Steps: copy, tag, delete, decrypt (PGP) and custom (any Lambda function: malware scan, validation, loading into a database). If a step fails, the workflow’s exception handler runs instead, for example to move the file to
quarantine/and alert someone. - SFTP connectors. Transfer Family can also send files from S3 to a partner’s external SFTP server, or fetch files from it, so you do not need an outbound server either.
- AS2. For trading partners that require AS2: messages are signed and encrypted, the receiver sends a signed receipt, and files are stored in S3.
- Web apps. A managed web page for business users to browse, upload and download files in S3, with sign-in through IAM Identity Center and permissions from S3 Access Grants.
#Price and availability
| Item (us-east-1) | Price |
|---|---|
| Each protocol enabled on a server | $0.30 per hour (SFTP and FTPS on one server are two charges) |
| Data uploaded or downloaded over SFTP, FTPS, FTP | $0.04 per GB |
| AS2 messages | From $0.01 per message |
| Workflow PGP decryption | $0.10 per GB |
| Web apps | $0.50 per unit-hour |
Worked example: the distributor above has one server with SFTP and FTPS: 2 × $0.30 × 720 hours = $432 a month, even if nobody connects, plus 500 GB a month × $0.04 = $20. The endpoint-hours dominate: delete test servers and disable unused protocols. Choosing up to three AZs costs nothing extra, and S3, EFS, Lambda and CloudWatch are billed separately as usual.
#AWS DataSync
#What DataSync is for
AWS DataSync moves large amounts of data over the network, quickly and safely, once or on a schedule: from on-premises (or another cloud) to AWS, from AWS back out, or between AWS storage services such as EFS to S3. The notes list its three traits: an agent is installed on premises, it uses its own fast transfer protocol, and it can be scheduled (for example every night at 12).
It is the removal company of AWS storage: it packs, moves, checks and leaves. It never becomes the place where your applications read or write.
#The building blocks
| Part | What it is |
|---|---|
| Agent | A virtual machine you deploy close to the source storage: on VMware, Microsoft Hyper-V or Linux KVM, or an EC2 instance (for example to read another cloud’s storage). It mounts the storage over NFS, SMB or HDFS, or calls its object API. It is not software on the file server itself. |
| Location | One end of a transfer: an NFS or SMB share, an HDFS cluster, an object store, Azure Blob, an S3 bucket (and prefix), an EFS file system, an FSx file system. |
| Task | Source location + destination location + options (what to copy, how to verify, bandwidth, schedule). Up to 100 tasks per account and Region by default. |
| Task execution | One run of a task, with its own status, counters and report. |
Where data can go, the slides’ list made precise:
- Agent needed: on-premises or other-cloud storage (NFS, SMB, HDFS, self-managed object storage with an S3 API, Google Cloud Storage, Azure Files) to or from AWS.
- No agent: between AWS storage services (S3, EFS, FSx), including across accounts and Regions, and between S3 and object storage in other clouds in Enhanced mode.
- Destinations in AWS: S3 in any storage class, including Glacier Instant Retrieval, Flexible Retrieval and Deep Archive; EFS; FSx for Windows File Server, Lustre, NetApp ONTAP and OpenZFS.
Activation and network. You deploy the agent, open its port 80 once from your browser to get an activation key (or fetch it from the local console), and activate it in your Region. After that the agent only makes outbound HTTPS (port 443) connections, so no inbound firewall rule is needed. Its service endpoint can be public, FIPS, or a VPC endpoint (AWS PrivateLink), which keeps the transfer on your VPN or Direct Connect and off the internet (lesson 10.10). Data is encrypted in transit with TLS 1.3.
#What happens in one run
A task execution moves through these statuses:
| Status | What happens |
|---|---|
| Queued | Another execution of the same task is running; up to 50 can wait |
| Launching | DataSync starts the transfer on the agent |
| Preparing | Lists the source and the destination and compares them, to find what must be copied |
| Transferring | Reads in parallel, compresses on the wire, sends over TLS, writes with metadata |
| Verifying | Compares checksums of what was read with what was written |
| Success / Error | The end. A report and CloudWatch logs list what was copied, skipped or failed |
The first run copies everything; every later run copies only what is new or changed (this is incremental by default). So a migration is: one big run, then nightly runs that shrink to minutes, then a final run after a short freeze on cut-over day.
A DataSync task: a Windows file server moves to FSx
A garments group in Gazipur moves 30 TB of department shares from an old Windows file server to FSx for Windows File Server. One DataSync agent, one task, many runs.
Scenario
Launching, preparing, transferring, verifying: the first run moves everything.
Task execution
| Phase | Status |
|---|---|
| Launching | ▶ |
| Preparing | |
| Transferring | |
| Verifying |
The task is started. DataSync launches it on the agent, which mounts the share over SMB with a service account. Nothing is installed on the file server itself.
#Task options that matter
- What to copy. Transfer mode: only data that changed (default) or everything. Include and exclude filters (for example skip
*.tmp), or a manifest: an exact list of files to copy. - Deleted files. By default a file deleted at the source is kept at the destination. For a true mirror, set the option to remove it. For S3 classes with a minimum storage duration (Standard-IA, Glacier), overwrites and deletions can trigger early-deletion charges, so think before syncing a constantly changing folder into Glacier.
- Metadata. Preserves POSIX ownership, permissions and timestamps (NFS), NTFS ACLs and owners (SMB, FSx for Windows), and object tags and metadata for object storage. This is the slides’ “file permissions and metadata are preserved”.
- Verification. Verify only the transferred data, or the whole destination, or skip it. Use “only transferred data” when the destination is an archive class.
- Bandwidth. One task can use up to 10 Gbps with an agent (5 Gbps for agentless transfers). You can set a bandwidth limit, and change it while an execution is running.
- Schedule. Hourly, daily, weekly or a cron or rate expression (at most once an hour), and you can pause a schedule.
- Reports and logs. Task reports list every file transferred, skipped, verified or failed; CloudWatch Logs and EventBridge events let you alarm on failures.
#Basic mode and Enhanced mode
Since late 2024 a task has a task mode, chosen when the task is created:
| Basic mode | Enhanced mode | |
|---|---|---|
| How it works | Prepares, transfers and verifies one after another | Lists, prepares, transfers and verifies in parallel: faster for most workloads |
| Files per execution | 50 million (on premises or other cloud to AWS), 25 million between AWS services; split larger datasets with filters | Virtually unlimited |
| Locations | All DataSync locations, including FSx for Windows and ONTAP | S3, EFS, FSx for Lustre and OpenZFS, NFS, SMB and HDFS with an Enhanced mode agent, Azure Blob and other-cloud object storage (the list keeps growing) |
| Logs | Unstructured | Structured JSON, more counters |
| Price | $0.0125 per GB copied | $0.015 per GB plus $0.55 per task execution |
The agent itself costs nothing. You still pay normal S3 request and storage charges, and any data transfer out of the source (for example from another cloud).
#How long, and how much?
The same formula as in lesson 10.11: time = data in bits ÷ usable speed, with 1 TB = 8,000 gigabits.
Worked example, the garments group: 30 TB = 240,000 Gb. At 300 Mbps for 10 office hours and 800 Mbps (80% of 1 Gbps) for 14 night hours, a day moves 0.3 × 36,000 + 0.8 × 50,400 = 51,120 Gb, about 6.4 TB. So the first copy takes about 4.7 days. Nightly changes of 20 GB = 160 Gb take 200 seconds at 0.8 Gbps. Cost in Basic mode: (30,000 + 30 × 20) GB × $0.0125 = $382.50 for the first month.
Try your own numbers. When the first copy goes past a week or a month, the verdict changes:
DataSync job planner
Change the inputs and watch the first full copy, the nightly runs and the bill. Office hours are 10 hours a day; the other 14 hours run at full usable speed.
Link to AWS
First full copy
4.90days
Each nightly run
0.06hours
Moved per day: 6,120 GB
First month’s DataSync fee
Basic mode$383
Enhanced mode$476
Basic $0.0125 per GB; Enhanced $0.015 per GB plus $0.55 per execution (one full run and 30 nightly runs). S3 requests, storage and any transfer out of the source are extra.
The network is enough: the first copy finishes within a week, so DataSync alone does the job.
#DataSync and the Snow Family, then and now
Two links between DataSync and the Snow devices of lesson 12.1 are history: Snowcone shipped with a DataSync agent installed, and DataSync could copy from the S3-compatible storage on a Snowball Edge. DataSync stopped supporting Snow devices on 12 November 2024, when Snowcone was discontinued. Today the pattern is simply: Snowball Edge for the bulk (where you still can order it), DataSync over the network for the changes afterwards. Another 2025 retirement: DataSync Discovery, which analysed on-premises storage and recommended AWS targets, ended on 20 May 2025.
#DataSync or Storage Gateway?
The notes draw the line in one sentence: Storage Gateway is a continuous storage extension that works as part of your local storage; DataSync is a tool to copy or permanently migrate data from one place to another.
DataSync: copy, then step awayStorage Gateway: a permanent bridge
- Moves data from A to B, once or on a schedule; then it is not involved
- Applications switch to the new location after cut-over
- Source and destination can both be in AWS (EFS → S3), or another cloud
- Writes into any S3 class, including Glacier, and into EFS and FSx
- Verification, reports, bandwidth limits, schedules
- No local cache; nothing to mount
- Exam words: migrate, sync, scheduled, agent, one-time, decommission
- Sits in the data path for good: applications read and write through it every day
- Presents NFS or SMB (File Gateway), iSCSI volumes (Volume Gateway) or a tape library (Tape Gateway) on premises
- Only on premises ↔ AWS
- Local cache for low-latency access to recent data
- File Gateway writes Standard, IA or Intelligent-Tiering; a lifecycle rule moves data to Glacier
- Its health is your application’s health
- Exam words: hybrid, on-premises access, low latency, local cache, extend storage, tapes
They are often used together: DataSync moves ten years of history into a bucket, then the applications that keep producing files are pointed at a File Gateway share on the same bucket. After DataSync writes behind the gateway’s back, refresh the gateway’s cache so the share lists the new objects (lesson 12.3).
DataSync copies and leaves; Storage Gateway stays in the path
A Dhaka hospital has an old NAS with ten years of scans and a PACS application that writes new scans every minute. Watch which tool does which job.
Scenario
A removal company: it moves the archive and is gone after cut-over.
The agent reads ten years of scans from the NAS and copies them to S3, with verification. The PACS is not involved and does not even know.
Self-checkQuestion
A hospital must keep its imaging software writing to an on-premises NFS share, wants every file stored durably in S3, and also needs to move 180 TB of old images from a NAS that will be switched off. Which combination fits best?
#Choosing a transfer service
The five transfer services (and the network links under them) answer different questions. Ask them in this order:
- Do applications on premises need to keep using the data every day? Yes → Storage Gateway (File for NFS/SMB, Volume for iSCSI disks, Tape for backup software). It is the only one that stays in the path.
- Who sends the data? Outside companies or people using SFTP, FTPS, FTP or AS2 → Transfer Family. Individual users far from the bucket uploading over HTTPS → S3 Transfer Acceleration.
- Your own servers or storage, and the network is enough? Copy, migrate or sync, with schedules and verification → DataSync.
- The network would take weeks or months? → Snowball Edge (offline), then DataSync for the changes. Where Snow devices are not available to you: a bigger or temporary Direct Connect link, AWS Data Transfer Terminal (bring your drives to an AWS location), or a partner service.
| DataSync | Storage Gateway | Snowball Edge | Transfer Family | S3 Transfer Acceleration | |
|---|---|---|---|---|---|
| One line | Managed copy and sync over the network | On-premises interface to cloud storage | A storage device shipped by courier | Managed SFTP / FTPS / FTP / AS2 endpoint | Faster long-distance path into one bucket |
| Who uses it | Your IT team, for your storage | Your applications, every day | Your IT team, for a big batch | Partners, customers, devices | Users and apps far from the Region |
| Stays in the path | No | Yes | No | Yes, as the endpoint | Yes, per request |
| Online | Yes | Yes | No | Yes | Yes |
| Destinations | S3 (all classes), EFS, FSx, other clouds | S3 (and FSx File Gateway for existing customers) | S3 | S3, EFS | S3 |
| Price model | Per GB (+ per execution in Enhanced) | Per GB written, capped, + storage | Per job + days + shipping | Per protocol-hour + per GB | Extra per GB, only when faster |
| Exam words | migrate, sync, schedule, agent | hybrid, cache, NFS/SMB/iSCSI, tapes | weeks over the network, offline, petabytes | SFTP, FTP, FTPS, AS2, no servers | far away users, edge, one bucket |
Two neighbours that are not storage services but appear in the same questions: Site-to-Site VPN and Direct Connect (lesson 10.10) are the roads, not the trucks: DataSync and Storage Gateway run over them. AWS DMS moves databases and AWS Application Migration Service moves whole servers (both in chapter 23, moving large amounts of data and its neighbours).
Self-checkQuestion
A logistics company receives shipment files from 200 small transport firms. Each firm uses its own old desktop tool that only supports FTPS over the internet. The company wants the files in S3 and does not want to run servers. What should it use?
#The full storage map
#Three kinds of storage, plus the services that move data
Every storage service in this course is one of three kinds (lesson 5.4 introduced them):
- Block storage is a raw disk. One operating system formats it with a file system and owns it: EBS, instance store, and the iSCSI volumes of Volume Gateway and FSx for NetApp ONTAP.
- File storage is a shared tree of folders reached over a network protocol (NFS, SMB, Lustre): EFS and the four FSx file systems.
- Object storage is a flat bucket of whole objects reached over an HTTPS API: S3 and its Glacier classes.
Around them sit the hybrid and transfer services that connect your building to AWS: Storage Gateway, Transfer Family, DataSync and Snowball. And when the data must be searched, indexed and updated by field, the answer is not storage at all but a database.
#All of it in one table
The notes’ comparison table and the slides’ storage summary, completed with everything chapters 5, 10 and 12 taught:
| Service | Type | Accessed by / protocol | Scope | Best for | Exam words |
|---|---|---|---|---|---|
| S3 | Object | HTTPS API, from anywhere | Region (3+ AZs) | Images, video, static websites, backups, data lakes | store files, images, backups cheaply; unlimited; 11 nines |
| S3 Glacier classes | Object archive | Same S3 API; Flexible and Deep Archive need a restore | Region | Archives: Instant (ms), Flexible (minutes to hours), Deep Archive (12–48 h, cheapest) | archive, compliance, rarely accessed, years |
| EBS | Block, network-attached | One EC2 instance (io1/io2 Multi-Attach: up to 16 in one AZ) | One AZ | Boot volumes, self-managed databases | persistent disk, IOPS, snapshot |
| Instance store | Block, physical | The one host the instance runs on | That host | Cache, buffers, scratch, replicated data | highest IOPS, ephemeral, lost on stop |
| EFS | File (NFS) | Thousands of Linux clients, POSIX | Region (or One Zone) | Shared Linux files, WordPress, containers | shared, Linux, multi-AZ, elastic |
| FSx for Windows File Server | File (SMB) | Windows (and Linux) clients, NTFS, Active Directory | Single- or Multi-AZ | Windows shares, IIS, SQL Server, home folders | Windows, SMB, AD, DFS |
| FSx for Lustre | File (Lustre) | Hundreds of Linux compute nodes | One AZ | HPC, ML training, rendering, processing S3 data | HPC, high throughput, S3 integration |
| FSx for NetApp ONTAP | File and block | NFS, SMB and iSCSI at once; Linux, Windows, macOS | Single- or Multi-AZ | Moving NetApp or mixed-protocol NAS, snapshots, clones | NetApp, multi-protocol, broad OS compatibility |
| FSx for OpenZFS | File (NFS) | Linux and other NFS clients | Single- or Multi-AZ | Moving ZFS servers, very low latency, clones | ZFS, NFS, snapshots, low latency |
| Storage Gateway | Hybrid bridge | NFS/SMB (S3 File), iSCSI (Volume cached or stored), virtual tapes (Tape) on premises | Your site + a Region | On-premises apps that keep a local interface to S3 | hybrid, cache, extend storage, tapes |
| Transfer Family | Managed endpoint | SFTP, FTPS, FTP, AS2, browser | Region (up to 3 AZs) | Partner and business-to-business file exchange into S3 or EFS | SFTP, FTP, no servers |
| DataSync | Copy service | Agent reads NFS, SMB, HDFS, object storage; AWS to AWS agentless | Region | Migration, scheduled sync, AWS-to-AWS copies | migrate, sync, schedule, agent |
| Snowball Edge | Offline device | Local copy over NFS or the S3-compatible endpoint | Your site → a Region | Terabytes to petabytes when the network is too slow; edge compute | offline, weeks over the network, petabytes |
| Databases | Not storage | SQL or key lookups | Depends | Indexed queries and transactions | query, index, transaction |
For databases the course has its own chapters: RDS and Aurora in chapter 7, DynamoDB in chapter 15, and how to choose a database in chapter 16. The slides end their storage summary the same way: databases are for specific workloads, usually with indexing and querying.
Walk your own scenarios through the questions:
The storage map: which service fits?
Pick a scenario and guess among every storage and transfer service of the course. Then walk the questions that lead to the answer, and read why the runner-up loses.
1. Choose a scenario(Right first time: 0/16)
A Dhaka hospital must keep 400 TB of old scans for ten years by law. They are almost never opened, and when a court asks for one, two days is acceptable.
2. Your answer
#What goes wrong
| Symptom | Likely cause | Fix |
|---|---|---|
| Partner gets “Permission denied (publickey)” after rebuilding their server | New SSH key not registered | Add the new public key to the user (service managed) or to your identity store |
| Login works, upload fails with access denied | The user’s IAM role or session policy lacks s3:PutObject on that prefix | Fix the role policy; test with aws transfer test-identity-provider |
| Clients warn “host key changed” after migrating to Transfer Family | The server generated a new host key | Import the old server’s host key into the Transfer Family server |
| FTPS or FTP cannot be enabled on the server | Public endpoint type (SFTP only); FTP needs an internal VPC endpoint | Change to a VPC endpoint (internet-facing for FTPS, internal for FTP) |
| FTPS connects but directory listings hang | Security group or firewall lacks the passive data ports 8192–8200 | Open 8192–8200 along with 21 |
| The Transfer Family bill is high in a month with almost no files | Every enabled protocol costs $0.30 per hour, idle or not | Delete test servers, disable unused protocols, share one server |
| A DataSync agent shows Offline | The agent cannot reach AWS on port 443 (firewall, proxy, DNS), or its VM was stopped | Restore outbound 443 (and the VPC endpoint ports if used); alarm on failed executions |
| A task fails in Preparing on a huge file share | Basic mode’s 50 million files per execution | Split with include filters into several tasks, or use Enhanced mode where supported |
| The office network crawls during the migration | The task is using the whole link (up to 10 Gbps) | Set a bandwidth limit for office hours; run at full speed at night |
| Files deleted at the source are still in the destination | The default keeps deleted files | Set the task to remove deleted files if you want a mirror |
| Verification reports mismatches | Files changed while they were being copied | Re-run after users stop writing; freeze writes before the final run |
| Unexpected S3 charges after syncing into Standard-IA or Glacier | Overwrites and deletions inside the minimum storage duration | Sync into Standard and let a lifecycle rule archive, or sync less often |
| A File Gateway share does not show files copied by DataSync | The gateway’s cache does not know about objects written behind its back | Refresh the cache (manually, on a schedule or automatically) |
| “Copy 2 PB over our 200 Mbps line with DataSync” | No tool beats the link: about three years | Offline transfer or a much bigger link; DataSync for the changes afterwards |
#Transfer Family and DataSync in system design
- Partner ingestion pipeline. Transfer Family (internet-facing VPC endpoint, Elastic IPs, custom identity provider) → S3 with a prefix per partner → managed workflow (decrypt, scan, tag) → EventBridge or S3 events start processing (lesson 10.7) → lifecycle to Glacier. Partners change nothing; you run no servers.
- High availability. A Transfer Family server already spans up to three AZs. For Regional failover, run a second server in another Region with replicated buckets and switch with Route 53 health checks. Global Accelerator in front of Transfer Family can improve long-distance throughput (chapter 11).
- Private file exchange. Internal VPC endpoint reached over Direct Connect or VPN for your own branches, including legacy FTP devices.
- Migration in phases. Discovery and planning, then DataSync for the bulk (or Snowball Edge if the network would take weeks), nightly incremental runs, a write freeze, the final run and the verification report, then cut-over and decommissioning. Use a VPC endpoint for DataSync so the copy never crosses the internet.
- Copies between AWS services. DataSync without an agent: EFS → S3 for a cheaper second copy, S3 → EFS for an application that needs files, FSx → FSx in another Region, or another account.
- Hybrid for good. When the applications stay on premises, Storage Gateway, not DataSync; DataSync may still do the first big copy.
- Pick the storage last. Decide first how the data is accessed (block, file, object, query), by whom (one host, many, the whole internet), with which protocol, and for how long. The table above then gives one answer.
#Try it yourself
Transfer Family: an internet-facing SFTP server in a VPC, a service-managed user with a logical home directory, then an upload.
# 1. Create the server: SFTP on a VPC endpoint, CloudWatch logging
aws transfer create-server --protocols SFTP --identity-provider-type SERVICE_MANAGED \
--endpoint-type VPC \
--endpoint-details VpcId=vpc-0a1b2c3d4example,SubnetIds=subnet-0aa11example,SecurityGroupIds=sg-0cc33example \
--logging-role arn:aws:iam::111122223333:role/AWSTransferLoggingAccess
# { "ServerId": "s-01234567890abcdef" }
# Make it internet-facing: Elastic IPs are attached with update-server, while it is stopped
aws transfer stop-server --server-id s-01234567890abcdef
aws transfer update-server --server-id s-01234567890abcdef \
--endpoint-details VpcId=vpc-0a1b2c3d4example,SubnetIds=subnet-0aa11example,AddressAllocationIds=eipalloc-0bb22example
aws transfer start-server --server-id s-01234567890abcdef
# 2. Add a partner: role, logical home directory (chroot to their prefix), SSH public key
aws transfer create-user --server-id s-01234567890abcdef --user-name acme \
--role arn:aws:iam::111122223333:role/TransferPartnerS3 \
--home-directory-type LOGICAL \
--home-directory-mappings '[{"Entry":"/","Target":"/payroll-example/inbound/acme"}]' \
--ssh-public-key-body "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIExampleKey acme@example.com"
# 3. Check that the identity setup returns what you expect
aws transfer test-identity-provider --server-id s-01234567890abcdef --user-name acme \
--server-protocol SFTP --source-ip 203.0.113.10
# { "StatusCode": 200, "Message": "", "Url": "..." }
# 4. As the partner: connect and upload, then see the object
sftp -i acme_key acme@198.51.100.20
# sftp> put salary-oct.csv
aws s3 ls s3://payroll-example/inbound/acme/
# 2026-10-26 09:14:02 184213 salary-oct.csv
DataSync: an agent, an SMB source, an FSx for Windows destination, a nightly task with a bandwidth limit, one run.
# 1. Activate the agent VM (activation key from the agent's local console)
aws datasync create-agent --agent-name head-office-agent --activation-key ABCDE-12345-FGHIJ-67890-KLMNO
# { "AgentArn": "arn:aws:datasync:ap-south-1:111122223333:agent/agent-0b0addbeef44baca3" }
# 2. Source: the old Windows file server over SMB
aws datasync create-location-smb --server-hostname 10.20.1.40 --subdirectory /shares \
--user svc-datasync --domain CORP --password '<from your vault>' \
--agent-arns arn:aws:datasync:ap-south-1:111122223333:agent/agent-0b0addbeef44baca3
# 3. Destination: FSx for Windows File Server
aws datasync create-location-fsx-windows \
--fsx-filesystem-arn arn:aws:fsx:ap-south-1:111122223333:file-system/fs-0123456789example \
--security-group-arns arn:aws:ec2:ap-south-1:111122223333:security-group/sg-0dd44example \
--user svc-datasync --domain CORP --password '<from your vault>'
# 4. The task: changed files only, copy NTFS permissions, verify, 300 Mbps cap, every night at 1 AM
aws datasync create-task --name shares-to-fsx --task-mode BASIC \
--source-location-arn <smb-location-arn> --destination-location-arn <fsx-location-arn> \
--options TransferMode=CHANGED,VerifyMode=ONLY_FILES_TRANSFERRED,SecurityDescriptorCopyFlags=OWNER_DACL,BytesPerSecond=37500000,LogLevel=TRANSFER \
--schedule ScheduleExpression="cron(0 1 * * ? *)"
# 5. Run it now and watch the phases
aws datasync start-task-execution --task-arn <task-arn>
aws datasync describe-task-execution --task-execution-arn <execution-arn>
# "Status": "TRANSFERRING", "FilesTransferred": 1204533, "BytesTransferred": 8812004376011,
# "BytesCompressed": 7105227001338, "EstimatedFilesToTransfer": 4100000
# 6. Lift the cap for the night without stopping the execution
aws datasync update-task-execution --task-execution-arn <execution-arn> --options BytesPerSecond=-1
BytesPerSecond=37500000 is 300 Mbps and -1 means no limit. Delete test Transfer Family servers when you are done: they bill every hour.
#Summary
Key takeaways
- Transfer Family is a fully managed SFTP, FTPS, FTP and AS2 endpoint (plus browser web apps) in front of S3 or EFS. Exam: SFTP/FTP/FTPS + “without managing servers”.
- A session: hostname (your own name through Route 53, imported host key) → identity provider → IAM role + session policy + logical home directory → objects written straight into S3 → managed workflow (copy, tag, delete, PGP decrypt, Lambda; exception handler).
- Endpoint types: public = SFTP only, changing IPs, no security group; VPC internet-facing = SFTP, FTPS, AS2 with Elastic IPs and security groups; VPC internal = all four, and the only place plain FTP is allowed.
- Identity: service managed (SSH keys), AWS Directory Service (Microsoft AD), or a custom identity provider through Lambda or API Gateway (LDAP, Okta, Cognito…).
- Price: $0.30 per hour per enabled protocol, plus $0.04 per GB; idle servers still cost about $216 a month per protocol.
- DataSync copies large data over the network, once or scheduled (hourly, daily, weekly): agent (a VM near the source, outbound 443 only) for on-premises and other clouds, no agent between AWS services. Destinations: S3 in any class including Glacier, EFS, all four FSx.
- A run: queued → launching → preparing → transferring (TLS, compressed, metadata preserved) → verifying. Incremental by default, up to 10 Gbps per task, bandwidth limits, filters, manifests, reports.
- Basic mode: $0.0125 per GB, 50 million files per run; Enhanced mode: parallel, virtually unlimited files, $0.015 per GB + $0.55 per run.
- DataSync copies and leaves; Storage Gateway stays in the path as a local NFS, SMB, iSCSI or tape interface with a cache. Often both: DataSync for the past, a gateway for the future.
- Choosing: apps keep using it on site → Storage Gateway; outsiders with file protocols → Transfer Family; far users uploading → Transfer Acceleration; own storage over the network → DataSync; weeks over the network → Snowball Edge.
- The map: block (EBS, instance store), file (EFS, FSx for Windows, Lustre, NetApp ONTAP, OpenZFS), object (S3, Glacier classes), hybrid and transfer (Storage Gateway, Transfer Family, DataSync, Snowball), and databases when you need to query.
Answer on your own first, then read the explanation, even when you got it right.
Self-checkQuestion
What does AWS Transfer Family provide?
Self-checkQuestion
Which two protocols can be enabled on a Transfer Family server with a VPC endpoint that is internet-facing?
Choose 2
Self-checkQuestion
A partner’s firewall team will only open outbound connections to fixed IP addresses, and the bank wants to accept SFTP only from that partner’s address range. Which Transfer Family setup meets both needs?
Self-checkQuestion
Old barcode scanners in a company’s warehouses can only use plain FTP. The company wants them to deliver files to S3 through Transfer Family. What must the design include?
Self-checkQuestion
A bank wants partners to authenticate against its existing Okta directory when they connect over SFTP. Which identity provider type should the Transfer Family server use?
Self-checkQuestion
After a partner logs in, what decides which S3 actions their session may perform?
Self-checkQuestion
Forty partners upload to one bucket, and none of them may see the bucket name or another partner’s files. What is the simplest way to do this in Transfer Family?
Self-checkQuestion
Uploaded files must be decrypted with the bank’s PGP key and scanned for malware before anyone uses them, and a file that fails must be set aside. Which Transfer Family feature fits?
Self-checkQuestion
A server has SFTP and FTPS enabled on one endpoint and transfers 1,000 GB in a 30-day month (720 hours). Roughly what is the Transfer Family charge at $0.30 per protocol-hour and $0.04 per GB?
Self-checkQuestion
Which two statements about DataSync agents are true?
Choose 2
Self-checkQuestion
A company copies 30 TB over a 1 Gbps line that DataSync may use at 80%, around the clock. Roughly how long does the first full copy take?
Self-checkQuestion
During a DataSync migration, the IT team finds that files deleted on the old server still exist in the destination bucket. Why?
Self-checkQuestion
A Basic mode DataSync task from an on-premises file server fails during preparing because the share has 80 million files. What are the two best fixes?
Choose 2
Self-checkQuestion
A DataSync task saturates the head office’s 1 Gbps line during working hours. What is the right fix?
Self-checkQuestion
Verification at the end of a DataSync run reports a handful of mismatched files on a busy share. What most likely happened, and what should the team do?
Self-checkQuestion
Which destinations can DataSync write to directly? Choose two.
Choose 2
Self-checkQuestion
Which statement about DataSync and Snow devices is correct today?
Self-checkQuestion
An architect must give an on-premises application low-latency NFS access to data that is stored in S3, permanently. A colleague proposes a nightly DataSync task instead. Why is that wrong?
Self-checkQuestion
A company wants a nightly copy of an EFS file system into an S3 bucket in another Region, without running any servers. What should it use?
Self-checkQuestion
A media company has 600 TB at a site with a 1 Gbps internet link that it can use at 80%, and wants it in S3 within a month. Which approach does the exam expect?
Self-checkQuestion
Which two requirements point to DataSync rather than Storage Gateway?
Choose 2
Self-checkQuestion
A Linux web application runs on 12 EC2 instances across three Availability Zones, and all of them must read and write the same files. Which storage should be used?
Self-checkQuestion
A video rendering job needs the highest possible IOPS for temporary files that can be recreated if lost. Which storage fits?
Self-checkQuestion
A company runs NetApp storage that serves NFS to Linux hosts, SMB to Windows hosts and iSCSI to a database, and wants the same features in AWS. Which service fits best?
Self-checkQuestion
Which of these is NOT a reason to choose a database instead of S3?
Self-checkQuestion
Archives must be kept for ten years at the lowest cost, and retrieval within 48 hours is acceptable. Which two choices are right?
Choose 2
Self-checkQuestion
Which statement about the storage summary in older course material is outdated?
Self-checkQuestion
A logistics company must receive purchase orders from a European retailer that requires AS2 with signed delivery receipts, and store them in S3. What should it use?
Self-checkQuestion
Which pair is matched correctly?
Self-checkQuestion
In one month a DataSync task copies 10,000 GB once, then runs 30 nightly executions of 50 GB each. Roughly how much more does Enhanced mode cost than Basic mode for that month?