Feature Request - Instance Refresh

0

Hi,

Can we have "Launch Time" parameter for the Skip Matching feature on Instance Refresh? For example, if the Launch Time is grater than "1700000000" do not replace the instance.

Thanks!

  • Just confirming, your feature request here is essentially "skip instances newer than X date"? Can you give some more details on when you would need this flag in an instance refresh vs a Max Instance Lifetime? https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html

  • Yes our feature request is "skip instances newer than X time"

    During instance launch it pulls new configs. And it creates a volume from an updated snapshot and attach to the instance itself. We do continuous deployment, it will happen at least 10 times a day. Updating launch template each time is not an appropriate idea for this.

    Also we want to keep 100% of instances all the times. So if we set instance healthy percentage to 100% Instance Refresh replaces instance 1 at a time, which increases deployment time. Therefore we double the instances and set 40% as healthy percentage. By using this approach it replaces newly launched instances too, which is unnecessary.

    Therefore we currently running a script to double the instance count and once ready terminate the old instances.

    we can't use maximum instance lifetime because instances launched at 12:01 PM may have newer configs while instances launched at 12:00 PM may have older configs. In this case, how do you set max instance lifetime? If we start the deployment at 12:02 by setting instance lifetime as 60 seconds, then it would run indefinitely because warmup time is 3mins. And AWS recommends to use 1 Day as max instance lifetime.

  • Yes, Looks like this new feature is promising. We may need to choose "Launch before terminating" and set max percentage as 200%. We will evaluate it. Thank you.

  • Is the issue just around the instances getting replaced from the "double the size" launch? If so, it sounds like an Instance Maintenance Policy might work for you. https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html

    You can now add both a MinimumHealthyPercent and MaxHealthyPercent to your Instance Refresh settings. This would avoid needing to double the instance count ahead of time. You could (for example) set MinHP to 100%; and MaxHP to 150%. This would mean the ASG would run 2 batches of replacements, but it would start by launching new instances first before terminating anything

asked 3 months ago116 views
1 Answer
2
Accepted Answer

Added the comment here as an answer for anybody who finds this in the future: Is the issue just around the instances getting replaced from the "double the size" launch? If so, it sounds like an Instance Maintenance Policy might work for you. https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-maintenance-policy.html

You can now add both a MinimumHealthyPercent and MaxHealthyPercent to your Instance Refresh settings. This would avoid needing to double the instance count ahead of time. You could (for example) set MinHP to 100%; and MaxHP to 150%. This would mean the ASG would run 2 batches of replacements, but it would start by launching new instances first before terminating anything

AWS
answered 3 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions