我正在使用this tutorial创建一个aws ec2实例,我找不到任何有关解决我的问题的信息,或任何其他人甚至没有经历过这种情况的证据!
我使用具有管理员权限的IAM用户来设置ec2实例,当我运行
时$> aws ec2 get-console-output --instance-id <my-ec2-id>
输出一个空行,然后输出
'Output'
,别无其他!
根据教程,这个命令可以让我看到远程RSA指纹,以验证我正在建立正确的连接。
我可以很好地登录我的ec2实例(虽然我想没有上一步就没有办法绝对肯定)。
此外,我正在使用的IAM用户不是我的CLI的默认用户,我设置了一个配置文件来处理它。但是,如果我尝试
$> aws ec2 get-console-output --profile <user-profile> --instance-id <my-ec2-id>
我仍然得到与以前相同的结果。令人抓狂的是,我之前已经解决了这个问题,但我不记得是怎么回事。
答案 0 :(得分:2)
如果凭据无效或者用户缺少访问所定义资源的角色/权限,某些AWS CLI操作可能不会明确说明。在这种情况下,可能是由于访问凭据无效 - 您可以使用describe-instances
或类似命令对此进行验证。
在较早版本的CLI(~1.7)中,为了便于调试,可以使用--debug参数,例如:
> aws ec2 get-console-output --instance-id i-<id> --debug
<Errors><Error><Code>InvalidInstanceID.NotFound</Code><Message>The instance ID 'i-e7bffa43' does not exist</Message></Error></Errors>
在较新版本的CLI(1.9)中,此特定参数在错误中提供了更多详细信息:
> aws ec2 get-console-output --instance-id i-<id>
A client error (InvalidInstanceID.NotFound) occurred when calling the GetConsoleOutput operation: The instance ID 'i-<id>' does not exist