This page provides an overview of Compute Engine instances. An instance is
a virtual machine (VM) hosted on Google's
infrastructure. You can
create an instance
by using the Google Cloud Console, the
gcloud command-line tool, or the
Compute Engine API.
Compute Engine instances can run the public images for Linux and Windows Server that Google provides as well as private custom images that you can create or import from your existing systems. You can also deploy Docker containers, which are automatically launched on instances running the Container-Optimized OS public image.
You can choose the machine properties of your instances, such as the number of virtual CPUs and the amount of memory, by using a set of predefined machine types or by creating your own custom machine types.
Instances and projects
Each instance belongs to a Google Cloud Console project, and a project can have one or more instances. When you create an instance in a project, you specify the zone, operating system, and machine type of that instance. When you delete an instance, it is removed from the project.
Instances and storage options
By default, each Compute Engine instance has a small boot persistent disk that contains the operating system. When applications running on your instance require more storage space, you can add additional storage options to your instance.
Instances and networks
A project can have up to five VPC networks, and each Compute Engine instance belongs to one VPC network. Instances in the same network communicate with each other through a local area network protocol. An instance uses the Internet to communicate with any machine, virtual or physical, outside of its own network. See VPC Network Overview for more information about VPC networks.
Instances and containers
Compute Engine instances support a declarative method for launching your applications using containers. When creating a VM or an instance template, you can provide a Docker image name and launch configuration. Compute Engine will take care of the rest including supplying an up-to-date Container-Optimized OS image with Docker installed and launching your container when the VM starts up. See Deploying Containers on VMs and Managed Instance Groups for more information.
Tools to manage instances
To create and manage instances, you can use a variety of tools, including the
Google Cloud Console, the
tool, and the REST API. To configure
applications on your instances,
connect to the instance
using Secure Shell (SSH) for Linux instances or Remote Desktop Protocol (RDP)
for Windows Server instances.
Managing access to your instances
You can manage access to your instances using one of the following methods:
- Linux instances:
- Managing Instance Access Using OS Login,
which allows you to associate SSH keys with your Google Account or G Suite
account and manage admin or non-admin access to instance through IAM
roles. If you
connect to your instances
gcloudcommand-line tool or SSH from the console, Compute Engine can automatically generate SSH keys for you and apply them to your Google Account or G Suite account.
- Manage your SSH keys in project or instance metadata, which grants admin access to instances with metadata access that
do not use OS Login. If you
connect to your instances
gcloudcommand-line tool or SSH from the console, Compute Engine can automatically generate SSH keys for you and apply them to project metadata.
- Managing Instance Access Using OS Login, which allows you to associate SSH keys with your Google Account or G Suite account and manage admin or non-admin access to instance through IAM roles. If you connect to your instances using the
- On Windows Server instances:
Accessing your instances
After you configure access to your instances, you can connect to your instances using one of several options.
If you are new to Compute Engine, follow the Getting Started Guide to learn how to create an instance using the Cloud Console.
For a more detailed guide, see Creating and starting an instance.
For information about features of Compute Engine instances, see: