This script builds an AWS Transfer Family server that is backed by an S3 bucket:
* Communicates via SFTP (ftp, ftps are disabled)
* Users access the SFTP server via SSH keys
* Provides readonly and write users
* Users are locked to their home directory and sub-directories
* SFTP activity logged to Cloudwatch
* Backs up the SFTP server S3 bucket to another bucket
Name | Version |
---|---|
terraform | ~> 1.0.0 |
aws | ~> 3.52.0 |
Name | Version |
---|---|
aws | 3.52.0 |
Name | Description | Type | Default | Required |
---|---|---|---|---|
aws_region | AWS region to install the Transfer Server (SFTP server) into | any |
n/a | yes |
aws_vpc_id | The VPC id of the VPC to install Transfer Server into | any |
n/a | yes |
transfer_endpoint_type | PUBLIC or VPC . Defaults to PUBLIC . |
any |
PUBLIC |
no |
transfer_server_name | The name to be given the the Transfer Server | any |
n/a | yes |
transfer_server_s3_bucket_name | The name of the S3 bucket supplying storage to the Transfer Server | any |
n/a | yes |
transfer_server_write_users | A list of users with write access in the format listed below | any |
[] |
yes |
transfer_server_readonly_users | A list of users with readonly access in the format listed below | any |
[] |
yes |
transfer_server_write_users = [
{
user_name = "example1-user"
ssh_key = "<public SSH key for example1-user>"
home_directory = "<home directory for example-1 user>"
},
{
user_name = "example2-user"
ssh_key = "<public SSH key for example2-user>"
home_directory = "<home directory for example-2 user>"
}
]
transfer_server_readonly_users = [
{
user_name = "example1-readonly-user"
ssh_key = "<public SSH key for example1-readonly-user>"
home_directory = "<home directory for example-readonly-1 user>"
},
{
user_name = "example2-readonly-user"
ssh_key = "<public SSH key for example2-readonly-user>"
home_directory = "<home directory for example-readonly-2 user>"
}
]
Name | Description |
---|---|
transfer_server_arn | The Amazon Resource Name (ARN) of the transfer server |
transfer_server_id | The Terraform id of the transfer server resource |
transfer_server_endpoint | The endpoint (URI) of the transfer server |