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

Amazon web services 使用S3作为存储的FTP服务器,amazon-web-services,ftp,amazon-s3,sftp,ftp-server,Amazon Web Services,Ftp,Amazon S3,Sftp,Ftp Server,我正在尝试创建一个ftp服务器(使用windows/linux/mac-无需担心),它的存储将作为AmazonS3存储。现在请注意,S3本机不支持FTP,因此这需要某种黑客作为解决方案 我对这个话题进行了研究,找到了各种各样的解决方案,但我真的不相信其中任何一种。它们是: 亚马逊EC2+TntDrive 利用中小企业 创建EC2实例,安装FTP服务器,并将S3装载为本地文件系统 我正在努力寻找安全性和灵活性/流畅性方面的最佳解决方案。您认为哪种解决方案最好?如何实现上述目标 编辑1: 我对以下解

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

我对这个话题进行了研究,找到了各种各样的解决方案,但我真的不相信其中任何一种。它们是:

  • 亚马逊EC2+TntDrive
  • 利用中小企业
  • 创建EC2实例,安装FTP服务器,并将S3装载为本地文件系统
  • 我正在努力寻找安全性和灵活性/流畅性方面的最佳解决方案。您认为哪种解决方案最好?如何实现上述目标

    编辑1:

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


    还有人能给出如何实现这一目标的逐步步骤吗?答案取决于具体情况

    首先,让我说FTP是一种可怕且不安全的协议。在走这条路之前,确保你有充分的理由。有很多用户友好的S3工具

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

    一些想法:

      <> >如果你真的想要云备份,考虑使用EBS而不是S3。将EBS驱动器连接到EC2机箱,或在本地机箱上运行

    • 根据读/写模式、延迟、文件大小等,您可能会使用类似于
      s3sync
      的方法。让它下载您的所有文件,然后定期双向重新同步到S3,以拾取任何新文件或删除S3中已删除的任何文件

    • 如果您只需要支持上传,只需要有一个cron作业,定期将新文件上传到S3,然后删除它们


    您可以尝试的。。使用,将s3存储桶装载到Amazon EC2实例中的目录中-使用一点:
    sudo s3fs-o allow_other,uid=12345,gid=12345 my bucket my ftp directory/

    然后设置vsftpd或任何其他FTP程序,创建一个用户并将其主目录指定为
    my FTP directory
    。Chroot将该用户引导到此目录,然后尝试使用用户凭据和EC2实例的ip通过FTP登录。。我还没有尝试过,但是在Drupal中使用这种技术将一个bucket安装到我的公共文件目录之后,它工作得很好

    您还可以使用:

    FTP 2云处于测试阶段时:

    it's free.
    there are no copy limits.
    each account has 100MB storage space.
    supports FTP to Amazon S3 copy.
    supports FTP to Rackspace copy.
    you use at your own risk.
    it needs your love to get the word out.
    

    嘿谢谢你的解决方案。我对你的第一个解决方案很感兴趣。我收集的信息如下:您可以将EBS卷连接到EC2实例,并在该实例上运行FTP服务器。将FTP服务器指向连接的EBS卷,然后通过FTP上传文件-文件将直接写入EBS卷。您可能希望使用支持恢复中断传输的FTP服务器和客户端,例如FileZilla。当我假设上述所有情况时,我是否正确?是的,使用EBS驱动器,它非常像一台“普通”计算机。要开始,请使用EBS根卷。高级用户将使用配置工具(Chef、puppet等)在临时根实例上配置FTP,并仅将FTP数据存储在EBS驱动器上。这样,您就不需要备份操作系统。如果您有ssh访问服务器的权限,请尝试使用FileZilla的SFTP,您不必设置任何其他内容,而且它实际上比FTP更安全。哦,我不确定您是否碰巧停止了ec2实例(例如升级),那么EBS中的数据是否消失了。停止和启动时不要删除数据,但它会改变IP地址。您可以使用EIP来保持IP地址不变,或者只需在DNS中注册该框(即Route53)来保持名称解析为您的数据。有关此方法的详细信息,请参阅相关帖子:哇,大约两年后仍处于测试阶段!