Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何使用cloudformation模板中的userdata将文件从s3 bucket复制到ec2实例中_Amazon Web Services_Amazon S3_Amazon Cloudformation - Fatal编程技术网

Amazon web services 如何使用cloudformation模板中的userdata将文件从s3 bucket复制到ec2实例中

Amazon web services 如何使用cloudformation模板中的userdata将文件从s3 bucket复制到ec2实例中,amazon-web-services,amazon-s3,amazon-cloudformation,Amazon Web Services,Amazon S3,Amazon Cloudformation,我需要能够在启动期间将一些文件从s3 bucket复制到ec2实例中。是否可以通过cloudformation模板的“用户数据”部分执行此操作 仅供参考,我将角色附加到实例以访问s3,并且我能够使用aws cli复制文件,但如果可能的话,我需要能够通过cloudformation内部的用户数据而不使用aws cli来复制文件 编辑-- s3中的对象目前是可公开访问的,并且实例正在使用自定义的red hat ami。如果Amazon s3中的对象是可公开访问的,您可以使用curl下载它: curl

我需要能够在启动期间将一些文件从s3 bucket复制到ec2实例中。是否可以通过cloudformation模板的“用户数据”部分执行此操作

仅供参考,我将角色附加到实例以访问s3,并且我能够使用aws cli复制文件,但如果可能的话,我需要能够通过cloudformation内部的用户数据而不使用aws cli来复制文件

编辑--


s3中的对象目前是可公开访问的,并且实例正在使用自定义的red hat ami。

如果Amazon s3中的对象是可公开访问的,您可以使用
curl
下载它:

curl -o output.file https://my-bucket.s3-us-west-2.amazonaws.com/file.txt
如果安装了
wget
,您可以使用它


如果对象是私有的,则需要使用角色进行身份验证。这需要安装某种形式的软件,因此只安装AWS CLI会更简单。

为什么不能在用户数据中使用相同的awscli命令(该命令“手动”为您工作)?AWS CLI默认情况下不会安装在我使用的ami上。我可以以任何方式安装它,但我正在探索任何其他不使用aws cli复制文件的方法。您可以使用类似的方法,但我不想这样做:)Amazon S3中的对象是可公开访问的,还是只能通过分配的IAM角色访问?实例上有哪个操作系统?@John Yes。目前它可以公开访问。该实例正在使用自定义的RedHat图像。感谢John的澄清!我一定会选择aws cli。