Course outline

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.

ProtocolWhat it isTypical user
SFTPFile transfer over SSH (port 22). Encrypted, key or password loginMost partners and scripts today
FTPSClassic FTP wrapped in TLS. Encrypted; needs a certificate (from ACM) on the serverOlder Windows tools, some banks
FTPThe original protocol. Not encrypted: password and data travel in clear textOld scanners, embedded devices, inside private networks only
AS2Business-to-business messages over HTTP(S), signed and encrypted, with signed delivery receiptsSupply chains, retail, payments, ERP and CRM integrations
Web appsA 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).

  1. The client connects to the server’s hostname: either the AWS name s-1234abcd.server.transfer.ap-southeast-1.amazonaws.com or your own name, such as sftp.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.
  2. The server asks the identity provider whether the username and the key or password are valid.
  3. The answer includes the user’s IAM role, an optional session policy and the home directory.
  4. 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.
  5. Uploads are written straight into S3 as objects (or into EFS as files). There is no server disk between the client and the storage.
  6. 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.

ap-southeast-1
PartnerSFTP client
SFTP endpoint
IAM roleper user
Identity providercustom IdP
S3 bucketpayroll-example
Workflowafter upload
SSH, port 22
Step 1 of 6
1

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 typeReachable fromProtocolsFixed IPs and firewall
PublicThe internetSFTP onlyNo: AWS-owned addresses that may change; no security group
VPC, internet-facingThe internet and your VPCSFTP, FTPS, AS2Elastic IP per subnet (up to three AZs); security groups filter source addresses
VPC, internalOnly the VPC and networks connected to it (VPN, Direct Connect, peering)SFTP, FTP, FTPS, AS2Private 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; use VPC.)

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.

ap-south-1
VPC
Supplierinternet
Warehouseown site
VPN
Internet-facingElastic IPs198.51.100.20
Internalprivate IPs
S3orders-example
Step 1 of 3
1

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 providerHow users authenticateUse it when
Service managedUsers and their SSH public keys are stored in Transfer Family itself (SFTP)A few dozen partners with keys; simplest setup
AWS Directory ServiceUsernames 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 providerTransfer Family calls your Lambda function (directly or through API Gateway), which checks the user anywhere and returns the role, home directory and policyLDAP, 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 really payroll-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 messagesFrom $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

PartWhat it is
AgentA 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.
LocationOne 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.
TaskSource location + destination location + options (what to copy, how to verify, bandwidth, schedule). Up to 100 tasks per account and Region by default.
Task executionOne 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:

StatusWhat happens
QueuedAnother execution of the same task is running; up to 50 can wait
LaunchingDataSync starts the transfer on the agent
PreparingLists the source and the destination and compares them, to find what must be copied
TransferringReads in parallel, compresses on the wire, sends over TLS, writes with metadata
VerifyingCompares checksums of what was read with what was written
Success / ErrorThe 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.

Head office
ap-south-1
File serverSMB
DataSync agentVM
DataSync
FSx for Windows
mount SMB

Task execution

PhaseStatus
Launching▶
Preparing
Transferring
Verifying
Step 1 of 4
1

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 modeEnhanced mode
How it worksPrepares, transfers and verifies one after anotherLists, prepares, transfers and verifies in parallel: faster for most workloads
Files per execution50 million (on premises or other cloud to AWS), 25 million between AWS services; split larger datasets with filtersVirtually unlimited
LocationsAll DataSync locations, including FSx for Windows and ONTAPS3, 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)
LogsUnstructuredStructured 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.

Hospital
ap-southeast-1
PACS appNFS
Old NAS180 TB
DataSync agent
S3scans-example
readbulk copy
Step 1 of 3
1

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:

  1. 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.
  2. 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.
  3. Your own servers or storage, and the network is enough? Copy, migrate or sync, with schedules and verification → DataSync.
  4. 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.
DataSyncStorage GatewaySnowball EdgeTransfer FamilyS3 Transfer Acceleration
One lineManaged copy and sync over the networkOn-premises interface to cloud storageA storage device shipped by courierManaged SFTP / FTPS / FTP / AS2 endpointFaster long-distance path into one bucket
Who uses itYour IT team, for your storageYour applications, every dayYour IT team, for a big batchPartners, customers, devicesUsers and apps far from the Region
Stays in the pathNoYesNoYes, as the endpointYes, per request
OnlineYesYesNoYesYes
DestinationsS3 (all classes), EFS, FSx, other cloudsS3 (and FSx File Gateway for existing customers)S3S3, EFSS3
Price modelPer GB (+ per execution in Enhanced)Per GB written, capped, + storagePer job + days + shippingPer protocol-hour + per GBExtra per GB, only when faster
Exam wordsmigrate, sync, schedule, agenthybrid, cache, NFS/SMB/iSCSI, tapesweeks over the network, offline, petabytesSFTP, FTP, FTPS, AS2, no serversfar 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:

ServiceTypeAccessed by / protocolScopeBest forExam words
S3ObjectHTTPS API, from anywhereRegion (3+ AZs)Images, video, static websites, backups, data lakesstore files, images, backups cheaply; unlimited; 11 nines
S3 Glacier classesObject archiveSame S3 API; Flexible and Deep Archive need a restoreRegionArchives: Instant (ms), Flexible (minutes to hours), Deep Archive (12–48 h, cheapest)archive, compliance, rarely accessed, years
EBSBlock, network-attachedOne EC2 instance (io1/io2 Multi-Attach: up to 16 in one AZ)One AZBoot volumes, self-managed databasespersistent disk, IOPS, snapshot
Instance storeBlock, physicalThe one host the instance runs onThat hostCache, buffers, scratch, replicated datahighest IOPS, ephemeral, lost on stop
EFSFile (NFS)Thousands of Linux clients, POSIXRegion (or One Zone)Shared Linux files, WordPress, containersshared, Linux, multi-AZ, elastic
FSx for Windows File ServerFile (SMB)Windows (and Linux) clients, NTFS, Active DirectorySingle- or Multi-AZWindows shares, IIS, SQL Server, home foldersWindows, SMB, AD, DFS
FSx for LustreFile (Lustre)Hundreds of Linux compute nodesOne AZHPC, ML training, rendering, processing S3 dataHPC, high throughput, S3 integration
FSx for NetApp ONTAPFile and blockNFS, SMB and iSCSI at once; Linux, Windows, macOSSingle- or Multi-AZMoving NetApp or mixed-protocol NAS, snapshots, clonesNetApp, multi-protocol, broad OS compatibility
FSx for OpenZFSFile (NFS)Linux and other NFS clientsSingle- or Multi-AZMoving ZFS servers, very low latency, clonesZFS, NFS, snapshots, low latency
Storage GatewayHybrid bridgeNFS/SMB (S3 File), iSCSI (Volume cached or stored), virtual tapes (Tape) on premisesYour site + a RegionOn-premises apps that keep a local interface to S3hybrid, cache, extend storage, tapes
Transfer FamilyManaged endpointSFTP, FTPS, FTP, AS2, browserRegion (up to 3 AZs)Partner and business-to-business file exchange into S3 or EFSSFTP, FTP, no servers
DataSyncCopy serviceAgent reads NFS, SMB, HDFS, object storage; AWS to AWS agentlessRegionMigration, scheduled sync, AWS-to-AWS copiesmigrate, sync, schedule, agent
Snowball EdgeOffline deviceLocal copy over NFS or the S3-compatible endpointYour site → a RegionTerabytes to petabytes when the network is too slow; edge computeoffline, weeks over the network, petabytes
DatabasesNot storageSQL or key lookupsDependsIndexed queries and transactionsquery, 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

Block
File
Object
Hybrid and transfer
Not storage

#What goes wrong

SymptomLikely causeFix
Partner gets “Permission denied (publickey)” after rebuilding their serverNew SSH key not registeredAdd the new public key to the user (service managed) or to your identity store
Login works, upload fails with access deniedThe user’s IAM role or session policy lacks s3:PutObject on that prefixFix the role policy; test with aws transfer test-identity-provider
Clients warn “host key changed” after migrating to Transfer FamilyThe server generated a new host keyImport the old server’s host key into the Transfer Family server
FTPS or FTP cannot be enabled on the serverPublic endpoint type (SFTP only); FTP needs an internal VPC endpointChange to a VPC endpoint (internet-facing for FTPS, internal for FTP)
FTPS connects but directory listings hangSecurity group or firewall lacks the passive data ports 8192–8200Open 8192–8200 along with 21
The Transfer Family bill is high in a month with almost no filesEvery enabled protocol costs $0.30 per hour, idle or notDelete test servers, disable unused protocols, share one server
A DataSync agent shows OfflineThe agent cannot reach AWS on port 443 (firewall, proxy, DNS), or its VM was stoppedRestore outbound 443 (and the VPC endpoint ports if used); alarm on failed executions
A task fails in Preparing on a huge file shareBasic mode’s 50 million files per executionSplit with include filters into several tasks, or use Enhanced mode where supported
The office network crawls during the migrationThe 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 destinationThe default keeps deleted filesSet the task to remove deleted files if you want a mirror
Verification reports mismatchesFiles changed while they were being copiedRe-run after users stop writing; freeze writes before the final run
Unexpected S3 charges after syncing into Standard-IA or GlacierOverwrites and deletions inside the minimum storage durationSync into Standard and let a lifecycle rule archive, or sync less often
A File Gateway share does not show files copied by DataSyncThe gateway’s cache does not know about objects written behind its backRefresh 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 yearsOffline 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.