There are two primary Auto Scaling process types-- Launch and Terminate . The Launch process creates a new Amazon EC2 instance for an Auto Scaling group, and the Terminate process removes an existing Amazon EC2 instance.
The remaining Auto Scaling process types relate to specific Auto Scaling features:
IMPORTANT: If you suspend Launch or Terminate, all other process types are affected to varying degrees. The following descriptions discuss how each process type is affected by a suspension of Launch or Terminate.
The AddToLoadBalancer process type adds instances to the load balancer when the instances are launched. If you suspend this process, Auto Scaling will launch the instances but will not add them to the load balancer. If you resume the AddToLoadBalancer process, Auto Scaling will also resume adding new instances to the load balancer when they are launched. However, Auto Scaling will not add running instances that were launched while the process was suspended; those instances must be added manually using the the RegisterInstancesWithLoadBalancer call in the Elastic Load Balancing API Reference .
The AlarmNotification process type accepts notifications from Amazon CloudWatch alarms that are associated with the Auto Scaling group. If you suspend the AlarmNotification process type, Auto Scaling will not automatically execute scaling policies that would be triggered by alarms.
Although the AlarmNotification process type is not directly affected by a suspension of Launch or Terminate , alarm notifications are often used to signal that a change in the size of the Auto Scaling group is warranted. If you suspend Launch or Terminate , Auto Scaling might not be able to implement the alarm's associated policy.
The AZRebalance process type seeks to maintain a balanced number of instances across Availability Zones within a Region. If you remove an Availability Zone from your Auto Scaling group or an Availability Zone otherwise becomes unhealthy or unavailable, Auto Scaling launches new instances in an unaffected Availability Zone before terminating the unhealthy or unavailable instances. When the unhealthy Availability Zone returns to a healthy state, Auto Scaling automatically redistributes the application instances evenly across all of the designated Availability Zones.
IMPORTANT: If you call SuspendProcesses on the launch process type, the AZRebalance process will neither launch new instances nor terminate existing instances. This is because the AZRebalance process terminates existing instances only after launching the replacement instances. If you call SuspendProcesses on the terminate process type, the AZRebalance process can cause your Auto Scaling group to grow up to ten percent larger than the maximum size. This is because Auto Scaling allows groups to temporarily grow larger than the maximum size during rebalancing activities. If Auto Scaling cannot terminate instances, your Auto Scaling group could remain up to ten percent larger than the maximum size until you resume the terminate process type.
The HealthCheck process type checks the health of the instances. Auto Scaling marks an instance as unhealthy if Amazon EC2 or Elastic Load Balancing informs Auto Scaling that the instance is unhealthy. The HealthCheck process can override the health status of an instance that you set with SetInstanceHealth.
The ReplaceUnhealthy process type terminates instances that are marked as unhealthy and subsequently creates new instances to replace them. This process calls both of the primary process types--first Terminate and then Launch .
IMPORTANT: The HealthCheck process type works in conjunction with the ReplaceUnhealthly process type to provide health check functionality. If you suspend either Launch or Terminate, the ReplaceUnhealthy process type will not function properly.
The ScheduledActions process type performs scheduled actions that you create with PutScheduledUpdateGroupAction. Scheduled actions often involve launching new instances or terminating existing instances. If you suspend either Launch or Terminate , your scheduled actions might not function as expected.
public class ProcessType
Initializes a new instance of theclass
Serves as a hash function for a particular type.(Inherited from Object.)
Gets the type of the current instance.(Inherited from Object.)
The name of a process.
Returns a string that represents the current object.(Inherited from Object.)
Sets the ProcessName property