I want to create a job that will process a queue (SQS) every now and then (not scheduled). Is it possible for me to create an auto scaling group that starts with 1 instance (desired capacity), scaled out and then scaled down to zero once the queue is empty?
Is the desired capacity of 1, and minimum group size of zero a common pattern (solution) for this?
Yes, it's possible, though it's not clear to me why you would want to start your ASG at 1.
(I see that John Rotenstein covered some of the nuances of ASG scaling pretty well above. Agreed with him on that.)
Other options to consider: