【问题标题】:AWS: Mount S3 Bucket to an EC2 instance. (Later FTP Tunneling)AWS:将 S3 存储桶挂载到 EC2 实例。 (后来的 FTP 隧道)
【发布时间】:2017-05-20 02:43:50
【问题描述】:

我想做什么?

第 1 步:将 S3 存储桶挂载到 EC2 实例。

步骤 2:在 EC2 实例上安装 FTP 服务器并将 ftp-requests 隧道传输到存储桶中的文件。

到目前为止我做了什么?

  • 创建存储桶
  • 创建具有开放输入端口的安全组(FTP:20,21 - SSH:22 - 更多)
  • 连接到 ec2

还有如下代码:

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/s3fs/s3fs-1.74.tar.gz
tar -xvzf s3fs-1.74.tar.gz
yum update all
yum install gcc libstdc++-devel gcc-c++ fuse fuse-devel curl-devel libxml2-devel openssl-devel mailcap
cd s3fs-1.74
./configure  --prefix=/usr
make
make install
vi /etc/passwd-s3fs # set access:secret keys
chmod 640 /etc/passwd-s3fs
mkdir /s3bucket
cd /s3bucket

然后 cd 回答:Transport endpoint is not connected

不知道怎么了。也许我使用了错误的用户?但目前我只有一个用户(出于测试原因),除了 root。

下一步将是 ftp 隧道,但现在我想让它工作。

【问题讨论】:

  • 检查您的系统日志,如果没有帮助,请启用调试。

标签: amazon-web-services amazon-s3 amazon-ec2 ftp s3fs


【解决方案1】:

我现在按照这些说明进行操作。 https://github.com/s3fs-fuse/s3fs-fuse

我猜他们也在后台调用 API,但它可以按我的意愿工作。

【讨论】:

    【解决方案2】:

    第 1 点

    虽然其他回答者说 S3 不是为此而构建是正确的,但说无法安装存储桶是不正确的(不过,我会认真考虑找到更好的方法来解决您的问题)。

    话虽如此,您可以使用s3fuse 在 EC2 中挂载 S3 存储桶。有很多理由不这样做,detailed here。

    第 2 点

    从那里开始,这只是设置标准 FTP 服务器的一个案例,因为现在存储桶在您的系统中看起来就像是任何其他文件系统(大部分情况下)。

    vsftpd 可能是一个不错的选择。我会尝试两者,然后针对您遇到的任何具体问题发布单独的问题,但这应该为您提供一个粗略的工作大纲。 (好吧,实际上我两者都不会尝试,而是通过使用 API 的应用代码来使用 S3,但仍然如此)。

    【讨论】:

    • 这个解决方案存在一些问题,as I mentioned, here 但您的其中一个不在其中。 “对我来说最大的问题是,这是第三方对 API 的不支持使用。稳定性可能而且将会是一个问题。” 这不准确。 S3 API 是公开的并记录在案,并且此应用程序与任何其他应用程序一样有效。问题实际上是试图将 S3 用作它不是的东西——它不是文件系统,并且存在无法完全弥合的不可避免的阻抗差距。
    • “(如果 AWS 对 API 进行重大更改,则库在更新之前将无法运行)” 也不是一个现实的问题。如果不支持直接针对底层 API 进行开发,那么它就不会被如此彻底地记录下来。 S3 REST API 10 年来没有引入过一次重大更改。该服务的所有发展都完全向后兼容。甚至引入了对象版本控制,而不会破坏不知道版本控制的现有代码。
    • 因此,有几点,应用程序与其他应用程序一样有效并不能真正阻止应用程序在其使用的 API 发生较大更改时无法及时更新。这些更改不需要从一个版本中断到下一个版本。他们只需要在消费应用程序更新之前中断。我想说一个将 API 用于非预期用例的应用程序有更大的机会落入这种破坏性变化的行列。话虽这么说...我必须承认我没有意识到自 2006 年以来 S3 API 没有更新,所以这里可能不是主要问题!
    • 我特意说的是“REST”API。 :) 感谢您听到我的声音。 +1。只要您意识到这些问题,这个有限的应用程序实际上是非常完美的。我将 proftpd 与 s3fs 一起使用,并且已经使用了至少几年。完全意识到设置的不理想性,并且在早期对意外行为保持警惕,我从来没有遇到过问题。这确实是一个可行的用例,尽管许多其他用例会有问题。您甚至可以使用控制台或 API 创建对象,设置 x-amz-meta-uid/-gid/-mode 元数据,s3fs 会将这些解释为文件所有者/组/权限。
    • 哈,你做到了!我必须承认,我去过一些使用它的地方没有太多/任何问题。有一个类似名称的库,但它是一个不同的鱼锅,这让我对这些解决方案中的任何一个都产生了相当强烈的反感。我想我对技术的非标准(或至少不太常见)使用的真正问题是你经常发现可用的支持从悬崖上跳下来。正如你所说,只要你知道你在做什么!
    【解决方案3】:
    猜你喜欢
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2013-05-01
    • 2017-06-25
    • 1970-01-01
    相关资源
    最近更新 更多