0

我有一个 ec2 微型实例。我可以从控制台启动它,通过 ssh 进入它(使用 .pem 文件)并访问它托管的网站。

使用旧的 ec2 CLI,我可以启动实例并执行其他操作,包括 ssh 和网站访问。

我在使用新的 ec2 CLI 时遇到问题。当我执行“aws ec2 start-instances --instance-ids i-xxx”时,我收到消息“调用 StartInstances 操作时发生客户端错误 (InvalidInstanceID.NotFound):实例 ID 'i-xxx' 不存在” .

显然该实例存在,所以我不知道该消息的真正含义。

以下是我的一些想法:

  1. 旧 CLI 和新 CLI 之间的一个区别是后来使用 .pem 文件,而新界面使用访问密钥对。该实例有一个与 is 关联的访问密钥对,但已经尝试了我能找到的所有凭据,但它们都没有改变任何东西)。

  2. 我尝试为它创建一个 IAM 用户和一个新的访问密钥对。所有情况下的行为都没有改变(从控制台或旧 CLI、Web 访问、ssh 开始),但不使用新 CLI。

  3. 我意识到有一种方法可以通过分离卷来更新访问密钥对(如此所述),但这个过程对我来说有点吓人。

  4. 我意识到我可以从图像中克隆另一个实例,但是图像有点过时了,我不想丢失我的更改。

谁能建议该消息的真正含义以及我可以做些什么来解决这个问题?

4

2 回答 2

0

问题与凭据有关。我设置了正确的环境变量(AWS_ACCESS_KEY 和 AWS_SECRET_KEY)。但它们与我的 .aws/credentials 文件中的内容不匹配。也就是说,不管它在这里说什么,新的 CLI 仅在我的环境变量和凭据文件正确且同步时才起作用。

于 2016-06-11T17:55:57.333 回答
-1

在您的 ec2 实例所在区域的新 cli 实例中使用“aws configure”配置您的 aws cli 。然后尝试给出相同的命令。实例应该启动。

于 2016-05-31T07:58:36.797 回答