Server
The Server resource lets you create and manage AWS Transfer Servers for securely transferring files over SFTP, FTPS, and FTP.
Minimal Example
Section titled “Minimal Example”Create a basic AWS Transfer Server with default settings and a logging role.
import AWS from "alchemy/aws/control";
const transferServer = await AWS.Transfer.Server("myTransferServer", { LoggingRole: "arn:aws:iam::123456789012:role/MyLoggingRole", Protocols: ["SFTP"], Domain: "S3", EndpointType: "PUBLIC", Tags: [ { Key: "Project", Value: "File Transfer" }, { Key: "Environment", Value: "Production" } ]});
Advanced Configuration
Section titled “Advanced Configuration”Configure an AWS Transfer Server with additional settings such as custom endpoint details and a structured log destination.
const advancedTransferServer = await AWS.Transfer.Server("advancedTransferServer", { LoggingRole: "arn:aws:iam::123456789012:role/MyLoggingRole", Protocols: ["SFTP", "FTPS"], IdentityProviderType: "SERVICE_MANAGED", EndpointDetails: { VpcId: "vpc-0abcd1234efgh5678", SubnetIds: ["subnet-0abc1234def567890"], SecurityGroupIds: ["sg-0abcd1234efgh5678"] }, StructuredLogDestinations: ["arn:aws:logs:us-west-2:123456789012:log-group:MyLogGroup"], SecurityPolicyName: "TransferSecurityPolicy", Tags: [ { Key: "Project", Value: "Advanced File Transfer" }, { Key: "Compliance", Value: "GDPR" } ]});
Custom Authentication Banner
Section titled “Custom Authentication Banner”Set up an AWS Transfer Server with pre-authentication and post-authentication login banners.
const bannerTransferServer = await AWS.Transfer.Server("bannerTransferServer", { LoggingRole: "arn:aws:iam::123456789012:role/MyLoggingRole", Protocols: ["SFTP"], Domain: "S3", PreAuthenticationLoginBanner: "Welcome to the secure file transfer service!", PostAuthenticationLoginBanner: "You have successfully logged in."});
S3 Storage Options
Section titled “S3 Storage Options”Configure an AWS Transfer Server with S3 storage options for file storage.
const s3StorageTransferServer = await AWS.Transfer.Server("s3StorageTransferServer", { LoggingRole: "arn:aws:iam::123456789012:role/MyLoggingRole", Protocols: ["SFTP"], Domain: "S3", S3StorageOptions: { BucketName: "my-transfer-bucket", ObjectKey: "uploads/" }, Tags: [ { Key: "Project", Value: "S3 File Transfer" }, { Key: "Environment", Value: "Staging" } ]});