One option is to handle termination yourself. Instead of configuring autoscaling to downscale your instance group, put the logic to determine if an instance needs to terminate in the instance itself. Once you decide that an instance needs to self-terminate, do whatever work you need to do before terminating, and then call the as-terminate-instance-in-auto-scaling-group
command with --decrement-desired-capacity
option to terminate the instance. E.g.:
as-terminate-instance-in-auto-scaling-group --decrement-desired-capacity i-d15ea5e
See this AWS forum thread: https://forums.aws.amazon.com/thread.jspa?messageID=407743&tstart=0#407743.