aws ec2 get-console-output 不在屏幕上打印任何内容

aws ec2 get-console-output prints nothing to the screen

我正在使用 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>

我仍然得到与以前相同的结果。令人抓狂的是我以前解决过这个问题,但我不记得是如何解决的。

某些 AWS CLI 操作可能不会明确说明凭证是否无效或用户是否缺少 roles/permissions 来访问定义的资源。在这种情况下,可能是因为访问凭据无效 - 您可以使用 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