amazon-s3 - 将 S3 存储桶挂载为 EC2 实例上的 NFS 共享

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

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

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

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

看起来我应该能够编写一些脚本,以使其在实例开始使用用户数据时发生,但我有点迷失了。有谁能够给我一些线索,以找到实现这一目标的好方法,或者实现我想要发生的事情的更好方法(基本上是访问 S3 存储桶内容,就好像它们是 EC2 实例上的文件一样)-如果不告诉我如果它足够微不足道的话该怎么做?

非常感谢:) 丹

最佳答案

你进展顺利。 user_data可以用于此目的。

我没有完整的代码可以为您提供具体的用例(例如,您使用的是哪个操作系统?),但 user_data 必须下载并安装 s3fs :

s3fs allows Linux and macOS to mount an S3 bucket via FUSE. s3fs preserves the native object format for files, allowing use of other tools like AWS CLI.

但是,S3 是一个对象存储系统,它无法像使用 NFS 或 EBS 存储解决方案那样真正安装在实例上。但是使用 s3fs-fuse 你可以模仿这样的行为。对于某些用例来说这已经足够了。

因此,您可以做的是通过控制台设置 user_data 脚本,验证其是否有效,然后基本上只需复制并粘贴到 CDK 即可。它更多的是一种尝试和观察的方法,但这是最好的学习方法。

关于amazon-s3 - 将 S3 存储桶挂载为 EC2 实例上的 NFS 共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63609135/

相关文章:

javascript - 上传到 S3 时错误的 XMLHttpRequest

javascript - AWS S3 Javascript SDK 重新发送请求失败

python - 如何使用 AWS Lambda Python 读取 AWS S3 存储的 Word 文档(.doc 和 .docx)文件内容?

amazon-web-services - 如何在 AWSJavaScriptSDK 中以 200 OK 结果捕获失败的 S3 copyObject

javascript - AWS Lambda w/Google Vision API 抛出 PEM_read_bio:no start line 或 Errno::ENAMETOOLONG

php - 如何在 Amazon EC2 上配置 PHP + Apache?

amazon-ec2 - boto .get_all_keypairs() 方法及其结果的 .save()

amazon-web-services - 如何格式化 CloudFormation 任务定义命令

amazon-web-services - 如何动态更改 DefinitionBody 内的 S3 路径

amazon-web-services - AWS::事件::规则失败调用调试信息?