我需要从AutoScalingGroup终止实例,因为ASG的策略使扩展实例的运行时间超出了预期。完成运行python进程后,我需要终止该实例。
代码已经使用Boto访问其他AWS服务,因此我希望利用Boto自我终止。有人告诉我,在终止实例之前,需要先将实例与其ASG分离,以免产生副作用。
有什么主意我可以去做这种超脱和自我终结吗?
答案 0 :(得分:0)
可以使用detach_instances()
将实例从Auto Scaling组中删除:
从指定的Auto Scaling组中删除一个或多个实例。
分离实例后,您可以独立于Auto Scaling组进行管理。
如果您未指定减少所需容量的选项,则Amazon EC2 Auto Scaling会启动实例来替换已分离的实例。
response = client.detach_instances(
InstanceIds=[
'string',
],
AutoScalingGroupName='string',
ShouldDecrementDesiredCapacity=True|False
)
因此,步骤将是:
detach_instances(InstanceIds=['i-xxx'], ShouldDecrementDesiredCapacity=True)
terminate_instances(InstanceIds=['i-xxx'])
这可以从实例本身运行,也可以从Internet上的任何地方运行。