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

无法通过CodeDeploy部署至EC2实例,寻求解决建议

CodeDeploy部署EC2失败:Agent无法接收生命周期事件的解决建议
  • 检查CodeDeploy Agent运行状态
    登录EC2实例,执行命令确认agent运行状态:

    # Amazon Linux/RHEL系统
    sudo service codedeploy-agent status
    # Ubuntu系统
    sudo systemctl status codedeploy-agent
    

    若agent未运行,启动服务并设置开机自启:

    # Amazon Linux/RHEL启动并开机自启
    sudo service codedeploy-agent start
    sudo chkconfig codedeploy-agent on
    # Ubuntu启动并开机自启
    sudo systemctl start codedeploy-agent
    sudo systemctl enable codedeploy-agent
    
  • 查看Agent日志定位具体问题
    日志默认路径如下,执行命令查看最新100条日志:

    sudo tail -n 100 /var/log/aws/codedeploy-agent/codedeploy-agent.log
    

    重点排查是否存在网络连接失败、S3构建产物拉取报错、IAM权限不足等信息。

  • 验证EC2实例网络连通性
    CodeDeploy Agent需要连接对应区域的CodeDeploy服务端点,执行以下命令测试(替换为你的AWS区域,如us-east-1):

    curl -v https://codedeploy.us-east-1.amazonaws.com
    

    若无法连通,检查实例安全组是否允许HTTPS(443端口)出站访问CodeDeploy服务,私有子网实例需确认NAT网关/代理配置正常。

  • 确认EC2实例的IAM实例配置文件
    进入EC2控制台,检查目标实例的「IAM角色」是否正确关联了带有AmazonEC2RoleforAWSCodeDeploy权限的实例配置文件,未关联则补充配置后重启CodeDeploy Agent。

  • 检查部署包与appspec.yml配置
    确认S3中的构建产物为ZIP/TAR等CodeDeploy支持格式,且appspec.yml文件位于部署包根目录,配置的生命周期钩子、文件路径等参数无错误。

  • 核对CodeDeploy部署组配置

    1. 确认部署组的EC2实例标签与目标实例标签完全匹配,避免实例未被纳入部署范围
    2. 检查部署组关联的CodeDeployRole是否包含codedeploy:*等必要权限,且信任关系允许CodeDeploy服务扮演该角色

内容的提问来源于stack exchange,提问作者Master

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:22:12