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

AWS CodeBuild运行Terraform报Exec format error问题

问题根因

terraform: Exec format error是CPU架构不匹配的典型报错,和你调整过的AWS Provider版本、CodeBuild特权模式开关没有任何关系。
你在install阶段下载的是ARM64架构编译的Terraform二进制包,但当前CodeBuild项目选用的构建镜像为x86_64(AMD64)架构,系统无法识别ARM指令集格式的可执行文件,因此所有terraform相关命令都无法正常启动。

修复方案

二选一即可解决问题:

  • 方案一:保留现有buildspec配置不变,进入CodeBuild项目的环境配置页,将构建环境的CPU架构从x86_64调整为ARM64,保存配置后重新触发构建即可。
  • 方案二:保留现有x86_64构建环境不变,修改buildspec.yaml中Terraform安装包的下载逻辑,将原来下载的ARM64版本安装包替换为同版本号的AMD64版本安装包即可。修改后的install阶段参考配置如下:
install:
  commands:
    - "apt install unzip -y"
    # 将原arm64架构安装包替换为amd64架构对应版本
    - "wget 对应版本的linux_amd64架构terraform压缩包地址"
    - "unzip 下载好的amd64版本压缩包"
    - "mv terraform /usr/local/bin/"
    # 增加版本校验步骤,提前验证二进制可用性
    - "terraform version"
后续注意事项
  • 建议在Terraform安装完成后立刻执行terraform version做可用性校验,不需要等到pre_build阶段执行init时才发现安装问题,能缩短排查路径
  • 等架构问题修复后,执行terraform init前需要确认CodeBuild绑定的服务角色拥有S3状态桶的对应读写权限,如果配置了DynamoDB状态锁,还需要给角色授予对应DynamoDB表的读写权限,避免触发权限类报错
  • 生产环境构建时建议增加安装包校验步骤,避免下载到损坏的二进制文件触发同类执行错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:54:23