我有一个ec2微实例。我可以从控制台启动它,ssh到它(使用.pem文件)并访问它所托管的网站。
使用旧的ec2 CLI,我可以启动实例并执行其他操作,包括ssh和网站访问。
我遇到了新的ec2 CLI问题。当我执行“aws ec2 start-instances --instance-ids i-xxx”时,我收到消息“调用StartInstances操作时出现客户端错误(InvalidInstanceID.NotFound):实例ID'i-xxx'不存在”
显然实例存在,所以我不知道该消息是什么。
以下是我的一些想法:
旧CLI和新CLI之间的一个区别是后来使用的.pem文件,而新界面使用访问密钥对。该实例具有与is关联的访问密钥对,但已尝试了我可以找到的所有凭据,并且没有任何更改任何内容)。
我尝试为它创建了一个IAM用户和一个新的访问密钥对。所有情况下的行为都保持不变(从控制台或旧CLI,Web访问,ssh开始),但不使用新CLI。
我意识到有一种方法可以通过分离卷来更新访问密钥对(如here所述),但这个过程对我来说有点吓人。
我意识到我可以从图像中克隆另一个实例,但图像有点过时,我不想丢失我的更改。
任何人都可以建议消息的真正含义以及我可以采取哪些措施来解决问题?
答案 0 :(得分:0)
问题与凭证有关。我有正确的环境 变量(AWS_ACCESS_KEY和AWS_SECRET_KEY)设置。但它们与我的.aws /凭证文件中的内容并不匹配。也就是说,尽管它说的是here,但新的CLI只有在我拥有环境变量时才有效 凭证文件正确且同步。
答案 1 :(得分:-1)
使用ec2实例所在的区域在新cli实例中使用 “aws configure” 配置aws cli。然后尝试给出相同的命令。该实例应该开始。