amazon-web-services - 使用 S3 进行代码部署总是在 5 分钟后失败

标签 amazon-web-services amazon-s3 amazon-ec2 aws-code-deploy aws-codepipeline

我花了大半天时间尝试设置 CodeDeploy、CodePipeline、S3 和 EC2。

Codepipeline 将成功:

  • 在 GitHub 中获取检测到的更改
  • 将 ZIP 文件推送到 S3
  • 触发 CodeDeploy 开始部署

还有

  1. EC2 具有对 S3 的列表和读取权限
  2. S3 允许来自 EC2 的所有操作

我主要遵循这个过时的指南:https://cloudacademy.com/blog/how-to-deploy-application-code-from-s3-using-aws-codedeploy/

appspec.yml

version: 0.0
os: linux
files:
  - source: /
    destination: /var/www

hooks:
  AfterInstall:
    - location: hooks/after-install.sh
      runas: root

我对 AWS 还很陌生,一生都找不到日志告诉我发生了什么,也没有收到任何指向我的错误消息,所以我'我真的一整天都在盲目地重复检查所有内容并再次尝试,这现在正在 mock 我:

enter image description here enter image description here

任何帮助,即使它指出我实际上可以在哪里找到错误消息,我都会非常感激,感谢您的时间

最佳答案

出现这种情况通常是由于以下 3 个原因之一:

  • CodeDeploy 代理需要是 installed并在目标实例上运行。
  • 无法访问 CodeDeploy 和 S3 服务。要么确保您:
    • 在具有互联网网关的公有子网中运行实例
    • 使用 NAT 网关/NAT 实例在私有(private)子网中运行实例
  • 实例的 IAM 角色的 IAM 权限不足,要获得足够的权限,请附加 AWSCodeDeployRole 策略。

正如您所说,您的 IAM 角色权限没有问题,您只能选择其他两种方案之一。

一旦这些工作正常,您通常可以在 /var/log/aws/codedeploy-agent 位置看到日志。

关于amazon-web-services - 使用 S3 进行代码部署总是在 5 分钟后失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62485150/

相关文章:

mysql - 在 ec2 实例上访问 phpMyAdmin 时出现 403 错误

amazon-ec2 - hazelcast-jet 部署和数据摄取

mysql - AWS DMS 双向数据复制

amazon-s3 - 关于 Amazon EMR 上的流式作业流程的问题

amazon-web-services - 主节点上的EMR SSH

javascript - 如何通过亚马逊网络服务更改雅虎天气 api 的字体或图标

java - 我的 s3 存储桶中的图像不会在浏览器中打开,它们只会下载

Jenkins 使用 100% CPU

apache - AWS Certificate Manager for ELB 指向在 EC2 上运行的 Apache 服务器

python - AWS Lambda 函数可以从 python 文件调用另一个普通的 python 函数吗?