我有一个要求,我需要每天自动启动和停止AWS EC2实例(在Autoscaling组内)。这主要是为了防止成本。我已经构建了一个Python脚本来启动和停止EC2实例但由于EC2实例位于Autoscaling组中,因此无法正常工作。 有人知道任何解决方案吗?
Amazon EC2 Auto Scaling组旨在自动扩展,以便在工作负载较高时添加额外实例,并在工作负载较少时删除实例。
Auto Scaling还有助于确保应用程序的运行状况。如果Auto Scaling组中的实例未通过运行状况检查,则会自动终止该实例。然后,Auto Scaling将启动一个新实例来替换它。
您的要求似乎是在不使用应用程序时降低成本。这可以通过创建扩展策略来完成,该策略定义Auto Scaling何时应添加和删除实例,例如:
(请注意,快速向外扩展通常很好,但是要慢慢扩展。)
通过使用这样的扩展策略,甚至automatic Target Tracking,Auto Scaling将为您处理事情。
另一方面,如果您希望手动控制Auto Scaling组,则可以使用以下命令添加和删除实例:
set_desired_capacity()
告诉Auto Scaling你想要多少个实例(让它启动/终止匹配的实例)terminate_instance_in_auto_scaling_group()
从Auto Scaling组中删除特定实例您永远不应该直接停止/终止Auto Scaling组中的实例,否则Auto Scaling将假定实例失败并自动启动替换。
您需要做的是自动化自动缩放参数,所需实例,最小实例和最大实例。理想情况下,您希望更改所需的实例数量。这将导致自动缩放器终止过多的实例,以满足所需的实例数量。