使用 AWS Transfer 系列定期将文件从 On-Prem 服务器拉到 S3

Regularly pull files from On-Prem server to S3 using AWS Transfer family

我正在尝试准备一个流程,我们可以使用 AWS Transfer 系列定期将第三方本地服务器中的可用新文件提取到我们的 S3。 我阅读了此文档 https://aws.amazon.com/blogs/storage/how-discover-financial-secures-file-transfers-with-aws-transfer-family/,但不清楚如何设置和配置流程。 有人可以分享任何关于使用 AWS Transfer Family 将文件从外部本地服务器提取到我们的 S3 的清晰文档或参考链接吗?

@Sampath,我认为您误解了 AWS Transfer 服务的可用功能。该服务实际上充当无服务器 SFTP,AWS S3 作为后端存储,您可以通过 SFTP 协议连接到它(现在支持 FTP 和 FTPS 作为出色地)。您可以通过 AWS Transfer 服务 PUSH 数据到 S3 或从 S3 PULL 数据。您不能仅通过 AWS Transfer 服务从其他任何地方 PULL 数据到 S3。

为此目的,您可能必须使用任何其他解决方案,例如 AWS EC2 上的 Python 脚本 运行ning。

另一种解决方案是将外部 third-party 服务器连接到 AWS Transfer Service,然后该服务器通过 AWS Transfer PUSHES S3 上的文件。

根据您的用例,我认为您需要一个连接到外部 third-party 服务器并将文件从它复制到 AWS S3 存储桶的简单解决方案。它也可以通过 Python 脚本完成,您可以 运行 在 AWS EC2、AWS ECS、AWS Lambda、AWS Batch 等上执行,具体取决于规范和要求。

我曾经使用过 AWS Transfer,因为我发现它非常昂贵并继续使用 AWS EC2。对于 AWS EC2,您甚至可以购买预留实例以进一步降低成本。如果任务只是将文件从外部服务器复制到 S3,并且复制作业不会超过 10 分钟,那么最好 运行 在 AWS Lambda 上完成。

简而言之,您不能使用 AWS Transfer 服务将数据从任何服务器拉入 S3。您只能使用 AWS Transfer 服务将数据推送到 S3 或从中提取数据。

参考了一些内容丰富的博客:

借助 AWS Transfer Family 服务,您可以创建使用 SFTP、FTPS 和 FTP 文件传输协议的服务器,并使用 Amazon S3 和 EFS作为域来存储和访问您的文件。

要将您的 on-premise 服务器连接到 Transfer Family 服务器,您需要使用文件 Gateway/Storage 网关等服务,并通过 HTTPS 连接到 S3 以同步您的文件。

您的架构将是这样的:

如果您想了解有关如何使用 AWS S3/Transfer 系列服务连接您的 on-premise 台服务器的更多详细信息,请查看此博客 post:使用 AWS Transfer Family 和 AWS Storage Gateway 集中数据访问