基于时间的弹性Beanstalk缩放

seb*_*ian 5 amazon-web-services amazon-elastic-beanstalk

我尝试关闭/启动我的弹性beanstalk(测试)环境过夜,以便在不需要服务器时节省资源.在EB的Web控制台上,我可以输入触发的基于时间的缩放.

但是,当我在.ebextensions文件夹中添加一个应该执行相同操作的配置文件时,服务器根本不会扩展.

根据Elastic Beanstalk 的文档(搜索" 基于时间的扩展选项设置文件的示例 "),可以添加带有基于时间的缩放配置的.ebextension文件.

所以我调整了示例并将相应的定义添加到项目中:

{ [ { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "MinSize", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "MaxSize", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "DesiredCapacity", "Value": "0" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "StartTime", "Value": "2015-11-18T16:50:00Z" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "OvernightShutdown", "OptionName": "Recurrence", "Value": "00 21 * * 1-5" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "MinSize", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "MaxSize", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "DesiredCapacity", "Value": "1" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "StartTime", "Value": "2015-11-19T05:00:00Z" }, { "Namespace": "aws:autoscaling:scheduledaction", "ResourceName": "MorningStartup", "OptionName": "Recurrence", "Value": "00 07 * * 1-5" } ] }

基本上这是复制和粘贴,并根据我的需要稍作调整.我将它放在项目中的.ebxtensions/autoscaling.config文件中并将其部署到EB.

现在服务器应该在UTC时间晚上9点缩小("OvernightShutdown")到0,并且应该在UTC时间早上7点向上扩展("MorningStartup").

但是,"OvernightShutdown"和"MorningStartup"在他们应该的时候不会被触发.

我曾经在文件中输入过一次错字,然后EB告诉我它无法解析它,所以我知道我读取了文件,但显然它并没有将配置应用到环境中.

有人知道这可能是什么问题?我的配置错了吗?由于那里没有太多的例子,文件如何看起来像我没有正确的参考,除了EB 文档中的那个

seb*_*ian 2

我还在 AWS / EB 板上发布了这个问题,他们对此问题给出了有用的答案:

链接到 AWS 板

解决方案是使用yaml配置而不是json,因为EB似乎json-config有问题。但他们根据答案修复了它。