【问题标题】:How can I copy a file from s3 bucket into an ec2 instance using userdata inside a cloudformation template如何使用 cloudformation 模板中的用户数据将文件从 s3 存储桶复制到 ec2 实例
【发布时间】:2019-07-18 08:23:20
【问题描述】:

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

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

编辑--

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

【问题讨论】:

  • 您为什么不能在您的用户数据中使用相同的 awscli 命令(“手动”为您工作)?
  • aws cli 默认情况下未安装在我使用的 ami 上。无论如何我都可以安装它,但我正在探索不使用 aws cli 复制文件的任何其他方式。
  • 你可以使用docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html之类的东西,但我不想那样做:)
  • Amazon S3 中的对象是可公开访问的,还是只能通过分配的 IAM 角色访问?实例上的操作系统是什么?
  • @John 是的。目前可以公开访问。该实例正在使用自定义 RedHat 图像。

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


【解决方案1】:

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

curl -o output.file https://my-bucket.s3-us-west-2.amazonaws.com/file.txt

如果安装了wget,您可以改用它。

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

【讨论】:

  • 感谢约翰说清楚!我一定会选择 aws cli。
猜你喜欢
  • 2021-05-31
  • 1970-01-01
  • 2021-02-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-18
  • 1970-01-01
  • 2012-05-14
  • 2021-06-03
相关资源
最近更新 更多