我正在努力完成两件事:1。电源管理,2。基于公共标签或其他功能启动服务器组的能力。
电源管理:我确实看过EC2 Scheduler关闭和启动系统,这里的开发商店非常灵活,可能会在白天或晚上的虚假时间工作。周末可能很难关闭实例,但我认为CloudWatch警报(可能通过cloudformation部署)是一个更好的解决方案;只是在服务器闲置足够长的时间后关闭服务器?
启动是我还不确定的。如果所有内容都通过CloudWatch Alarms关闭,那么我需要它让开发人员轻松地启动服务器组而不会有太多麻烦 - 所以最多只需要一个简单的命令。有没有办法基于标记或类似的东西来实现这一点?
注意这是针对开发环境,生产将使用不同的电源管理。
谢谢!
答案 0 :(得分:2)
通常的做法是根据标记停止/启动Amazon EC2实例。
以下是Python中的示例:stopinator.py
或者,你可以使用AWS Command-Line Interface (CLI)。
此命令列出具有给定标记的所有实例:
aws ec2 describe-instances --filter Name=tag:Department,Values=HR --query Reservations[*].Instances[*].InstanceId --output text
可以将其插入命令以停止实例:
aws ec2 stop-instances --instance-ids `aws ec2 describe-instances --filter Name=tag:cleanup,Values=ignore --query Reservations[*].Instances[*].InstanceId --output text`
您可以将此提供为开发人员在想要停止/启动实例时可以运行的脚本。或者,您可以编写一个他们通过网页访问的小型网络应用程序,代表他们调用它。 (更安全,因为您不需要为他们提供凭据。)