我有三台在 AWS 上运行的高性能计算机。我们的工程师在其上运行需要 192 GB RAM 的特定应用程序。这背后的主要想法是,在他们开始处理工作后,实际上没有人在关注服务器。因此,当工作完成后,服务器继续运行,因此费用昂贵。是否有一个 powershell 脚本可用于在服务器中没有运行应用程序时关闭服务器,或者 AWS 中有办法实现这一点?
答案1
关闭(如shutdown -h now
)AWS 上的 VM 实例不足以阻止亚马逊向您收费。您必须“停止”该实例。
反过来说:“停止”一个实例会几乎立即关闭操作系统。
因此,您很可能想要编写一个脚本,运行您的检查(例如检查 RAM 使用情况)并在满足触发器时“停止”AWS 实例。
我建议使用Get-CIMInstance
命令行和AWSPowerShell 模块停止您的实例。
在 PowerShell 中获取可用物理内存
(Get-CIMInstance Win32_OperatingSystem).FreePhysicalMemory
停止(并关闭)AWS 实例:
Stop-EC2Instance -InstanceId i-123123123