在 Windows EC2 实例之间共享磁盘

在 Windows EC2 实例之间共享磁盘

我计划使用 36 vCPU EC2 实例在 Windows(7、10 或 Server)上编译大型 C++ 项目。由于成本高昂,此实例仅在我们需要时运行,并且持续 1-2 小时。有时我们需要对 C 盘进行维护,例如下载和安装软件、删除文件等。这可能需要时间,而且如果我们为此运行 36 个 vCPU,成本会很高。实际上 1 个 vCPU 就足够了。

是否可以将同一磁盘用作多台 EC2 机器的 C 盘?这样我就可以使用 1 个 vCPU 实例进行维护。机器不会同时运行。唯一的区别是 vCPU 的数量。

答案1

EBS 卷无法在正在运行的 EC2 实例之间共享。任何给定时间,一个 EBS 卷只能由一个 EC2 实例使用。

您可以停止您的 EC2 实例,分离卷,然后将其附加到另一个 EC2 实例。

但是,对于您的用例,有一个更简单的解决方案:EC2 实例可以更改实例类型(例如,从 m4.xlarge 到 t2.small,然后再返回)。

当您想要进行维护时,您可以:

  1. 停止强大的 EC2 实例(如果它正在运行)
  2. 将 EC2 实例类型更改为较小的类型(通过 AWS 管理控制台中的“操作”菜单完成)
  3. 启动您的 EC2 实例。
  4. 通过 RDP 进入实例并执行维护。
  5. 维护完成后,停止 EC2 实例。
  6. 将 EC2 实例类型恢复为强大的实例类型。

请注意,根据 EC2 实例类型,您可能还需要调整 EC2 实例上的“EBS 优化”标志。

例如,M4 实例支持 EBS 优化,但 T2 实例不支持。因此,如果您在这两种类型之间切换,您还需要调整 EBS 优化标志。

以上是降低 EC2 实例成本的一个非常有效的用例。

答案2

建议的实例切换可能是最佳解决方案。您还可以编写脚本,以便进一步简化流程。

相关内容