terraform-aws-sftp
This module aims to create a SFTP server with an identity provider based on:
- API Gateway
- Lambda
- AWS Secrets
This module will show the DNS and EndPoint that will allow us to connect to SFTP.
Credential Store
The credentials can be stored as AWS Secrets.
The infrastructure code is based on the example provided (in the CF template) in the AWS Storage Blog article https://aws.amazon.com/blogs/storage/enable-password-authentication-for-aws-transfer-family-using-aws-secrets-manager-updated//.
TO DO
The following resources will be created.
- IAM Roles for:
- SFTP
- Api Gateway
- Lambda
- Transfer Family Server
- Api Gateway
- Lambda
- Route53
Inputs
Name | Description | Type | Default | Required |
---|---|---|---|---|
sftp_name | SFTP DNS Name | string |
"sftp" |
yes |
stage | The deployment stage | string |
"dev" |
yes |
zone_name | Zona Name | string |
"" |
yes |
tags | Tags for resources | map(string) |
{} |
no |
Outputs
Name | Description |
---|---|
endpoint | SFTP EndPoint url |
sft_dns | SFTP DNS |
Usage
module "sftp"{
source = "https://github.com/andresb39/terraform-aws-sftp.git?ref=v0.0.1"
zone_name = "example.com"
# optional
stage = "prod"
tags = {
owner = "DevOps"
managered = "terraform"
}
}
Examples
- Complete: With this example we are going to create a SFTP server with Identity Provider + S3 bucket + Credentials in AWS Secret Manage