【问题标题】:Copy a File From S3 to EC2 Automatically自动将文件从 S3 复制到 EC2
【发布时间】:2020-09-04 21:39:25
【问题描述】:

我在这种情况下挣扎了一段时间:

  1. 我在 PHP (WordPress) 中有一个本地应用程序
  2. 当我提交更改时,我会自动将更改后的文件发送到 S3 通过 Git Hooks
  3. S3 存储桶接收这些更改的文件
  4. 在此之后,我向 lambda 函数发送通知,当 该文件被包含/删除
  5. 在 lambda 函数中,例如使用 javascript,我有 确定了存储桶和文件名(到目前为止一切顺利)。

问题是:如何将此文件从 Bucket 复制到 EC2 以完成我的自动化?

到目前为止我所尝试的:

A) 手动来说,我可以在我的 ec2 实例中做这样的事情,效果很好:

aws s3 sync s3://my-bucket "\var\www\html*" --exclude "wp-config.php"

B) 我还在“SSM 运行命令”上执行了一个类似的命令,它也可以完美运行:

wgethttps://my-bucket.s3.amazonaws.com/file.txt

C) 尝试创建一个非常简单的 SSM 文档,该文档执行一个简单的随机 bash 脚本,就像我在上一次尝试中所做的那样,尝试创建文档 - 创建命令或会话 - 会话类型并尝试一些你可以做的版本请参阅此示例(带/不带引号...):

---
schemaVersion: "2.2"
description: "Command Document Example JSON Template"
parameters:
  Message:
    type: "String"
    description: "Example"
    default: "Hello World"
mainSteps:
- action: "aws:runPowerShellScript"
  name: "example"
  inputs:
    runCommand:
      - cd /var/www/html
      - wget https://my-bucket.s3.amazonaws.com/file.txt

出现此错误:无法运行命令:fork/exec /usr/bin/pwsh:没有这样的文件或目录(即使尝试使用和不使用引号)

如果有人有一些想法,也许某个地方的代码可以帮助我自动将单个文件从 S3 复制到 EC2,这将非常感谢!!!

提前谢谢你们! :)

【问题讨论】:

  • 运行命令似乎很合适。你用linux吗?为什么不使用 linux 的运行命令?你需要powershell吗?
  • 你得到的错误表明你没有安装powershell。应该试试AWS-RunShellScript 文档。
  • Marcin,非常感谢您,您为我指明了正确的方向!明天我将尝试在 Lambda 上执行此操作(具有适当的权限等...)Tks :)
  • 没问题。告诉我进展如何。
  • 最后,经过多次尝试,我能够通过以下链接解决此问题:stackoverflow.com/questions/60470604/… 这篇文章中的命令,它就是解决方案!但是非常感谢你的帮助!!!

标签: php amazon-web-services amazon-s3 amazon-ec2 aws-lambda


【解决方案1】:

我想你差不多明白了,你可以尝试使用 lambda 执行 SSM 文档,并且文档应该在实例内执行 AWS CLI。

需要考虑的事项:

  1. 实例应具有正确的权限(IAM 角色)以从 S3 下载文件
  2. 实例上应安装 AWS CLI
  3. 该实例应该是 SSM 清单的一部分(您还需要一个 IAM 角色)

另外,我不确定您为什么要尝试将文件复制到已经在 S3 中的块存储中,我认为这不符合成本效益。

【讨论】:

  • 您好 Mauricio,感谢您的 cmets,我用“Marcin”评论发现我的 ssm 文档有什么问题,我能够修复它。关于您对效率的评论我理解您的意思,我只是想自动化我的本地开发(在 PHP 中)以在 ec2 实例上部署我网站的更改文件,这就是原因(也许如果您有不同的方法来做到这一点我接受建议!)谢谢
猜你喜欢
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
  • 2015-08-11
  • 1970-01-01
  • 2010-10-29
  • 2020-07-09
相关资源
最近更新 更多