在 AWS 上,为什么要要求 Packer 生成 AMI,因为 ami_from_instance 存在于 terraform 中

On AWS, why should Packer be required to generate AMIs, since ami_from_instance exist in terraform

Terraform 允许使用自定义 ansible 脚本配置 aws 基础设施。

由于来自 terraform 的函数 ami_from_instance, 允许将实例转换为 AMI,aws_instance 相反。 我对这些工具很陌生,我可能不了解它们的微妙之处,但为什么要使用使用 Packer 生成由 Terraform 实例化的 ami 的常见模式?

因为 Packer 使用配置作为代码 创建了一个 AMI,您将拥有一个关于如何创建 AMI 的可重现方法。

如果您使用 Terraforms ami_from_instance,您会创建不可复制源的克隆,从而创建雪花服务器(所有这些都略有不同)。

public 云的另一个重要特性是自动缩放,为此您希望从包含尽可能多的 AMI 开始,这样启动时间就很短。这使得预烘焙的 AMI 比带有初始化脚本的通用 AMI 更好,该初始化脚本安装和配置所有适应您的生产环境。

我不打算重复 "ydaetskcoR" 已经提到的内容。积分。 Packer 真正做的另一个用例是与多个帐户共享 AMI。在我们的设置中,我们在一个账户中创建 AMI 并将其共享给其他账户以供使用。 Packer 是专门为创建 AMI 而构建的,因此比简单的 Terraform ami_from_instance 具有许多功能。我的 2 美分