Simple Notification Service (SNS)
Kinesis + MQ
Databases & Analytics
Lifecycle Hooks
  • Lifecycle hooks enable you to perform custom actions by pausing instances as an Auto Scaling group launches or terminates them.
  • When an instance is paused, it remains in a wait state either until you complete the lifecycle action using the complete-lifecycle-action command or the CompleteLifecycleAction operation, or until the timeout period ends (one hour by default).
  • For example, your newly launched instance completes its startup sequence and a lifecycle hook pauses the instance.
    • While the instance is in a wait state, you can install or configure software on it, making sure that your instance is fully ready before it starts receiving traffic.
  • For another example of the use of lifecycle hooks, when a scale-in event occurs, the terminating instance is first deregistered from the load balancer (if the Auto Scaling group is being used with Elastic Load Balancing).
    • Then, a lifecycle hook pauses the instance before it is terminated.
    • While the instance is in the wait state, you can, for example, connect to the instance and download logs or other data before the instance is fully terminated.
  • This shows the transitions between instance states in this process:
Copy link