IP Library Granted Patent US 10,411,960
Granted Patent B1
US 10,411,960 · App. 14/539,918 · Granted Sep 10, 2019

Detaching instances from auto-scaling group

Inventors: Shawn Jones (Vancouver, CA); Mihir Rajendrabhai Patel (Seattle, WA); Eric Samuel Stone (Seattle, WA); Derek Solomon Pai (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L41/0823H04L41/082
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,411,960
App. No.
14/539,918
Granted
Sep 10, 2019
Kind
B1
Abstract

A computing resource service provider may provide computing instances organized in to logical groups, such as auto-scaling groups. Computing instances assigned to an auto-scaling group may be detached from auto-scaling group. Detached instances may no longer be managed by the auto-scaling group and may not contribute to the capacity of the auto-scaling group for auto-scaling purposes.

Claims (57)

1. A computer-implemented method, comprising:

obtaining an application programming interface call to detach a computer system instance from an auto-scaling group, wherein a set of computer system instances is assigned to the auto-scaling group;

determining that fulfillment of the application programming interface call complies with a setting of the auto-scaling group and that the computer system instance can be detached from the auto-scaling group by at least validating that the computer system instance specified in the application programming interface call is in a state from which the computer system instance is allowed to enter a standby state;

updating a capacity of the auto-scaling group;

initiating a workflow to detach the computer system instance, the workflow including a set of operations performed by an auto-scaling service to detach the computer system instance from the auto-scaling group and cause the computer system instance to enter the standby state by at least:

deregistering the computer system instance from a load balancer associated with the auto-scaling group;

removing the computer system instance from a set of computer system instances for which utilization information is obtained; and

removing the computer system instance from the set of computer system instances assigned to the auto-scaling group; and

fulfilling the application programming interface call as a result of detaching the computer system instance from the auto-scaling group so that the computer system instance is no longer managed by the auto-scaling group and does not contribute to the capacity of the auto-scaling group.

2. The computer-implemented method of claim 1 , wherein the computer-implemented method further includes:

obtaining a request for information about a set of computer system instances currently assigned to the auto-scaling group; and

providing the requested information about the set of computer system instances currently assigned to the auto-scaling group, where the computer system instance is not included in the requested information about the set of computer system instances currently assigned to the auto-scaling group.

3. The computer-implemented method of claim 1 , wherein the computer-implemented method further includes executing a health check on a set of computer system instances currently assigned to the auto-scaling group, wherein the health check is not executed on the computer system instance.

4. The computer-implemented method of claim 1 , wherein the computer-implemented method further includes:

obtaining a second application programming interface call to attach the computer system instance of the auto-scaling group to another auto-scaling group;

updating the capacity of the other auto-scaling group; and

initiating a second workflow configured to attach the computer system instance to the other auto-scaling group by at least:

registering the computer system instance with a load balancer associated with the other auto-scaling group;

adding the computer system instance to a set of computer system instances for which utilization information specific to the other auto-scaling group is obtained; and

adding the computer system instance to the set of computer system instances assigned to the other auto-scaling group.

5. A system, comprising:

one or more processors; and

memory with instructions that, as a result of execution by the one or more processors, cause the system to:

obtain an application programming interface call to remove an instance of an auto-scaling group from the auto-scaling group, wherein a set of instances is assigned to the auto-scaling group; and

respond to the application programming interface call by at least instantiating a detach instance workflow including a set of operations to remove the instance from the auto-scaling group by at least:

determining that the instance is in currently in service in the auto-scaling group;

removing the instance from a load balancer configured to manage traffic for the auto-scaling group;

removing the instance from a metrics service configured to obtain utilization information for the auto-scaling group;

removing the instance from the set of instances assigned to the auto-scaling group thereby rendering the instance a removed instance, wherein the removed instance continues to run in a standby state after being removed from the set of instances; and

updating a capacity of the auto-scaling group.

6. The system of claim 5 , wherein the instructions that cause the system to update the capacity of the auto-scaling group further cause the system to instantiate a replacement instance for the removed instance based at least in part on the application programming interface call.

7. The system of claim 5 , wherein the memory further includes instructions that cause the system to transmit a status update for the set of instances assigned to the auto-scaling group, wherein the status update does not include the instance.

8. The system of claim 5 , wherein the detach instance workflow further includes an operation to remove metadata for the instance from a set of metadata maintained by the auto-scaling group corresponding to the set of instances assigned to the auto-scaling group.

9. The system of claim 5 , wherein the memory further includes instructions that cause the system to determine the auto-scaling group to which the instance is assigned based at least in part on the application programming interface call.

10. The system of claim 5 , wherein the memory further includes instructions that cause the system to execute a health check on the set of instances assigned to the auto-scaling group, wherein the instance is not a member of the set of instances assigned to the auto-scaling group.

11. The system of claim 5 , wherein the memory further includes instructions that cause the system to:

obtain a request to attach the instance to the auto-scaling group; and

respond to the request by at least:

registering the instance with the load balancer;

adding the instance to the metrics service configured to obtain utilization information for the auto-scaling group;

adding the instance to the set of instances assigned to the auto-scaling group; and

updating the capacity of the auto-scaling group.

12. The system of claim 5 , wherein the application programming interface call includes information for identifying the instance, information for identifying the auto-scaling group, and information indicating to the auto-scaling group to decrement the capacity of the auto-scaling group.

13. A non-transitory computer-readable storage medium comprising executable instructions that, as a result of execution by one or more processors of a computer system, cause the computer system to at least:

obtain a request to detach an instance of an auto-scaling group from the auto-scaling group;

determine that a state of the instance allows transition to standby;

detach the instance such that, as a result of completion of a workflow, the instance continues to run in standby but is no longer part of the auto-scaling group and does not contribute to a capacity of the auto-scaling group; and

update the capacity of the auto-scaling group based at least in part on the-instance.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions that cause the computer system to detach the instance further cause the computer system to remove the instance from a set of instances for which utilization information for the auto-scaling group is obtained.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions that cause the computer system to detach the instance further cause the computer system to remove the instance from a set of instances assigned to the auto-scaling group.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that cause the computer system to instantiate at least one other instance to replace the instance based at least in part on a parameter included in the request.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that cause the computer system to validate the request by at least determining that the instance is currently assigned to the auto-scaling group.

18. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that cause the computer system to, in response to a second request, attach the instance to another auto-scaling group such that the other auto-scaling group manages the instance.

19. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that cause the computer system to execute a health check on a set of instances assigned to the auto-scaling group, where the instance is not included in the set of instances for which the health check is executed.

20. The non-transitory computer-readable storage medium of claim 13 , wherein the executable instructions further comprise instructions that cause the computer system to provide a status update on a set of instances assigned to the auto-scaling group, where the instance is not included in the set of instances for which the status update is provided.

21. The computer-implemented method of claim 1 , wherein the state is an error state.

22. The non-transitory computer-readable storage medium of claim 13 , wherein the state is an in service state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2016
From: JONES, SHAWN; PATEL, MIHIR RAJENDRABHAI; STONE, ERIC SAMUEL; PAI, DEREK SOLOMON
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 037564/0218 →
Cited By (5)
US 12,321,784 US 12,348,369 US 12,531,807 US 12,579,006 US 12,664,028