【问题标题】:Regularly pull files from On-Prem server to S3 using AWS Transfer family使用 AWS Transfer 系列定期将文件从本地服务器拉取到 S3
【发布时间】:2022-02-11 18:28:40
【问题描述】:

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

【问题讨论】:

  • 你能详细说明你在哪里卡住了吗?有关已尝试的内容以及是否有任何错误的一些信息。
  • 我为 SFTP 服务器创建了一个 AWS Transfer,并将该服务器与我的 IAM 角色连接,该角色可以访问 S3 存储桶。我想了解如何连接我的 SFTP 服务器和外部服务器,以便我可以使用 AWS Transfer 系列将文件直接从外部服务器提取到我的 S3 存储桶。
  • 为了从外部服务器连接到 SFTP 服务器,您可以在外部服务器上使用简单的 SFTP 客户端,然后将其转储到您的 SFTP 服务器。检查此linuxize.com/post/…。如果您已正确配置 AWS 传输文件,那么这应该只是将数据文件从 SFTP 推送到 S3

标签: amazon-web-services file amazon-s3 file-transfer data-transfer


【解决方案1】:

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

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

另一种解决方案是将外部第三方服务器连接到 AWS Transfer Service,并且该服务器通过 AWS Transfer 在 S3 上 PUSHES 文件。

根据您的用例,我认为您需要一个简单的解决方案来连接到外部第三方服务器并将文件从该服务器复制到 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 或从 S3 拉取数据。

参考一些信息丰富的博客:

【讨论】:

  • 我已阅读此文档,此链接包含有关创建 cloudformation 模板和使用 Fargate 任务,然后使用 AWS 传输系列为用户提供 SFTP 访问的信息。我的用例不同 - 我想使用 AWS Transfer Family 从外部第三方服务器提取数据。谢谢。
  • @Sampath,我已经更新了我的答案,现在检查。
  • 您说 - “另一种解决方案是将外部第三方服务器连接到 AWS Transfer Service,然后该服务器通过 AWS Transfer 在 S3 上推送文件。”我可以知道如何将第三方服务器连接到我们的 AWS Transfer 服务器吗?
  • @Sampath 通过指定在外部第三方服务器上创建的公钥在 AWS Transfer Service 上创建用户。就像我们对 SSH 访问所做的那样。看到这个:docs.aws.amazon.com/transfer/latest/userguide/…
  • 感谢您的回答和澄清。这很有帮助。
【解决方案2】:

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

要将您的本地服务器与 Transfer Family 服务器连接,您需要使用文件网关/存储网关等服务并通过 HTTPS 连接到 S3 以同步您的文件。

您的架构将是这样的:

如果您想了解有关如何使用 AWS S3/Transfer Family 服务连接本地服务器的更多详细信息,请查看这篇博文:Centralize data access using AWS Transfer Family and AWS Storage Gateway

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    相关资源
    最近更新 更多