amazon-web-services - 使用 S3 作为存储的 FTP 服务器

标签 amazon-web-services ftp amazon-s3 sftp ftp-server

我正在尝试创建一个 ftp 服务器(使用 windows/linux/mac - 不用担心),它将其存储作为 Amazon S3 存储。现在请注意,S3 本身不支持 FTP,因此这需要某种 hack 作为解决方案。

我研究了该主题并找到了各种解决方案,但我并不真正相信其中任何一个。他们是:

  • Amazon EC2 + TntDrive
  • 使用中小企业
  • 创建 EC2 实例并安装 FTP 服务器并将 S3 挂载为本地文件系统。

  • 我试图在安全性和灵 active /流畅性方面找到最佳解决方案。您认为哪种解决方案最好,以及如何实现上述目标?

    编辑 1:

    我对以下解决方案非常感兴趣。这是我收集的内容:您可以将 EBS 卷附加到 EC2 实例并在该实例上运行 FTP 服务器。将 FTP 服务器指向附加的 EBS 卷,然后通过 FTP 上传您的文件 - 它将直接写入 EBS 卷。您可能希望使用可以支持恢复中断传输的 FTP 服务器和客户端,例如 FileZilla。当我假设以上所有内容时,我是否正确?

    也有人可以逐步说明如何实现这一目标吗?

    最佳答案

    答案真的取决于。

    首先,让我说 FTP 是一个糟糕且不安全的协议(protocol)。在走这条路之前,请确保您有充分的理由。有很多用户友好的 S3 工具。

    其次,请注意,这些解决方案都不会像 S3 那样扩展。每个解决方案对它可以支持的文件数量、文件的大小以及频繁更新文件会发生什么(即它可能保存错误的版本)都有任意限制。 S3 文件系统起初看起来很整洁,但是当它们出现问题时,它们很难排除故障(它们只能返回通用文件系统错误消息)并且更难修复。

    一些想法:

  • 如果您真的只是想要云备份,请考虑使用 EBS 而不是 S3。将 EBS 驱动器连接到 EC2 盒,或运行 Storage Gateway在您本地的盒子上。
  • 根据读/写模式和延迟以及文件大小等,您可能会使用类似 s3sync 的内容反而。让它下载您的所有文件,然后定期与 S3 进行双向重新同步以获取任何新文件或删除任何已在 S3 中删除的文件。
  • 如果您只需要支持上传,只需有一个 cron 作业,定期将新文件上传到 S3,然后删除它们。
  • 关于amazon-web-services - 使用 S3 作为存储的 FTP 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126053/

    相关文章:

    linux - 用于创建 Azure Linux VM 并在其中设置 FTP 连接的 Powershell 脚本

    amazon-web-services - 亚马逊产品API

    javascript - 如何使用 Cordova FileTransfer 将文件上传到 Amazon S3?

    ios - 如何设置 AWS Appsync 请求超时限制 || AWSAppSync 客户端不提供回调

    ruby - 如何使用 Rake::Ftp Uploader 通过 FTPS 上传文件

    amazon-web-services - AWS Lambda 函数写入 DynamoDB

    java - Akka + Camel + FTP2 + localWorkingDirectory 无法可靠工作

    android - 使用 OkHttp 上传到预签名的 S3 URL 失败

    amazon-web-services - 我如何知道哪个 AWS 区域从我所在位置的延迟最低?

    amazon-web-services - 如何在 Boto3 中仅为正在运行的实例拍摄 EBS 快照?