Amazon web services 关闭EC2实例前提示
是否可以对EC2实例执行“有条件”关闭,以便关闭过程在关闭之前请求VM实例本身的任何登录用户确认 <>我们的VM实例在一个固定的计划中被启动/停止,有时我们会被强制关闭而陷入工作的中间。如果我们能让关闭过程在任何活动用户会话中提示,并让用户有机会说“不,谢谢,我正在工作”来停止关闭,那就太好了Amazon web services 关闭EC2实例前提示,amazon-web-services,amazon-ec2,amazon-vpc,Amazon Web Services,Amazon Ec2,Amazon Vpc,是否可以对EC2实例执行“有条件”关闭,以便关闭过程在关闭之前请求VM实例本身的任何登录用户确认 我们的VM实例在一个固定的计划中被启动/停止,有时我们会被强制关闭而陷入工作的中间。如果我们能让关闭过程在任何活动用户会话中提示,并让用户有机会说“不,谢谢,我正在工作”来停止关闭,那就太好了 有人知道EC2实例是否有这样的功能,或者类似的功能是如何实现的吗?我同意这将是一个很棒的功能(我现在有点想要),但亚马逊方面没有办法做到这一点。当您停止或终止一个实例时,该实例永远不会有机会抱怨—这就像是猛拉
有人知道EC2实例是否有这样的功能,或者类似的功能是如何实现的吗?我同意这将是一个很棒的功能(我现在有点想要),但亚马逊方面没有办法做到这一点。当您停止或终止一个实例时,该实例永远不会有机会抱怨—这就像是猛拉电源线一样 但是,从您的评论“我们的VM实例是按照设置的时间表启动/停止的”,听起来您好像有一个脚本或cronjob在某处运行,它使用AWS API关闭实例 假设如此,我建议您遵循以下路径:
*我不知道如何做到这一点。通过介绍我的想法:在EC2中的Linux虚拟机上,如果您指示系统关闭并“关机”(例如,
sudo halt
),不仅机器看起来做了您期望的事情,实例本身实际上也会在EC2中转换到“stopped”状态
我不在EC2中使用Windows,只使用Linux,我不认为自己是Windows服务器专家,但是假设EC2中的Windows实例看到了相同的行为整合,那么我看到了两个看似可行的选项。p> 第一个选项:您的计划维护脚本不是通过EC2 API停止实例,而是通过远程调用
shutdown
命令指示机器自行关闭
shutdown/m\\computername/s/t 600/c“nighty night”
据我所知,这将为任何登录用户弹出一个警告,然后用户可以选择在600秒警告过期之前取消关机:
shutdown/a
可能会有一些复杂的情况,比如身份验证需要采用的方式,或者其他一些Windows的怪癖使得这个解决方案成了问题,但从我的角度来看,它似乎非常理想。脚本可以继续尝试每小时停止一次机器,或者不管多么频繁,直到发现机器实际上已经处于停止状态
第二种选择:您不希望依赖实例本身,但是如果远程调用shutdown
比看起来更复杂,然后,计划B是您可以在实例本身上使用任务调度器来执行相同的功能——调用带有超时的shutdown实用程序,以便用户有时间在需要时中止。作为故障保护,如果机器没有停机,您随后仍然可以进行API调用,但可以在以后进行调用,同时发出警报/警报,通知您需要使用备用位置,这将提醒您一线关机系统可能没有按预期运行
当然,在Linux中,这可以很容易地实现为一个cron作业,它触发了
shutdown
命令,该命令会广播警告,同样可以由具有足够权限的用户中止,或者由通过SSH连接到机器并按计划发出shutdown命令的远程进程中止。该“计划”如何实际执行?如果实例正在停止(而不是终止),那么是的,可能有一种有效的方法。。。但这取决于当前启动关机的方式。现在,我们正在使用powershell脚本中的标准AWS api执行此操作,而powershell脚本又使用windows任务计划程序进行计划。实例是否也是windows计算机?是,我们计划自动启动/停止的所有机器都是windows机器。这不是个坏主意,但我真的希望在不依赖客户端机器的情况下完成它。我想知道是否有一个内置的windows实用程序来提示并获得响应?