【问题标题】:Mount S3 bucket as an NFS share on an EC2 instance将 S3 存储桶挂载为 EC2 实例上的 NFS 共享
【发布时间】:2020-08-27 12:51:22
【问题描述】:

长期阅读,但我通常能够在现有帖子中找到我一直在寻找的答案 - 但这次我没能找到。

我基本上是从头开始自学 AWS CDK,我才真正开始使用它,所以没有找到任何可以帮助我完成任务的东西可能是因为还没有足够的知识来提出正确的问题......所以请和我裸露。

到目前为止,我已经使用 AWS CDK 和 Python 创建了一个堆栈,该堆栈创建了一个 S3 存储桶,并启动了一个 EC2 实例,其中加载了一个 AWS 文件存储网关 AMI(因此运行 Amazon Linux)。这部署并运行良好 - 但是现在我想以编程方式设置 S3 存储桶以通过 EC2 实例上的 NFS 共享访问。从我所看到的情况来看,我认为它是或者应该是相当微不足道的,但是我在文档和互联网搜索中一直有点迷失,并且不太确定我在寻找正确的地方或向搜索引擎询问正确的问题来解锁实现这一目标的途径。

看起来我应该能够编写一些脚本以在实例开始使用用户数据时实现它,但我有点迷茫。有没有人可以向我扔一些面包屑来找到实现这一目标的好方法,或者是实现我想要发生的事情的更好方法(这基本上是访问 S3 存储桶内容,就好像它们是 EC2 实例上的文件一样) - if not 告诉我如果它足够琐碎怎么做?

非常感谢 :) 丹

【问题讨论】:

    标签: amazon-s3 amazon-ec2 amazon-cloudformation aws-cdk


    【解决方案1】:

    你走上正轨了。 user_data 可以用于此。

    我没有完整的代码给你作为它的特定用例(例如你正在使用哪个操作系统?),但user_data 必须下载并安装s3fs

    s3fs 允许 Linux 和 macOS 通过 FUSE 挂载 S3 存储桶。 s3fs 保留文件的本机对象格式,允许使用其他工具,如 AWS CLI。

    但是,S3 是一个对象存储系统,它不能像使用 NFS 或 EBS 存储解决方案那样真正安装在实例上。但是使用s3fs-fuse,您可以模仿这种行为。对于某些用例,这就足够了。

    所以你可以做的是通过控制台设置 user_data 脚本,验证它是否工作,然后基本上只是复制并粘贴到 CDK。它更像是一种试一试的方法,但这是最好的学习方式。

    【讨论】:

    • 感谢您的回复,非常有帮助(我还不能提供帖子反馈,因为我太新手了)我已经编辑了原始帖子以澄清 EC2 实例运行亚马逊Linux。我会按照你的建议玩一下,看看它是否会像我想要的那样做。干杯!
    • @MrZiltoid 没问题。让我知道进展如何。
    猜你喜欢
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 2017-04-06
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多