问题描述
一个新手在使用 AWS 和 Jenkins 时,尝试连接安装了 Jenkins 的 EC2 实例到 AWS 云插件,但出现了如下问题:
Failed to obtain credentials from EC2 instance profile: The requested metadata is not found at 'http://169.254.169.254/latest/meta-data/iam/security-credentials/'
他希望能够解决这个问题,但不确定出现这个问题的原因。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
确保 EC2 实例具有 IAM 角色
出现这个问题的一个可能原因是 EC2 实例没有关联正确的 IAM 角色。为了使用 AWS 云插件,EC2 实例需要具有允许它访问 AWS 资源的 IAM 角色。你可以通过以下步骤来检查与 EC2 实例相关联的 IAM 角色:
- 登录到 AWS 管理控制台,打开 EC2 控制台页面。
- 选择你的 EC2 实例。
- 在实例详细信息的“权限”选项卡下,查看“IAM 角色”部分,确保这个实例关联了正确的 IAM 角色。
确保 EC2 实例具有访问 Metadata 服务的权限
另一个可能的原因是 EC2 实例没有足够的权限访问 Metadata 服务,该服务位于 http://169.254.169.254/latest/meta-data/iam/security-credentials/
。这个服务用于检索与实例关联的 IAM 角色和凭证。请确保实例具有访问这个服务的必要权限。
检查网络配置
也有可能是 EC2 实例的网络配置出了问题。确保实例有一个有效的网络接口,并且能够访问 Metadata 服务。你可以尝试通过 SSH 登录到实例并进行网络连通性测试,以确保实例可以访问 Metadata 服务。
检查 AWS 云插件配置
最后,也有可能是 AWS 云插件本身存在问题。请确保你正在使用最新版本的插件,并且已正确配置。
如果你的问题仍然无法解决,建议查阅官方文档或者寻求更多社区支持来解决问题。
正文完