sri*_*ram 11 ubuntu mount amazon-s3 amazon-ec2 s3fs
我们使用 IAM 角色来维护机器。我们现在计划将 s3 安装到我们的 ec2 实例并根据我们的需要进行处理。我们一直在使用 s3fs 工具进行安装。
但这似乎不适用于 IAM 角色。有什么方法可以让 s3fs 与 IAM 角色一起工作?有没有人做过这个?
提前致谢。
小智 8
这对我有用 iam_role=auto
这是我的/etc/fstab条目
s3fs#my_bucket /s3mount_path fuse _netdev,allow_other,iam_role=auto 0 0
只需确保您的 IAM 角色具有适当的权限
手册页中似乎有一个 iam_role 选项:
iam_role(默认为无角色)- 设置 IAM 角色,该角色将从实例元数据中提供凭证。
对源代码的粗略概述表明它将获取令牌并在它们到期时轮换......
此外,请参阅https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#instance-metadata-security-credentials了解有关获取这些凭证、令牌等的详细信息你自己
小智 5
也许有点晚了,但因为大多数答案都很旧了;只是想分享现在有效的命令:-
因此,要使用 IAM 角色手动挂载 s3 存储桶,您需要触发以下命令:-
$ sudo s3fs <bucket-name> /<folder-path>/<folder-name> -o iam_role="<Role-name>" -o url="https://s3-<region-name>.amazonaws.com" -o endpoint=<region-name> -o dbglevel=info -o curldbg
Run Code Online (Sandbox Code Playgroud)
现在,例如,如果我的存储桶名称是“Test-Bucket”,文件夹路径是“/root/Test-Bucket”,我的 IAM 角色名称是“ec2_to_s3”,并且我拥有 s3 存储桶的区域是“亚洲” -Pacific Mumbai”,那么上面指定的命令将用作:-
$ sudo s3fs Test-Bucket /root/Test-Bucket -o iam_role="ec2_to_s3" -o url="https://s3-ap-south-1.amazonaws.com" -o endpoint=ap-south-1 -o dbglevel=info -o curldbg
Run Code Online (Sandbox Code Playgroud)
这样铲斗就安装成功了。
现在,如果您希望存储桶在系统重新启动时自行安装;您需要将此字符串添加到“/etc/fstab”中。
<bucket-name> /<folder-path>/<folder-name> fuse.s3fs _netdev,allow_other,use_path_request_style,iam_role=auto 0 0
Run Code Online (Sandbox Code Playgroud)
现在,按照前面的示例,需要在“/etc/fstab”中添加的字符串将是:-
Test-Bucket /root/Test-Bucket fuse.s3fs _netdev,allow_other,use_path_request_style,iam_role=auto 0 0
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助...
除了访问密钥 ID 和秘密访问密钥之外,IAM 角色还需要使用令牌。
这意味着需要修改 s3fs 源的当前状态才能支持 IAM 角色。
幸运的是,s3fs 是在 GPLv2 下发布的,因此您可以自由地这样做。
| 归档时间: |
|
| 查看次数: |
16125 次 |
| 最近记录: |