Compute Instances
Compute Cloud@Customer lets you provision and manage compute instances.
A compute instance is a virtual machine (VM), which is an independent computing environment that runs on top of physical hardware. The virtualization makes it possible to run multiple compute instances that are isolated from each other.
When you create a compute instance, you can select the most appropriate type of compute instance for your applications based on characteristics such as the number of CPUs, amount of memory, and network resources. See Tutorial: Launching Your First Instance and Working with Instances.
After you create a compute instance, you can access it securely from your computer, restart it, attach and detach volumes, and delete it when you're done with it.
With an instance configuration, you can create a single instance or pool of instances quickly. You can create an instance configuration from an existing instance to replicate that instance more quickly. See Working with Instance Configurations.
You can attach instances to a pool or detach instances from a pool manually, or you can configure autoscaling to automatically grow or shrink the pool on a predefined schedule. See Working with Instance Pools.
You can create a pool of compute instances (nodes) in a Kubernetes cluster. See OCI Kubernetes Engine (OKE) on Compute Cloud@Customer.
You can connect to a compute instance. See Connecting to a Compute Instance.
You can back up an instance and restore the instance from backup. See Backing Up and Restoring an Instance.
Components for Creating Instances
These components are required to create a compute instance:
Compartment
A collection of related resources that are only accessible by certain groups that have been given permission by an administrator in your organization. Compute instances are created in compartments. All compartments exist in a tenancy, which is the root compartment.
Virtual Cloud Network (VCN)
A virtual version of a traditional network—including subnets, route tables, and gateways—on which your compute instance runs. At least one cloud network must be set up before you create compute instances.
SSH Key Pair
If the image that's used to create the instance is configured to require Secure Shell (SSH) for authentication, then you need an SSH key pair before creating the instance. This requirement applies to instances created from Compute Cloud@Customer platform images and by most UNIX type images. If the image is configured to use passwords instead, you need the password instead of the key pair.
Image
A template of a virtual hard drive that determines the OS and other software for a compute instance. You can also create compute instances using these images:
- Compute Cloud@Customer platform images
-
Custom images created from other instances
-
Import your own image
For more information about images, see Images for Compute Cloud@Customer Instances.
Shape
A template that determines the number of CPUs, amount of memory, and other resources allocated to a newly created compute instance. See Compute Shape.
Boot Volumes
When you launch a compute instance based on an Compute Cloud@Customer platform image or custom image, a new boot volume for the compute instance is created in the same compartment. That boot volume is associated with that compute instance until you delete the compute instance.
When you delete the compute instance, you can preserve the boot volume and its data. This feature gives you more control and management options for your compute instance boot volumes, and enables:
-
Instance scaling: When you delete your compute instance, you can keep the associated boot volume and use it to launch a new compute instance using a different compute instance type or shape. This flexibility enables you to easily scale up or down the number of cores for a compute instance.
-
Troubleshooting and repair: If you think a boot volume issue is causing a compute instance problem, you can stop the compute instance and detach the boot volume. Then you can attach it to another compute instance as a data volume to troubleshoot it. After resolving the issue, you can then reattach it to the original compute instance or use it to launch a new compute instance.
Boot volume Encryption
Boot volumes are encrypted by default, the same as other block storage volumes.
In most cases, encryption isn't supported for compute instances launched from custom images imported for "bring your own image" (BYOI) scenarios.
For more information about Compute Cloud@Customer boot volumes, see Managing Boot Volumes
For information about backing up boot volumes, see Backing Up Block Volumes.
Storage for Instances
You can expand the storage that's available for your compute instances with the following services:
-
Block Volume: Lets you dynamically provision and manage block volumes that you can attach to one or more compute instances. See Block Volume Storage.
-
File Storage: A durable, scalable, secure, enterprise-grade network file system that you can connect to from any compute instance in your virtual cloud network (VCN). See File Storage.
-
Object Storage: An internet-scale, high-performance storage platform that lets you store a large amount of unstructured data of any content type. This storage not tied to any specific compute instance. See Object Storage.
Simplifying Compute Instance Management
You can simplify the management of your compute instances using these features:
-
Instance Configurations: Are templates that define the settings to use when creating compute instances.
-
Instance Pools: are a group of compute instances that are created from the same compute instance configuration and managed as a group.
Calling Services from an Instance
A Compute Cloud@Customer instance can be configured to enable applications running on the instance to call services and manage resources similar to the way users call services to manage resources.
An instance that can perform actions on service resources is called an instance principal.
You can authorize an instance to make API calls in Compute Cloud@Customer services. After you set up the required resources and policies, an application running on an instance can callCompute Cloud@Customer public services, removing the need to configure user credentials or a configuration file.
Metadata Key Restrictions
Metadata keys have the following restrictions, with the noted exceptions:
-
Metadata can have a maximum of 128 keys.
-
Key names can have a maximum of 255 characters.
-
Most key values can have a maximum of 255 characters.
The value of the ssh_authorized_keys
metadata key can be more than 255 characters. This value must be a valid public key in OpenSSH format. Use a newline character to separate multiple keys.
The value of the user_data
metadata key can be a maximum of 16KB. This value is data that cloud-init can use to run custom scripts or provide custom cloud-init configuration. For Linux instances with cloud-init configured, the user_data
value is a Base64-encoded string of cloud-init user data. For more information, see cloud-init data formats.