找到新的启动配置时自动更新 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 强制设置为较低的数值,从而触发缩减。
我正在尝试自动部署到 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 强制设置为较低的数值,从而触发缩减。