【问题标题】:Does it make sense to bake your AMI if you use cfn-init in your cloudformation template?如果您在 cloudformation 模板中使用 cfn-init,烘焙 AMI 是否有意义?
【发布时间】:2015-09-02 08:13:17
【问题描述】:

我开始怀疑我是否错过了 cfn-init 的全部要点。我开始考虑我应该烘焙我在 cfn 模板中使用的 AMI 以节省时间,这样就不会浪费时间重新安装所有软件包,这样我就可以快速测试下一个 boostrapping 步骤。但是,如果我在我的 cfn-init 命令中有下载 awslogs 并通过在我的用户数据中执行 cfn-init 命令来流式传输我的日志,如果我将其放入,我的日志组将被创建,但 awslog 程序不需要运行一个新的命令来开始流式传输日志,如果该命令被烘焙是没有意义的。这让我想到了我的下一个问题,cfn-init bootstrapping 是否设计(或至少是最佳实践)在每次新的 ec2 时运行它旋转起来,即您不能或不应该在 cfn-init 部分烘烤?

【问题讨论】:

    标签: bootstrapping amazon-cloudformation


    【解决方案1】:

    您的疑问非常有道理,这纯粹是 devop 的设计方法和工作风格。

    如果你的 cfn-int 只是完成了几个包的安装;很好,这可以在 AMI 中烘焙。正如您正确指出的那样,这将节省时间并确保更快地创建堆栈。

    但是,如果您想安装最新版本的软件包怎么办;在这种情况下,您只需将最新标志/关键字添加到 cfn-init 包部分。我已经使用 cfn-init 来动态接受 Active Directory 的 BIOS 名称 - 域控制器;所以在这种情况下,我无法在 AMI 中进行烘焙。

    cfn-init 帮助的另一个地方是假设您已经配置了 4 个要安装的软件包;如果您还需要安装另一个软件包怎么办?在这种情况下 - 如果是 CloudFormation cfn-init - 这是要添加的另一行代码。如果是 AMI - 一种新的 AMI 方法,新的 AMI 必须烘焙。

    这纯粹是一种权衡。

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 2019-07-08
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多