Bri*_*box 8 billing amazon-web-services autoscaling
由于AWS实例按小时计费,因此如果有可能再次需要,则终止已运行不到一小时的实例是没有意义的.
我想避免一个自动缩放的情况,我添加一个实例,然后终止它,然后在同一小时内添加另一个实例.这将导致两个可计费小时.
我编写了自己的自动缩放器,它跳过了终止任何运行时间少于55分钟的实例,并且为了快速更改负载,这为我们节省了大量的费用.只是想知道AWS本身是否具备此功能.
Auto Scaling无法"等待"直到一小时结束才能终止实例.但是,有一些选择可供探索!
当触发扩展策略以指示Auto Scaling扩展(删除Amazon EC2实例)时,它首先选择具有最多实例的可用区,然后确定在该可用区内终止的实例.此选择由终止策略进行,终止策略的值可以是:
- OldestInstance:Auto Scaling终止组中最旧的实例.当您将Auto Scaling组中的实例升级到新的EC2实例类型,并希望最终用较新的实例替换具有较新实例的实例时,此选项很有用.
- NewestInstance:Auto Scaling终止组中的最新实例.当您测试新的启动配置但不想将其保留在生产环境中时,此策略非常有用.
- OldestLaunchConfiguration:Auto Scaling终止具有最早启动配置的实例.当您更新组并从先前配置中逐步淘汰实例时,此策略非常有用.
- ClosestToNextInstanceHour:Auto Scaling终止最接近下一个计费小时的实例.此策略可帮助您最大限度地使用实例并管理成本.
最后一个选项ClosestToNextInstanceHour几乎就是你要求的,因为它会终止一个下一次会导致每小时充电的实例.但是,它不会等到小时结束.
一种选择是编写自己的应用程序,确定何时扩展实例,等待实例提供其完整值.然后,应用程序可以调用TerminateInstanceInAutoScalingGroup以删除并终止实例.
另一个选项,如果实例被用作"后端"(不直接处理Web请求),则使用Auto Scaling生命周期挂钩,当从自动扩展组中删除实例时,它会发送信号,但在此之前终止.这通常用于为实例提供"完成"工作的机会,例如复制日志文件和完成任务.如果实例用于处理长时间运行的后台任务,则生命周期挂钩可用于等待工作完成或直到计费时间快结束,然后才允许终止实例.
但是,所有这些都需要一些自定义脚本.开箱即用的自动缩放配置将立即终止实例以响应扩展策略(除非连接耗尽有效).
| 归档时间: |
|
| 查看次数: |
718 次 |
| 最近记录: |