Go to the AWS Transfer Family console at https://console.aws.amazon.com/transfer/.
2. Create an SFTP on AWS server
Click the “Create server” button.
(You may need to click on the “Servers” tab in the left navigation pane.)
Enter a name for your server.
Select the protocol as “SFTP – SSH File Transfer Protocol”.
Choose the identity provider for user authentication. You can choose AWS Directory Service, an IAM role, or a custom identity provider (such as Microsoft Active Directory).
For the quickest, most straightforward approach, we’re building a standalone SFPT server so we will use the “Service managed” option.
We want this to be accessible online, so choose “Publicly accessible.” Later, you may create a friendly CNAME for the server endpoint hostname and update it to a custom hostname if necessary.
Chose the Storage to be S3.
Set logging settings.
Keep other Defaults and Click Next.
Review and click the “Create server” button at the bottom.
3. Create IAM Role for users
In the IAM management console, choose Roles, then Create Role.
Keep “AWS Service” as the “Trusted entity type.”
Choose “Transfer” as the Service or use case.
Click Next and Search for “S3” under Permission Policies.
Select AmazonS3FullAccess to allow Write and Read Access.
Later, you may want to make another role with just AmazonS3ReadOnlyAccess
Click Next
Name the Role
Note the Trust Policy allows the Transfer Service to assume the role to access S3.
Click Create role.
4. Create S3 Bucket:
Go to S3 in the console and create the bucket <<bucketname>>.
Create a folder for your SPTP content.
Optionally, Update S3 resource-based policy. Under the Permissions tab for the bucket, scroll down to “Bucket policy” and limit the bucket to the ARN of the Role you created. This is an extra layer of protection for the bucket.