【发布时间】:2015-11-24 17:47:43
【问题描述】:
我尝试在晚上关闭/启动我的弹性 beanstalk(测试)环境,以在不需要服务器时节省资源。在 EB 的 Web 控制台上,我可以输入触发的基于时间的缩放。
但是,当我在 .ebextensions 文件夹中添加一个应该执行相同操作的配置文件时,服务器根本无法扩展。
根据 Elastic Beanstalk 的documentation(搜索“Examples of Time-based Scaling Option Settings Files”),可以添加一个 .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 documentation
【问题讨论】:
-
我想将它放在我的代码库中,并在需要时将其重用于其他项目。与通过网站进行相比,这将节省一些点击时间(如果它可以开箱即用)
-
0 是最小和最大尺寸的有效值吗?我认为最小有效值为 1,除非自我上次设置 Elastic Beanstalk 应用程序以来发生了变化。
-
是的,0 是一个有效数字。如果我在网站上进行配置,EB 会将 min/max/desired 实例缩放为 0 并基本上将其关闭。
标签: amazon-web-services amazon-elastic-beanstalk