terminating EC2 instance from autoscaling group in Amazon

I'm running custom transactional tasks on my EC2 instances. The decision to shutdown or not an instance is taken under many conditions by special process running on this instance. The termination should be done by instance itself, because Autoscaling Group does not know when data processing is finish. Do the following steps are consistent with the philosophy of AWS?

  • Creates AMI with option: "Shutdown behaviour: Terminate".
  • Autoscaling group creates a new instance with option "Protect From Scale In".
  • Custom process on EC2 calls command:

    $ sudo shutdown -P now
    

    to terminate an instance in proper time.

  • Is that correct? Or maybe AWS has some tools to do that, eg. emit special signal to terminate an instance?

    Thank you


    That process has one issue I believe:

    In step 1, the "Shutdown behaviour: Terminate" option is not an AMI level setting. It is a launch time setting, for instances launched outside of an autoscaling group.

    Within an Autoscaling Group, there is no option to configure a Launch Configuration with the equivalent of "Shutdown behaviour: Terminate". Presumably, ASG instances must be terminated during scale in events.

    The simple approach would be to have the instance call the AWS CLI terminate-instances command:

    aws ec2 terminate-instances --instance-ids i-xxxxxxxx
    

    You would need to acquire the instance id from the AWS Metadata in order to run the terminate-instances command.

    链接地址: http://www.djcxy.com/p/63392.html

    上一篇: Amazon EC2自动扩展实例始终显示状态为“挂起”

    下一篇: 终止Amazon中的自动缩放组的EC2实例