2017-04-04 189 views
1

我想每天停止并重新启动AWS EC2实例。我可以通过API命令行界面停止它,但要重新连接,我需要获取新的DNS信息,以便通过远程桌面进行连接。有没有办法重新连接,不涉及通过EC2管理控制台?重新启动后连接到AWS EC2

回答

1

选项1

分配一个Elastic IP地址的实例,并随时可以使用该IP连接。

您也可以使用指向该弹性IP地址的友好名称(例如myinstance.mydomain.com)设置DNS记录。

请注意,当您的实例已停止,具有被分配给它预留的弹性IP地址将花费一小每小时收费 - 见https://aws.amazon.com/ec2/pricing/on-demand/#Elastic_IP_Addresses以获取更多信息。


选项2

如果您使用的DNS管理route53(或具有您可以使用API​​的一些其他DNS托管服务),您可以编写运行在实例启动时检测脚本其当前IP地址,并使用route53 api更新具有实例新IP地址的DNS记录。如果这样做,你需要考虑DNS传播时间,所以如果可能的话,我肯定会推荐弹性IP方法。


选项3

使用AWS CLI使用以下命令来获得您的实例的公网IP地址。一定要更改instance-id参数以匹配您自己的实例。

aws ec2 describe-instances --instance-id i-0a3bd317964ca45543 --query 'Reservations[0].Instances[0].PublicIpAddress' 

例如,用相结合的SSH命令可能是这样的:

ssh [email protected]`aws ec2 describe-instances --instance-id i-0a3bd317964ca45543 --query 'Reservations[0].Instances[0].PublicIpAddress' --output text` -i ~/my-key.pem 
+0

OK,所以这个答案部分解决了我的问题,但现在我不知道如何配置远程桌面使用新的关联私有IP地址。 –

+0

您是否为您的实例分配了弹性IP地址?并且您正试图通过私人IP地址通过远程桌面进行连接?为什么不公开(弹性)呢?你使用什么远程桌面软件? (这看起来像是您的远程桌面软件的问题,还是连接到您的实例的问题?) –

+0

哦,是的,这似乎现在起作用了。谢谢。 –