AWS成本管理和基于标记启动多个实例

时间:2017-06-07 18:08:21

标签: amazon-web-services amazon-ec2 aws-cli amazon-cloudwatch

我正在努力完成两件事:1。电源管理,2。基于公共标签或其他功能启动服务器组的能力。

电源管理:我确实看过EC2 Scheduler关闭和启动系统,这里的开发商店非常灵活,可能会在白天或晚上的虚假时间工作。周末可能很难关闭实例,但我认为CloudWatch警报(可能通过cloudformation部署)是一个更好的解决方案;只是在服务器闲置足够长的时间后关闭服务器?

启动是我还不确定的。如果所有内容都通过CloudWatch Alarms关闭,那么我需要它让开发人员轻松地启动服务器组而不会有太多麻烦 - 所以最多只需要一个简单的命令。有没有办法基于标记或类似的东西来实现这一点?

注意这是针对开发环境,生产将使用不同的电源管理。

谢谢!

1 个答案:

答案 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`

您可以将此提供为开发人员在想要停止/启动实例时可以运行的脚本。或者,您可以编写一个他们通过网页访问的小型网络应用程序,代表他们调用它。 (更安全,因为您不需要为他们提供凭据。)