大约两周前,我突然无法ssh
进入我的 AWS 机器,它们只是超时了。真的,我能从中得到的最佳信息ssh -vvv <ip>
是ssh: connect to host <ip> port 22: Connection refused
。如果 IP 地址已更改,没有人告诉我。
由于我仍然保留设置机器时的有关信息,因此我想知道是否有办法使用命令行工具恢复 AWS 集群。
以下是我掌握的有关集群中机器的所有信息:
- instance IDs
- region
- groupName
- VpcId
- SubnetId
- SubnetId
- public IP addresses
使用 AWS CLI,有没有办法恢复这些实例?
编辑我确信情况是这样的stopped
,根据这一点来判断:当我这样做时,aws describe-instances --region <region> --instance-ids <id>
我看到了"State" { "Code": 80, "Name": "stopped"}
。
答案1
你可能想使用重启实例。(假设您使用“复活”来暗示它们处于关闭状态并且需要重新启动。如果您想要暗示其他内容,请更加具体。)
答案2
该命令应为:
aws ec2 reboot-instances --region $REGION --instance-ids $INSTANCE_ID
并用正确的信息替换 $REGION 和 $INSTANCE_ID。您需要拥有有效的会话密钥才能使此命令起作用。
如果您的实例处于“已停止”状态(或关闭),它们将丢失其公共 IP 地址(除非它们附加了弹性 IP),因此您必须运行:
aws ec2 describe-instances --region $REGION
获取您有权查看的所有实例的状态,并找出它们的新公共 IP 地址。
参考自 AWS CLI 文档:http://docs.aws.amazon.com/cli/latest/reference/ec2/reboot-instances.html