哪个更具成本效益:Amazon EC2 快照还是 AMI?

哪个更具成本效益:Amazon EC2 快照还是 AMI?

我有一个基于 EBS 的 Amazon EC2 实例 ( m4.xlarge) 正在运行。这个实例example已经使用了一段时间,并且处于我们希望所有未来实例都具有的状态。以下哪种方法更具成本效益?

  1. 快照:创建 的快照example。然后每次需要新实例时,从快照创建新卷并将其附加到实例。

  2. AMI:从 创建一个映像example。此映像已包含所需的一切,因此请继续从此映像创建新实例。

从长远来看,哪一种策略更具成本效益?这两种方法之间有什么联系?还有其他方法可以实现同样的目标吗?

答案1

这个问题是基于不完整的信息提出的。

  • AMI 由一个或多个快照(其计费方式与任何其他快照完全相同)加上几个字节的元数据组成。据我所知,没有关于存储元数据收费的记录。如果是收费的,那么费用会很小,以至于不会被注意到。

  • 如果您要创建新实例,则必须从 AMI 开始。没有 AMI 就无法创建实例。启动实例时,您总是选择一个 AMI,即使它恰好是一个安装了基本操作系统的 AMI。

因此,就成本而言,没有有意义的区别,就 AMI 而言,没有有意义的替代方案……至少对于基于快照的配置而言。我的意思是,当然您可以将压缩的 tarball 或原始磁盘映像存储在您自己的文件中,然后将其提取到磁盘上,但这些都不是实用的选择。


许多人会争辩说,特别是在云环境中,基于快照/映像的配置的更好方法是使用像 Ansible 这样的工具来自动配置您的机器,从基本操作系统安装开始,最终得到一个具有所有依赖项和代码的工作系统 - 这使您的配置作为一组可重复的步骤存在,您可以在版本控制中进行管理。

当然,“自动”听起来像魔术。我们说的不是魔术,而是自动执行一组预先定义的步骤,这些步骤经过测试,并且已知可以工作并产生所需的结果。

首先,完成所有的设置和测试可能会有更多的工作,但从长远来看,这将是一个更加顺利的过程,因为你确切地知道你的系统应该如何达到它们应该的状态。

我的目的不是要认可这个答案的优越性,但作为老派的老手,我越来越喜欢这个新技巧。

相关内容