IP Library › Granted Patent US 10,498,693
Granted Patent B1
US 10,498,693 · App. 15/632,258 · Granted Dec 3, 2019

Resizing virtual private networks in provider network environments

Inventors: Benjamin David Strauss (Bethesda, MD); John D. Bomkamp (Seattle, WA); Steven Gerard Betten (Herndon, VA); Aniket Deepak Divecha (Seattle, WA); Mingxue Zhao (Seattle, WA); George Wickersham (Snoqualmie, WA); Mahmoud Ali Abuelela (Herndon, VA); Shane Ashley Hall (Cape Town, ZA)
Assignee: Amazon Technologies, Inc.
H04L61/20H04L61/2007G06F9/5077H04L69/161
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,498,693
App. No.
15/632,258
Granted
Dec 3, 2019
Kind
B1
Abstract

Virtual networks may be launched in a provider network with an initial IP address space (e.g., an IPv4 CIDR block). Methods are described that allow additional IP address spaces to be added to a virtual network. A new IP address space for a virtual network may be specified via an API. The specified space may be checked to insure that it does not overlap with IP spaces that are associated with the virtual network. If there are no overlaps, the space is added to the network, for example by adding the space to the network's route tables.

Claims (50)

1. A system, comprising;

a virtual private network on a provider network, wherein the virtual private network has an initial IP address space; and

a control plane implemented by one or more devices on the provider network that performs:

receive, via an application programming interface (API), a request from a customer that specifies a new IP address space to be added to the virtual private network;

check for overlaps between the new IP address space and one or more IP address spaces of one or more other networks associated with the virtual private network;

upon determining that the new IP address space does not overlap with the one or more IP address spaces, configure the new IP address space in the virtual private network; and

upon determining that the new IP address space overlaps with at least one of the one or more IP address spaces, provide an indication that the new IP address space cannot be added to the virtual private network.

2. The system as recited in claim 1 , wherein, to configure the new IP address space in the virtual private network, the control plane adds the new IP address space to one or more route tables of the virtual private network, wherein the route tables include the initial IP address space and are used by one or more virtual routers of the virtual private network in routing traffic within the virtual private network.

3. The system as recited in claim 1 , wherein the control plane further performs, after configuring the new IP address space in the virtual private network, provide an indication that the new IP address space has been added to the virtual private network.

4. The system as recited in claim 1 , wherein the control plane further performs:

receive, via the API, a request that specifies at least one subnet for the new IP address space of the virtual private network; and

configure the at least one subnet for the new IP address space in the virtual private network.

5. The system as recited in claim 1 , wherein the control plane further performs:

receive, via the API, a request that specifies one or more resource instances to be launched in the new IP address space on the virtual private network;

launch the one or more resource instances as virtual machines executing on one or more host devices on the provider network; and

assign IP addresses from the new IP address space to the one or more virtual machines on the one or more host devices.

6. The system as recited in claim 1 , wherein the control plane further performs, after configuring the new IP address space in the virtual private network, indicate to one or more provider network services that the new IP address space has been configured in the virtual private network.

7. The system as recited in claim 1 , wherein the one or more other networks associated with the virtual private network include one or more of:

a network external to the provider network that is connected to the virtual private network via a direct connection over an intermediate network and the provider network; or

another virtual private network on the provider network that is connected to the virtual private network via a peering connection over the provider network.

8. A method, comprising:

performing, by a control plane on a provider network:

receiving, via an application programming interface (API), a request that specifies a new IP address space to be added to a virtual private network on the provider network, wherein the virtual private network has an initial IP address space;

determining that the new IP address space does not conflict with one or more other IP address spaces associated with the virtual private network; and

upon determining that the new IP address space does not conflict with the one or more other IP address spaces, configuring the new IP address space in the virtual private network.

9. The method as recited in claim 8 , wherein configuring the new IP address space in the virtual private network comprises adding the new IP address space to one or more route tables of the virtual private network, wherein the route tables include the initial IP address space and are used by one or more routers of the virtual private network in routing traffic within the virtual private network.

10. The method as recited in claim 8 , further comprising, after configuring the new IP address space in the virtual private network, providing an indication that the new IP address space has been added to the virtual private network via the API.

11. The method as recited in claim 8 , further comprising, upon determining that the new IP address space conflicts with at least one of the one or more other IP address spaces, providing an indication that the new IP address space cannot be added to the virtual private network via the API.

12. The method as recited in claim 8 , further comprising:

receiving, via the API, a request that specifies at least one subnet for the new IP address space of the virtual private network; and

configuring the at least one subnet for the new IP address space in the virtual private network.

13. The method as recited in claim 8 , further comprising:

receiving, via the API, a request that specifies one or more resource instances to be launched in the new IP address space on the virtual private network;

launching the one or more resource instances as virtual machines executing on one or more host devices on the provider network; and

assigning IP addresses from the new IP address space to the one or more virtual machines on the one or more host devices.

14. The method as recited in claim 8 , further comprising, after configuring the new IP address space in the virtual private network, indicate to one or more provider network services that the new IP address space has been configured in the virtual private network.

15. The method as recited in claim 14 , wherein, to indicate to the one or more provider network services that the new IP address space has been configured in the virtual private network, the control plane is configured to write an entry to an event log of the provider network via an API to the event log, wherein the entry specifies the virtual private network and the new IP address space that has been added to the virtual private network, and wherein at least one of the one or more provider network services reads the entry from the event log via the API to the event log to discover the new IP address space of the virtual private network.

16. The method as recited in claim 14 , wherein the one or more provider network services include a metadata service that stores metadata about virtual private networks to resource instances in the virtual private networks, the method further comprising:

the metadata service reading the entry from the event log and recording the new IP address space in metadata for the virtual private network; and

one or more resource instances in the virtual private network discovering the new IP address space by calling the metadata service.

17. The method as recited in claim 8 , wherein the one or more other IP address spaces associated with the virtual private network include at least one IP address space of another virtual private network on the provider network that is connected to the virtual private network via a peering connection over the provider network.

18. The method as recited in claim 8 , wherein the one or more other IP address spaces associated with the virtual private network include at least one IP address space of a network external to the provider network that is connected to the virtual private network via a direct connection over an intermediate network and the provider network.

19. The method as recited in claim 8 , further comprising:

receiving, via the API, a request that specifies an IP address space to be deleted from the virtual private network on the provider network, wherein the virtual private network has at least two IP address spaces including the initial IP address space; and

in response to the request to delete the specified IP address space, deleting the IP address space from the virtual private network, where said deleting includes removing the specified IP address space from one or more route tables of the virtual private network.

20. A non-transitory computer-readable storage medium storing program instructions that when executed on one or more computers on a provider network cause the one or more computers to:

receive, via an application programming interface (API), a request from a customer that specifies a new IP address space to be added to the virtual private network;

determine if there are overlaps between the new IP address space and one or more IP address spaces of one or more other networks associated with the virtual private network;

upon determining that the new IP address space does not overlap with the one or more IP address spaces, add the new IP address space to one or more route tables of the virtual private network; and

upon determining that the new IP address space overlaps with at least one of the one or more IP address spaces, provide an indication that the new IP address space cannot be added to the virtual private network.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2017
From: STRAUSS, BENJAMIN DAVID; BOMKAMP, JOHN D.; BETTEN, STEVEN GERARD; DIVECHA, ANIKET DEEPAK; ZHAO, MINGXUE; WICKERSHAM, GEORGE; ABUELELA, MAHMOUD ALI; HALL, SHANE ASHLEY
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 042811/0083 →
Cited By (10)
US 12,238,165 US 12,284,253 US 12,301,443 US 12,316,477 US 12,373,262 US 12,375,350 US 12,388,711 US 12,432,110 US 12,463,904 US 12,494,997