我在EC2实例上运行自定义事务任务。在此实例上运行的特殊进程在许多条件下决定是否关闭实例。终止应该由实例本身完成,因为Autoscaling Group不知道数据处理何时完成。以下步骤是否符合AWS的理念?
EC2上的自定义流程调用命令:
$ sudo shutdown -P now
在适当的时间终止实例。
这是对的吗?或者也许AWS有一些工具可以做到这一点,例如。发出特殊信号以终止实例?
谢谢
答案 0 :(得分:0)
我相信这个过程有一个问题:
在步骤1中,“关闭行为:终止”选项不是AMI级别设置。对于在自动缩放组外部启动的实例,它是启动时间设置。
在Autoscaling Group中,没有选项可以使用“Shutdown behavior:Terminate”等效配置启动配置。据推测,ASG实例必须在事件规模期间终止。
简单的方法是让实例调用AWS CLI terminate-instances命令:
aws ec2 terminate-instances --instance-ids i-xxxxxxxx
您需要从AWS Metadata获取实例ID才能运行terminate-instances
命令。