【问题标题】:What is the difference between AWS ASG Launch Templates and Launch Configurations?AWS ASG 启动模板和启动配置有什么区别?
【发布时间】:2020-09-10 20:48:09
【问题描述】:

我在使用 Terraform 配置自动缩放组时感到困惑。我应该为 EC2 属性使用启动配置还是启动模板,例如哪个 AMI、实例类型……?

我不知道它们之间有什么区别,我们应该使用什么以及它们为什么存在?

【问题讨论】:

标签: amazon-web-services terraform autoscaling aws-asg


【解决方案1】:

启动模板 (LT) 比启动配置 (LC) 更新,并提供更多可供使用的选项。因此,AWS documentation recommends 在启动配置 (LC) 上使用启动模板 (LT):

我们建议您从启动模板创建 Auto Scaling 组,以确保您从 Amazon EC2 获得最新功能

LT 和 LC 之间实际的关键区别之一是 LC 是不可变的。一旦你定义它,你就不能编辑它。只有更换是一种选择。但是,一个 LT 可以有多个版本:

定义启动模板而不是启动配置允许您拥有多个版本的模板。通过版本化,您可以创建完整参数集的一个子集,然后重复使用它来创建其他模板或模板版本。

LT 还提供更多 EC2 选项供您配置,例如,只能使用 LT 设置专用托管。同样,使用 T2 无限突发信用选项的能力仅在 LT 中可用。

因此,如果可以,最好遵循 AWS 的建议并使用 LT。

【讨论】:

  • 我想为此添加一些自我启发的琐事。使用 AMI 启动带 LC 的 ASG 时似乎出现了一个错误。即使在正确配置之后,它也会为您提供 无法在根设备上修改快照 ID 的错误。 LT 更稳定,对我有用。
  • @marcin 可以在 LT 中添加多个实例类型吗?或者我们可以将多个 LT 附加到 ASG 以实现 ASG 中的混合实例?
【解决方案2】:

两者都用于 ASG 中的实例创建。


启动配置(旧版):每次都必须重新创建,因为不允许修改。

启动模板(AWS 推荐)

  1. 允许编辑和更新。
  2. 维护版本。
  3. 可以使用 T2 无限爆发功能。
  4. 允许同时使用 On-demandSpot 实例进行配置。
  5. 创建参数子集。(用于重用和继承的部分配置)
  6. 还可用于使用 AWS 控制台、开发工具包和 CLI 启动独立实例。

希望以上回答能解开疑惑。

【讨论】:

    【解决方案3】:

    启动模板类似于 Auto Scaling 组通常用于启动 EC2 实例的启动配置。但是,定义启动模板而不是启动配置允许您拥有多个版本的模板。

    AWS 建议我们应该使用启动模板而不是启动配置,以确保我们可以利用 Amazon EC2 的最新功能,例如 T2 Unlimited 实例。

    启动配置与 Auto Scaling 组一起使用。当您使用 aws EC2 控制台、AWS 开发工具包或命令行工具启动实例时,会使用启动模板。

    启动模板使您能够存储参数(AMI、实例类型、安全组和密钥对等),这样您就无需在每次启动新实例时都定义这些参数。

    【讨论】:

      猜你喜欢
      • 2021-12-05
      • 2021-08-07
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      相关资源
      最近更新 更多