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

Gitlab Runner无法获取IAM角色:默认配置文件(default)未找到

解决GitLab Runner执行AWS命令提示找不到default配置文件的问题

排查方向及解决步骤

1. 修正文件权限

userdata以root身份执行,生成的/home/gitlab-runner/.aws/config文件所有者和组可能为root,导致gitlab-runner用户无法读取。执行以下命令修正权限:

chown -R gitlab-runner:gitlab-runner /home/gitlab-runner/.aws
chmod 600 /home/gitlab-runner/.aws/config
chmod 700 /home/gitlab-runner/.aws

2. 确认配置文件存在且内容正确

登录EC2实例,检查文件是否存在并验证内容:

cat /home/gitlab-runner/.aws/config

如果.aws目录不存在,先创建再写入配置:

mkdir -p /home/gitlab-runner/.aws
cat << EOF > /home/gitlab-runner/.aws/config
[default]
role_arn=arn:aws:iam::123456789012:role/gitlabrunner
credential_source=Ec2InstanceMetadata
region=us-east-1
EOF

执行完后再运行权限修正命令。

3. 为GitLab Runner配置环境变量

编辑GitLab Runner的配置文件(通常路径为/etc/gitlab-runner/config.toml),为runner添加指定AWS配置文件路径的环境变量:

[[runners]]
  # 保留现有其他配置
  environment = ["AWS_CONFIG_FILE=/home/gitlab-runner/.aws/config", "AWS_DEFAULT_REGION=us-east-1"]

修改完成后重启GitLab Runner服务:

gitlab-runner restart

4. 更简便的替代方案:直接为EC2实例附加IAM角色

无需手动配置aws config文件,直接给EC2实例附加gitlabrunner IAM角色:

  • 进入AWS EC2控制台,找到目标实例
  • 选择「动作」→「安全」→「修改IAM角色」
  • 选中gitlabrunner角色并保存
    GitLab Runner执行AWS命令时会自动从实例元数据获取凭证,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 07:52:13