我在GCE上有一个VM实例,已经进行了配置。它具备我项目所需的所有库安装和源代码。现在为了扩展问题,我想运行更多完全相同代码的VM实例以提高性能。据我了解,有两种方法可以实现这一点。一种是从持久磁盘创建映像以重用磁盘状态。另一种方法是使用快照。似乎没有任何文档解释不同情况下的差异和用法。我想知道哪种方法适合我的目的。先谢谢了。
持久磁盘映像可以被导出并在项目外使用。如果您想要,您可以将其下载到自己的计算机上,这样在某人意外删除图像时更容易制作冗余副本。快照更适合备份虚拟机等方面。它们是差分的,因此如果您每周拍摄一个新快照,您只需要支付差异费用。就存储成本而言,快照 更便宜,但如果您跨区域使用它们,则会收取网络费用。我认为映像没有这个网络费用。在这种情况下,我觉得持久磁盘映像可能是更好的选择。它们都应该能够工作,我不认为使用任何一种方式都是“错误”的。以下是一些更多解释差异的链接: Google Compute Engine:磁盘快照和磁盘映像之间的区别是什么? GCE API 用于差分快照
Sandeep的回答提到了大部分要点,包括快照更便宜。然而,据我所见,当你在两者之间做出决定时,成本并不是那么重要,因为它们每GB的成本都非常低。文档强调的主要因素是,您可以使用磁盘映像在任何区域创建实例而不会产生任何费用。事实上,我曾经使用这个功能将GCE实例从一个区域迁移到另一个区域。