如何从ec2实例访问s3存储桶

时间:2019-05-11 16:33:58

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

我正在尝试通过ec2实例访问我的s3存储桶。我遵循AWS在线教程。

(Mac)我已经设置了一个ec2实例。创建了存储桶,并将某些文件从本地同步到存储桶。使用fullS3access为ec2实例创建了一个IAM角色。然后ssh到ec2实例。列出s3存储桶时,可以看到要访问的存储桶。但是我无法使用cd访问存储桶。在实例中,本教程使用“ cd s3-demo”行,但我不明白他从何处获得此名称,其含义以及在我的情况下的含义。

[Mac]$ aws s3 sync 'folder_name' s3://'bucket_name'/'folder_name'
[Mac]$ ssh -i /Users/../''.pem ec2-user@'public_DNS'
[ec2-user@'public_DNS' ~]$ aws s3 ls
 [out]: 'name of the bucket I created'
[ec2-user@'public_DNS' ~]$ cd 'name of the bucket'
 [out]: -bash: cd: 'name of the bucket': No such file or directory

Online course: AWS Cloud Practitioner Essentials (Second Edition)

2 个答案:

答案 0 :(得分:0)

这不是S3的工作方式,您需要使用awscli命令为每个请求(PUT,GET等)进行API调用。 以下是一些文档的开头: https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html

要以自己的方式访问它,需要将存储桶安装到系统中,然后可以像系统目录一样对其进行访问。 为此,可以使用s3fs: https://github.com/s3fs-fuse/s3fs-fuse

答案 1 :(得分:0)

Amazon S3是对象存储系统。旨在通过API调用进行访问。

虽然有一些实用程序将S3作为驱动器进行仿真,但使用此类接口进行生产可能会遇到困难。 (在幕后,它就像您一样对S3进行API调用。)

相反,我建议您使用AWS Command-Line Interface (CLI)(它是一个为您进行API调用的简单Python程序),或者使用AWS SDK作为您的首选编程语言与Amazon S3进行通信