我计划使用 36 个 vCPU EC2 实例在 Windows(7、10 或服务器)上编译大型 C++ 项目。由于成本高,此实例仅在我们需要时运行,然后运行 1-2 小时。有时我们需要对 C 盘进行维护,例如下载和安装软件、删除文件等。这可能需要时间,如果我们为此运行 36 个 vCPU,成本会很高。实际上 1 个 vCPU 就足够了。
是否可以为多台 EC2 机器使用与 C 盘相同的磁盘?这样我就可以使用 1 个 vCPU 实例进行维护。机器不会同时运行。唯一的区别是 vCPU 的数量。
EBS 卷不能在运行的 EC2 实例之间共享。在任何给定时间,一个 EBS 卷只能由单个 EC2 实例使用。
您可以停止 EC2 实例,分离卷,然后将其附加到另一个 EC2 实例。
但是,对于您的用例,有一个更简单的解决方案:EC2 实例可以更改实例类型(例如,从 m4.xlarge 更改为 t2.small,然后再更改)。
当您想要执行维护时,您可以:
请注意,根据 EC2 实例类型,您可能还需要调整 EC2 实例上的“EBS 优化”标志。
例如,M4 实例支持 EBS 优化,但 T2 不支持。所以如果你在这两种类型之间切换,你也需要调整 EBS 优化标志。
以上是降低 EC2 实例成本的一个完全有效的用例。
建议的实例切换可能是这里最好的解决方案。您还可以编写脚本,以便进一步简化该过程。