找到新的启动配置时自动更新 Auto Scaling 组中的 EC2 实例

Auto renew EC2 instances in an Auto Scaling Group when a new launch config is found

我正在尝试自动部署到 Auto Scaling 组中的实例。

遗憾的是,我无法考虑 CodeDeploy 或其他 AWS 服务,因此我尝试仅使用 EC2 工具来执行此操作。

这是我的方法: 我写了一个脚本,它从 "master" 实例(我正在部署的唯一一个实例)创建一个 AMI,然后用它创建一个新的启动配置,然后用它更新我的自动缩放组。

我正在尝试利用终止政策,更具体地说是 "oldest launch configuration" 政策。 它就像一个魅力,但正如您可能已经知道的那样,这仅在 缩放 时有效。

如何在未缩减时更新我的​​实例?关于如何强制终止 "old" 个实例有什么建议吗?

感谢帮助!

你是对的——Auto Scaling Termination Policy 确定当 Auto Scaling 组 scales-in(删除一个实例)时将终止哪些实例。

因此,刷新总机队的最佳方法是:

  • 横向扩展 增加 Auto Scaling 组的最小 大小
  • 等待一切启动并稳定
  • 缩小 减少 最小尺寸

根据您的缩减策略,这将导致您的 Auto Scaling 组减少组中的实例数。具有 最旧启动配置 的实例将首先终止。 (或者,您可以使用 OldestInstance,这会产生类似的效果。)

如果您的扩展策略不会导致实例终止,您可以将 Desired Capacity 强制设置为较低的数值,从而触发缩减。