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

使用Phillips-Labs terraform-aws-github-runner无法创建EC2实例求助

解决terraform-aws-github-runner模块EC2实例未创建及SSL解码错误问题

针对"error:1E08010C:DECODER routines::unsupported"解码错误的排查与修复

  • 确认Secrets Manager中存储的PEM私钥格式完整:必须包含首尾的-----BEGIN RSA PRIVATE KEY-----和-----END RSA PRIVATE KEY-----标记,且标记行无多余空格、无首尾空行。可以直接在Secrets Manager控制台查看原始内容,避免复制粘贴时引入格式问题。
  • 检查Terraform读取私钥的逻辑:确保模块通过aws_secretsmanager_secret_version获取的secret_string没有被额外转义(比如将换行符转成\n字符串而非实际换行)。可以在Lambda日志中打印读取到的私钥内容,对比原始PEM文件验证一致性。
  • 排除私钥本身的兼容性问题:使用openssl rsa -in <your-key-file> -check命令本地验证私钥有效性,确认无损坏或格式错误。

针对GHES API URL异常的修复

  • 核对Terraform配置中的ghes_api_url参数:必须严格遵循https://<你的GHES域名>/api/v3/格式,确保末尾斜杠存在,且域名无误,无多余字符(比如空格、拼写错误)。
  • 验证Lambda环境变量中的GHES URL:查看Lambda函数的环境变量配置,确认模块传递的API URL与你配置的参数完全一致,避免模块内部拼接时出现格式偏差。

其他关键排查步骤

  • 检查Lambda的IAM权限:确保执行角色拥有ec2:RunInstances、ec2:CreateTags、secretsmanager:GetSecretValue等必要权限,同时具备访问EC2实例相关资源(比如子网、安全组、AMI)的权限。
  • 查看Lambda完整执行日志:除了解码错误,重点查找是否有GHES API调用失败、runner注册令牌获取失败等关联错误,这些是导致EC2实例无法创建的直接原因。
  • 手动验证GHES API访问:使用存储的私钥和对应令牌,通过curl命令测试GHES API连通性,命令示例:curl -H "Authorization: token <你的令牌>" --key <本地私钥文件> https://<GHES域名>/api/v3/orgs/<你的组织>/runners,确认API能正常返回数据,排除端点或密钥验证问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:31:03