Gea*_*iro 11 amazon-web-services amazon-elastic-beanstalk
我有一个infra使用亚马逊弹性beanstalk来部署我的应用程序.我需要扩展我的应用程序,添加EB不支持的一些现场实例.
因此,我使用spot实例从启动配置创建第二个自动缩放.自动扩展使用由beanstalk创建的相同负载均衡器.
要使用我的应用程序的最新版本启动实例,我将用户数据从原始启动配置(使用beanstalk创建)复制到具有spot实例的启动配置(由我创建).
这工作正常,但是:
如何更新由他使用新版本的应用程序管理的beanstalk更新实例时从第二次自动缩放中获得的spot实例?
是否有另一种方式如此简单,优雅,使用现场实例并享受豆茎的好处?
Jan*_*ser 13
我自己问这个,并找到了一个弹性豆茎的内置解决方案.它被形容这里如下:
- 在.ebextensions文件夹下添加一个文件,对于我们的设置,我们将文件命名为spot_instance.config(.config扩展名很重要),将下面的内容粘贴到文件 https://gist.github.com/rahulmamgain中/ 93f2ad23c9934a5da5bc878f49c91d64
- EC2_SPOT_PRICE的值可以通过弹性beanstalk环境配置来设置.要禁用spot实例的使用,只需从环境设置中删除该变量即可.
- 如果环境已存在并且上述设置是更新,则将销毁旧的自动缩放组并创建新的自动缩放组.
- 然后,环境提交对spot实例的请求,可在EC2仪表板上的Spot Instances选项卡下查看.
- 完成请求后,实例将添加到新群集和自动缩放组.
- 您可以使用Spot Advisor工具确定所使用实例的最佳价格.
- 价格点原价的30%似乎是一个不错的水平.
我个人只会使用给定实例类型的按需价格,因为此价格是您愿意支付的上限.这样可以降低价格过高的可能性,从而降低实例的终止时间.
这可能不是生产系统的最佳方法,因为不可能在多个按需实例和额外数量的现场实例之间进行拆分,并且可能很少有可能没有可用的现场实例,因为其他人是以高出价购买整个市场.
对于生产用例,我会查看https://github.com/cristim/autospotting,它会主动管理所有自动扩展组,并尝试在最低价格和可配置数量或按需实例百分比之间取得平衡.
截至 2019 年 11 月 25 日,AWS 原生支持将 Spot 实例与 Beanstalk 结合使用。
通过转至所需的 Elastic Beanstalk 环境,然后选择配置>容量并将队列组合更改为“启用 Spot 实例”,可以在控制台中启用 Spot 实例。
您还可以在其中设置选项,例如按需与 Spot 百分比以及要使用的实例类型。
可以在Beanstalk Auto Scaling Group 支持页面中找到更多信息
| 归档时间: |
|
| 查看次数: |
3253 次 |
| 最近记录: |