【发布时间】:2013-12-22 05:23:01
【问题描述】:
我想知道是否有一个选项可以将 Amazon Elastic Beanstalk 作为一个原子单元停止,就像我可以使用 EC2 服务器而不是通过每个服务(例如负载均衡器、EC2..)并停止(和启动)它们一样独立?
【问题讨论】:
-
看来这个问题应该在serverfault.com
标签: amazon-web-services amazon-elastic-beanstalk
我想知道是否有一个选项可以将 Amazon Elastic Beanstalk 作为一个原子单元停止,就像我可以使用 EC2 服务器而不是通过每个服务(例如负载均衡器、EC2..)并停止(和启动)它们一样独立?
【问题讨论】:
标签: amazon-web-services amazon-elastic-beanstalk
EB command line interface 有一个eb stop 命令。 Here 有点关于命令的实际作用:
eb stop 命令删除正在运行您的应用程序的 AWS 资源(例如 ELB 和 EC2 实例)。但是,它会留下您已部署的所有应用程序版本和配置设置,因此您可以快速重新开始。当您开发和测试应用程序并且不需要 AWS 资源在夜间运行时,Eb stop 是理想的选择。您只需运行 eb start 即可重新开始。
编辑:
如以下评论所述,这不再是新的eb-cli 中的命令。
【讨论】:
eb-cli 中的命令。 eb-cli 和 Web 控制台中只有一个“终止环境”(eb terminate)。
如果你有一个负载均衡的环境,你可以试试下面的技巧
$ aws autoscaling update-auto-scaling-group \
--auto-scaling-group-name my-auto-scaling-group \
--min-size 0 --max-size 0 --desired-capacity 0
它将从环境中删除所有实例,但不会删除环境本身。不幸的是,您仍然需要为弹性负载均衡器付费。但通常EC2是最“重”的部分。
它适用于 0 吗?
是的,确实如此
$ aws autoscaling describe-auto-scaling-groups --region us-east-1 \
--auto-scaling-group-name ASG_NAME \
--query "AutoScalingGroups[].{DesiredCapacity:DesiredCapacity,MinSize:MinSize,MaxSize:MaxSize}"
[
{
"MinSize": 2,
"MaxSize": 2,
"DesiredCapacity": 2
}
]
$ aws autoscaling update-auto-scaling-group --region us-east-1 \
--auto-scaling-group-name ASG_NAME \
--min-size 0 --max-size 0 --desired-capacity 0
$ aws autoscaling describe-auto-scaling-groups --region us-east-1 \
--auto-scaling-group-name ASG_NAME \
--query "AutoScalingGroups[].{DesiredCapacity:DesiredCapacity,MinSize:MinSize,MaxSize:MaxSize}"
[
{
"MinSize": 0,
"MaxSize": 0,
"DesiredCapacity": 0
}
]
然后你可以检查环境状态
$ eb status -v
Environment details for: test
Application name: TEST
Region: us-east-1
Deployed Version: app-170925_181953
Environment ID: e-1234567890
Platform: arn:aws:elasticbeanstalk:us-east-1::platform/Multi-container Docker running on 64bit Amazon Linux/2.7.4
Tier: WebServer-Standard
CNAME: test.us-east-1.elasticbeanstalk.com
Updated: 2017-09-25 15:23:22.980000+00:00
Status: Ready
Health: Grey
Running instances: 0
在 beanstalk 网络控制台中,您将看到以下消息
INFO Environment health has transitioned from Ok to No Data.
There are no instances. Auto Scaling group desired capacity is set to zero.
【讨论】:
aws:autoscaling:asg:minSize 有效值为1 to 10000。它适用于0 吗?
eb stop 已弃用。我也遇到了同样的问题,我能想到的唯一解决方案是备份环境,然后恢复它。
这是我正在解释的博客文章: http://pminkov.github.io/blog/how-to-shut-down-and-restore-an-elastic-beanstalk-environment.html
【讨论】: