为什么不能在 EC2 实例上运行 AWS CLI 命令?

1 分钟阅读
0

为什么我在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行 AWS Command Line Interface (AWS CLI) 时收到了错误?

简短描述

在您的实例上运行 AWS CLI 命令时,您可能会看到以下错误消息:

  • “无法找到凭证。您可以通过运行 'aws configure' 来配置凭证”
  • “调用 DescribeInstances 操作时发生错误 (UnauthorizedOperation):您未获得授权来执行此操作”
  • “调用 DescribeInstances 操作时发生错误 (AuthFailure):AWS 无法验证提供的访问凭证”
  • “调用 GetCallerIdentity 操作时发生错误 (ExpiredToken):请求中包含的安全令牌已过期”

错误中所列的操作会因出错时您调用的操作而变化。在前面的示例中,调用 DescribeInstancesGetCallerIdentity 操作时出现错误。

注意: 对于 AWS CLI 与其中一个 AWS 服务终端节点之间的通信问题,请确认 DNS 解析和任何 VPC 终端节点是否正常运行。有关更多信息,请参阅以下内容:

解决方法

验证您运行的是最新的 AWS CLI 版本

如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI

无法找到凭证

验证 AWS CLI 是否已安装并正确配置

使用 AWS Identity and Access Management (IAM) 实例配置文件时,请确保 IAM 角色关联已完成。

发生错误 (UnauthorizedOperation) 和 (AuthFailure)

发生错误 (ExpiredToken)

临时凭证按照在创建过程中指定的时间间隔发生过期。如果 IAM 角色的凭证已过期,请通过担任新 IAM 角色获取新的 STS 令牌。


相关信息

如何对 IAM 策略进行问题排查?

AWS 官方
AWS 官方已更新 2 年前