# US 11,115,272 B1 · Detecting configuration drift for computing resource stacks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,115,272 B1
- Document ID: US11115272B1
- Status: Granted
- Kind: B1
- Application number: 15/951,921
- Filed: 2018-04-12
- Granted: 2021-09-07
- Earliest claimed: 2018-04-12
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Anil Kumar; Matthew John Hinkle; Rajesh Viswanathan; Prashant Prahlad
- Web page: https://patentgrep.com/patent/US11115272B1

## CPC

- H04L 41/0816: the condition being an adaptation, e.g. in response to network events
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 41/0843: {based on generic templates}
- H04L 41/0856: {by backing up or archiving configuration information}
- H04L 41/0866: Checking the configuration
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 41/344: Out-of-band transfers
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques are described for identifying “out-of-band” modifications to an interrelated set of computing resources, also referred to herein as a computing resource stack, that was provisioned at a service provider network using an infrastructure modeling service. An infrastructure modeling service generally allows users to describe a computing resource stack in a text file or other type of descriptive representation, referred to herein as an infrastructure template, and to automatically provision computing resource stacks defined in templates at a service provider network. Users may at times make so-called out-of-band modifications to one or more computing resources of a provisioned computing resource stack, either inadvertently or in response to time-sensitive demands, where an out-of-band modification is made outside of the infrastructure modeling service.

## Claims

### Claim 1

A computer-implemented method comprising:
creating, by a first service of a service provider network, a baseline snapshot of configuration settings associated with one or more computing resources of a computing resource stack implemented in the service provider network based on an infrastructure template, wherein the infrastructure template includes a descriptive representation of the one or more computing resources, and wherein the descriptive representation includes configuration information used by an infrastructure modeling service to deploy the one or more computing resources at the service provider network;
modifying, by a second service of the service provider network and outside of the infrastructure modeling service, a configuration setting of at least one of the one or more computing resources of the computing resource stack;
creating, by the first service, a current snapshot of the configuration settings associated with the one or more computing resources of the computing resource stack;
identifying, by the first service, one or more differences between the baseline snapshot of the configuration settings and the current snapshot of the configuration settings;
causing information indicating the one or more differences between the baseline snapshot of the configuration settings and the current snapshot of the configuration settings to be presented to a user;
updating the computing resource stack based on an update to the infrastructure template; and
updating the baseline snapshot based on the update to the computing resource stack.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the second service modifies the configuration setting of at least one of the one or more computing resources of the computing resource stack based on a user-generated request received by the second service to modify the configuration setting.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the one or more differences include one or more of: a modification to a configuration setting defined in the infrastructure template, a modification to a default configuration setting associated with a computing resource of one or more computing resources, a deletion of a configuration setting, an addition of a configuration setting, and a deletion of a computing resource of the one or more computing resources.

### Claim 4

A computer-implemented method comprising:
creating a computing resource stack at a service provider network based on an infrastructure template, wherein the infrastructure template includes a descriptive representation of one or more computing resources of the computing resource stack, and wherein the descriptive representation includes defined configuration settings used by an infrastructure modeling service to deploy the computing resource stack at the service provider network;
identifying one or more modifications made outside of the infrastructure modeling service to the defined configuration settings indicated by the infrastructure template;
causing information indicating the one or more modifications made outside of the infrastructure modeling service to the defined configuration settings to be presented;
creating a baseline snapshot of configuration settings associated with the one or more computing resources of the computing resource stack;
updating the computing resource stack based on an update to the infrastructure template; and
updating the baseline snapshot based on the update to the computing resource stack.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the one or more computing resources are implemented by one or more computing resource services of the service provider network, and wherein at least one of the one or more computing resource services modifies at least one of the one or more computing resources based on a user-generated request received by the service to modify the configuration setting.

### Claim 6 (depends on 4)

The computer-implemented method of claim 4, wherein the one or more differences include one or more of: a modification to a configuration setting defined in the infrastructure template, a modification to a default configuration setting associated with a computing resource of one or more computing resources, a deletion of a configuration setting, an addition of a configuration setting, and a deletion of a computing resource of the one or more computing resources.

### Claim 7 (depends on 4)

The computer-implemented method of claim 4, wherein the one or more computing resources are associated with the defined configuration settings and one or more default configuration settings, and wherein identifying the one or more differences includes identifying differences between the current configuration settings and the default configuration settings.

### Claim 8 (depends on 4)

The computer-implemented method of claim 4, wherein the one or more computing resources include one or more of: a server instance, a container, a database instance, a storage volume, a security policy, a networking configuration, a virtual private cloud (VPC), and logging configurations.

### Claim 9 (depends on 4)

The computer-implemented method of claim 4, further comprising automatically identifying the one or more differences between current configuration settings associated with the one or more computing resources on a periodic basis or based on a defined schedule.

### Claim 10 (depends on 4)

The computer-implemented method of claim 4, further comprising modifying one or more configuration settings associated with the one or more computing resources to match the defined configuration settings indicated by the infrastructure template.

### Claim 11 (depends on 4)

The computer-implemented method of claim 4, wherein identifying the one or more differences between the current configuration settings associated with the one or more computing resources and the defined configuration settings indicated by the infrastructure template include identifying one or more deleted computing resources, and wherein the method further comprises recreating the one or more deleted computing resources.

### Claim 12 (depends on 4)

The computer-implemented method of claim 4, further comprising:
creating a baseline snapshot of configuration settings associated with the one or more computing resources of the computing resource stack;
creating a current snapshot of the configuration settings associated with the one or more computing resources of the computing resource stack; and
storing the baseline snapshot and the current snapshot in a data store.

### Claim 13 (depends on 4)

The computer-implemented method of claim 4, wherein causing the information indicating the one or more differences between the current configuration settings and the defined configuration settings to be presented to a user includes one or more of: displaying a graphical user interface (GUI) including a representation of the one or more differences, or sending a textual representation of the one or more differences to another device.

### Claim 14

A system comprising:
a first one or more electronic devices comprising a processor and a memory;
a second one or more electronic devices comprising a processor and a memory;
an infrastructure modeling service of a service provider network implemented by the first one or more electronic devices, the infrastructure modeling service including instructions that upon execution cause the first one or more electronic devices to:
create a baseline snapshot of configuration settings associated with one or more computing resources of a computing resource stack implemented in the service provider network based on an infrastructure template, wherein the infrastructure template includes a descriptive representation of the one or more computing resources, and wherein the descriptive representation includes configuration information used by the infrastructure modeling service to deploy the one or more computing resources at the service provider network,
create a current snapshot of the configuration settings associated with the one or more computing resources of the computing resource stack,
identify one or more modifications made outside of the infrastructure modeling service to the configuration settings, and
cause information indicating the one or more modifications made outside of the infrastructure modeling service to the configuration settings to be presented,
update the computing resource stack based on an update to the infrastructure template, and
update the baseline snapshot based on the update to the computing resource stack; and
a computing resource service implemented by the second one or more electronic devices, and further implementing at least one of the one or more computing resources of the computing resource stack, the computing resource service including instructions that upon execution cause the second one or more electronic devices to:
receive a request to modify at least one configuration setting associated with a computing resource of the computing resource stack, and
modify the at least one configuration setting associated with the computing resource.

### Claim 15 (depends on 14)

The system of claim 14, wherein the one or more differences include one or more of: a modification to a configuration setting defined in the infrastructure template, a modification to a default configuration setting associated with a computing resource of one or more computing resources, a deletion of a configuration setting, an addition of a configuration setting, and a deletion of a computing resource of the one or more computing resources.

### Claim 16 (depends on 14)

The system of claim 14, wherein the one or more computing resources include one or more of: a server instance, a container, a database instance, a storage volume, a security policy, a networking configuration, a virtual private cloud (VPC), and logging configurations.

### Claim 17 (depends on 14)

The system of claim 14, wherein the instructions, upon execution, further cause the first one or more electronic devices to automatically identify the one or more differences between current configuration settings associated with the one or more computing resources on a periodic basis or based on a defined schedule.

### Claim 18 (depends on 14)

The system of claim 14, wherein the instructions, upon execution, further cause the first one or more electronic devices to modify one or more configuration settings associated with the one or more computing resources to match defined configuration settings indicated by the infrastructure template.

### Claim 19 (depends on 14)

The system of claim 14, wherein causing the information indicating the one or more differences between the baseline snapshot of the configuration settings and the current snapshot of the configuration settings to be presented to a user includes one or more of: displaying a graphical user interface (GUI) including a representation of the one or more differences, or sending a textual representation of the one or more differences to another device.

### Claim 20 (depends on 14)

The system of claim 14, wherein identifying the one or more modifications made outside of the infrastructure modeling service to the configuration settings includes identifying one or more deleted computing resources.
