Amazon S3 is a robust object storage service that often serves as the central repository for business data like reports, processed files, and outbound deliverables. When a business partner or customer expects to receive those files over FTP or SFTP, you face a choice: use AWS Transfer Family's SFTP connectors with the StartFileTransfer API, or use a managed service that handles the entire workflow.
AWS Transfer Family can send files from S3 to remote SFTP servers, but it requires creating connectors, managing IAM roles, and triggering transfers programmatically through API calls. For organisations that need scheduled, repeatable deliveries to multiple partners, this approach requires development effort and ongoing maintenance. To compare the different approaches of Couchdrop and AWS Transfer Family for SFTP, see our AWS Transfer Family comparison.
In this tutorial, you will configure Couchdrop to connect to your Amazon S3 bucket and to a remote FTP or SFTP server.
We will also show the steps set up a Transfer Automation that will move files from the S3 bucket to the server on a defined schedule. When complete, you will have an automated workflow that delivers files from S3 to any FTP or SFTP endpoint your partners operate.
Prerequisites
To complete this tutorial, you will need:
- A Couchdrop account. If you don't have one yet, you can start a free trial with instant access for 14 days at couchdrop.io/register.
- An Amazon S3 bucket with files to transfer. You will need an AWS IAM Access Key, IAM Secret, and the AWS region for your bucket. The IAM role must have adequate access to the S3 and the targeted bucket.
- Credentials for the remote FTP or SFTP server you are sending files to: the hostname or IP address, port number, and a username & password (or, for SFTP, a private key if required by the remote server).
Step 1 — Connecting your Amazon S3 bucket
In this step, you will add your S3 bucket to Couchdrop as a storage connection. Once connected, the bucket appears as a folder in Couchdrop's virtual file system, which means you can reference it as an endpoint for any type of file transfer and use it in automations.
Log in to your Couchdrop account at my.couchdrop.io. Click + Create in the top navigation and select Connect to Storage from the dropdown menu.
From the list of available storage connections, locate Amazon S3 and click Continue. Couchdrop will display the S3 configuration form. Provide the following details:
- Name for this integration: A label for this connection in the Couchdrop interface, such as
Amazon S3. - Name for new Couchdrop folder: The name this bucket will appear as in Couchdrop's file system, such as
/s3-outbound/. - S3 Access Key: Your IAM Access Key ID.
- S3 Access Key Secret: Your IAM Secret Access Key.
- AWS Region: The region your S3 bucket is located in, for example
us-east-1.
Once you have entered these details, click Save and Test. Couchdrop will attempt to authenticate with AWS and list your bucket. If the connection succeeds, use the folder browser to select the specific subfolder within your bucket where your outbound files are stored, or select the bucket root. Click Add Integration to save the connection.
s3:GetObject, s3:ListBucket, and s3:DeleteObject (if you intend to move rather than copy files) permissions on the target bucket.
Your S3 bucket is now available as a folder in Couchdrop. In the next step, you will add the remote FTP or SFTP server as a destination.
Step 2 — Connecting the remote FTP or SFTP server
Couchdrop can connect to any external SFTP or FTP/FTPS server as a destination. Like your S3 bucket, the remote server will appear as a folder in Couchdrop once connected, making it available to use as an endpoint for transfers.
In Couchdrop, click + Create in the top navigation and select Connect to Partners/Providers, or navigate to the Connections tab and click + Add Connection.
For SFTP: Select SFTP Server from the list. Provide:
- Hostname or IP address: The address of the remote SFTP server, for example
sftp.<^>partner-domain.com<^>. - Port: Typically
22. If unsure, try this default first. - Username: The username provided by your partner for SFTP access.
- Password or Private Key: Enter the password, or upload a private key file if the remote server uses key-based authentication.
You can find out more about these SFTP elements in How to connect to an SFTP Server.
For FTP or FTPS: Select FTP Server from the list. Provide:
- Hostname or IP address: The address of the remote FTP server.
- Port: Typically
21. - Username: User name for the FTP user you will connect as.
- Password: The password for the associated username.
- Enable TLS: Check this if the server uses FTPs.
You can find out more about these FTP elements in How to connect to an FTP Server.
After entering the details, click Save and Test. If successful, you can now use the folder selector to choose the specific directory to act as the root (option). Click Add Integration.
You now have both S3 and the remote server connected in Couchdrop. In the next step, you will test and verify that the connection is working properly.
Step 3 — Testing and verifying the connection
Before relying on this connection, confirm that files are being delivered correctly. To do this, download a file from the S3 bucket. Then, navigate to the File Browser and place that file in the virtual folder that represents the SFTP server.
There are several ways to verify that the file was transferred. One is in Couchdrop itself. Click the Recent Activity tab. This shows the history of files that have been processed, including any failures denoted by a red colour. A green upload message indicates success, and you can confirm the test file appeared in the server as well.
To verify delivery on the remote server side, connect to the partner's FTP or SFTP server using a client such as FileZilla or Cyberduck. Navigate to the directory where you uploaded the file and confirm the file is present in the expected directory.
While this method works, it involves several steps. You need to download the files from S3, store them temporarily, then reupload them to Couchdrop. For a true move, you would then need to delete the files from S3 and/or temporary storage. It's functional, but slow.
A faster method and the method we recommend for regular transfers is by creating a transfer automation.
Step 4 — Creating a Transfer Automation (optional)
Transfer Automations in Couchdrop are scheduled workflows that poll a source location for files and move or copy them to a destination. Here you will learn how to configure one to run on a schedule that will read files from your S3 bucket and write them to the remote FTP or SFTP server.
Navigate to Automations in the Couchdrop sidebar and click + New Transfer Automation.
Workflows are saved automatically, and each change creates a new version. You can rollback to previous versions at anytime in the Versions tab.
Now you will build the automation.
Configure the trigger
The Trigger field determines how frequently the automation should run. You can choose between Manual and Scheduled. Scheduled options include Minutes (5 minutes minimum), Hourly, Daily, Weekly, or Monthly. You can also set secondary schedules.
For example, to run weekly at 6:00 AM and also on the first day of the month, select Weekly and set the time accordingly. Then, click Add Secondary Schedule and choose Monthly and set 1 as the time. This will enable the automation to run at multiple intervals.
For testing purposes, set the trigger to Manual or the schedule to Never. You can then trigger the automation manually at any time using the Run/Trigger Workflow button and add in the schedule once it is confirmed to be working.
Configure the source
Once you've chosen a schedule, you need to define where Couchdrop will look for files to transfer. To move all files from the bucket to the server, click Configure Source and select All Files in Folder. Use the folder picker to select the S3 folder you connected in Step 1, for example /s3-outbound/. This will process all files present in that folder when the automation runs.
If your S3 bucket has a nested structure and you want to include files in subfolders, select All Files in Folder and Subfolders instead.
Configure the destination
Click Configure Destination and use the folder picker to select the remote FTP or SFTP folder you connected in Step 2. This is the location on the partner's server where files will be delivered.
Select the transfer mode
Couchdrop provides multiple options for transferring files. Start by clicking the plus icon and then choose Actions to see the list of available actions.
You can choose to Copy files (leaving the originals in S3) or Move them (removing from S3 after successful transfer). For outbound partner delivery, Copy is common if you need to retain the files in S3 for audit or downstream purposes. Move is appropriate if you want to ensure files are transferred once and cleared from the source.
Once configured, click Save. To enable the schedule, toggle the Transfer Automation Enabled switch at the top of the builder. If you set the schedule to Never for testing, click Run/Trigger Workflow to test the automation manually before enabling it.
After confirming that it works, you can change the schedule, and files will automatically move from AWS S3 to a remote SFTP server.
Next Steps
In this tutorial, you learned multiple ways to move files from Amazon S3 to a remote SFTP server. You connected the source and destination and moved files manually.
You also learned how to configure an automated transfer workflow that moves files from Amazon S3 to a remote FTP or SFTP server on a schedule. With this method, your files will now be delivered to the remote server automatically at the schedule you defined. You can monitor execution history at any time from the View Executions tab, and adjust the schedule or source folder as your requirements change.
If you want to expand this workflow, consider the following next steps:
- If your partner requires PGP-encrypted files, check out our guide on How to automate SFTP file transfers with PGP encryption and decryption.
- To understand how Couchdrop represents connected storage and servers as folders, read about Virtual Folders in the documentation.
- For the full reference on Transfer Automation scheduling, sources, and actions, see the Transfer Automations documentation.
For more information about Couchdrop, including other methods for transferring files between storage platforms, see managed file transfer or email us with your use case at sales@couchdrop.io