Using Instance Configurations and Instance Pools
You can simplify the management of your Compute instances using resources such as instance configurations and instance pools.
An instance configuration is a template that defines the settings to use when creating Compute instances.
An instance pool is a set of instances that is managed as a group.
An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration, and you can associate the instance with a capacity reservation.
For steps to create an instance configuration, see Creating Instance Configurations.
To modify an existing instance configuration, create a new instance configuration with the desired settings.
For steps to delete an instance configuration, see Editing and Deleting Instance Configurations.
Instance pools let you create and manage multiple Compute instances within the same region as a group. They also enable integration with other services, such as the Load Balancing service and IAM service.
You create an instance pool using an existing instance configuration. For steps, see Creating Instance Pools.
After you have created an instance pool, you can update the size of the pool, add and remove existing instances from the pool, and attach or detach load balancers. You can also update the instance pool to use a different instance configuration, or to place instances in a different availability domain, fault domain, or subnet. For more information, see Updating Instance Pools.
You can automatically adjust the number of instances in an instance pool based on performance metrics or a schedule. You can also stop and start instances in an instance pool based on a schedule. To do this, you enable autoscaling for the instance pool. For background information and steps, see Autoscaling.
A cluster network is a special kind of instance pool that is designed for massive, high-performance computing jobs. For more information, see Managing Cluster Networks.
For steps to delete an instance pool, see Deleting Instance Pools.
When you delete an instance pool, all of its resources are permanently deleted, including associated instances, attached boot volumes, and block volumes.
Instance Pool Lifecycle States
The following list describes the different lifecycle states for instance pools.
- Provisioning: When you create an instance pool, this is the first state the instance pool is in. Instances for the instance pool are being configured based on the specified instance configuration.
- Starting: The instances are being launched. At this point, the only action you can take is to terminate the instance pool.
- Running: The instances are created and running.
- Stopping: The instances are in the process of being shut down.
- Stopped: The instances are shut down.
- Scaling: After an instance pool has been created, if you update the instance pool size, it will go into this state while creating instances (for increases in pool size) or terminating instances (for decreases in pool size). At this point, the only action you can take is to terminate the instance pool.
- Terminating: The instances and associated resources are being terminated.
- Terminated: The instance pool, all its instances and associated resources are terminated.
When working with instance configurations and instance pools, keep the following things in mind:
- You can't delete an instance configuration if it is associated with at least one instance pool.
- You can use the same instance configuration for multiple instance pools. However, an instance pool can have only one instance configuration associated with it.
- If the instance pool has been in the scaling or provisioning state for an extended period of time, it might be because the number of instances that were requested has exceeded your tenancy's service limits for that availability domain. For information about how to check your service limits, and steps to request a service limit increase, see Service Limits. If this occurs, you need to terminate the instance pool and re-create it.
- If you modify the instance configuration for an instance pool, existing instances that are part of that pool will not change. Any new instances that are created after you modify the instance configuration will use the new instance configuration. New instances will not be created unless you increase the size of the instance pool or terminate existing instances.
- If you decrease the size of an instance pool, the oldest instances are terminated first.