You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bitbucket流水线CodeDeploy部署EC2失败,求AWS排查指导

AWS端排查诊断与配置检查指导

一、EC2实例基础状态验证

  • 确认EC2实例处于运行中状态,通过CloudWatch监控查看CPU、内存、磁盘使用率,排查是否存在资源耗尽(比如磁盘满、内存不足)导致部署卡住。
  • 登录EC2实例,查看系统日志(/var/log/messages 或 /var/log/syslog),检查是否有系统级错误(如依赖缺失、进程崩溃)影响部署。

二、CodeDeploy Agent 状态与日志排查

  • 在EC2实例上执行命令 sudo service codedeploy-agent status,确认Agent是否运行。若未运行,启动并设置自启:
    sudo service codedeploy-agent start
    sudo systemctl enable codedeploy-agent
    
  • 查看Agent核心日志 /var/log/aws/codedeploy-agent/codedeploy-agent.log,重点关注:
    • 是否无法从S3拉取部署包(权限/网络问题)
    • AppSpec.yml脚本是否语法错误或执行失败
    • 部署脚本是否无限挂起(如等待用户输入、依赖安装超时)

三、CodeDeploy 部署配置检查

  • 调整部署组健康检查超时时间:默认5分钟可能不足以完成部署,可延长至10分钟,同时确认健康检查类型(EC2状态检查/自定义脚本)匹配应用场景。
  • 检查部署组的部署配置:确认单实例部署的最小健康百分比设置合理,避免因实例健康判定严格导致部署终止。
  • 验证appspec.yml文件:
    • 确认部署包路径指向正确的S3对象
    • 检查hooks部分脚本是否可执行、有无明确退出逻辑
    • 确保files复制路径在EC2实例上有写入权限

四、IAM权限验证

  • 检查EC2实例的IAM角色(实例配置文件)是否包含AmazonS3ReadOnlyAccess及CodeDeploy相关权限,确保Agent能拉取S3包并与CodeDeploy通信。
  • 确认CodeDeploy服务角色拥有访问EC2、S3及执行部署操作的完整权限。

五、网络连通性检查

  • 在EC2实例上测试S3访问:curl https://<你的Bucket名>.s3.<区域>.amazonaws.com/<部署包文件名>.zip,确认能正常下载。
  • 检查安全组是否允许EC2实例出站HTTPS(443)流量到CodeDeploy服务端点,若用VPC,确认配置了S3/CodeDeploy VPC端点或NAT网关。

六、手动部署测试

  • 直接在CodeDeploy控制台触发部署,使用相同S3包,验证是否能成功,排除Bitbucket流水线的影响。
  • 在EC2实例上手动执行AppSpec.yml中的脚本,排查是否存在脚本卡顿或报错。

内容的提问来源于stack exchange,提问作者Yossi G.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 04:56:08