public class ProcessType extends Object implements Serializable
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.
| Constructor and Description |
|---|
ProcessType() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object obj) |
String |
getProcessName()
The name of a process.
|
int |
hashCode() |
void |
setProcessName(String processName)
The name of a process.
|
String |
toString()
Returns a string representation of this object; useful for testing and
debugging.
|
ProcessType |
withProcessName(String processName)
The name of a process.
|
public String getProcessName()
Constraints:
Length: 1 - 255
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
public void setProcessName(String processName)
Constraints:
Length: 1 - 255
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
processName - The name of a process.public ProcessType withProcessName(String processName)
Returns a reference to this object so that method calls can be chained together.
Constraints:
Length: 1 - 255
Pattern: [\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
processName - The name of a process.public String toString()
toString in class ObjectObject.toString()Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.