Compute Engine instances


This page provides an overview of Compute Engine instances. A Compute Engine instance can be either a virtual machine (VM) or bare metal instance that is hosted on Google's infrastructure. You can create an instance or create a group of managed instances (MIG) by using the Google Cloud console, the Google Cloud CLI, or the Compute Engine API.

Introduction

The terms Compute Engine instance, compute instance or instance are synonymous. Based on the machine type that you specify, an instance can be either a bare metal instance or a virtual machine (VM) instance, as follows:

  • If the name of its machine type ends in -metal, an instance is a bare metal instance, which does not have a hypervisor installed.
  • Otherwise, an instance is a VM instance. The terms virtual machine instance, VM instance, and VM are synonymous.

Synonymous terms are used interchangeably across the documentation and Google Cloud interfaces such as the Google Cloud console, the gcloud command-line tool, and the REST 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

Each network interface of a Compute Engine instance is associated with a subnet of a unique VPC network. For more information about VPCs, see Network overview and VPC quotas.

Instances and containers

Compute Engine instances support a declarative method for launching your applications using containers. When creating an instance or an instance template, you can provide a Docker image name and launch configuration. Compute Engine takes care of the rest including supplying an up-to-date Container-Optimized OS image with Docker installed and launching your container when the instance starts. For more information, see Deploying containers on instances and MIGs.

Tools to manage instances

To create and manage instances, you can use a variety of tools, including the Google Cloud console, the gcloud command-line 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 Google Workspace account and manage admin or non-admin access to your instance through IAM roles.
    • Manage your SSH keys in project or instance metadata, which uses public SSH keys stored in Compute Engine metadata to grant access to the instance. You can use SSH keys stored in project metadata to access all instances in a project. You can use SSH keys stored in instance metadata to access individual instances.
    • If you connect to your instances using the Google Cloud CLI or SSH from the console, Compute Engine automatically generates SSH keys for you.
  • Windows Server instances:

Accessing your instances

After you configure access to your instances, you can use one of many options to connect to your Linux instances or connect to your Windows instances.

Default time zone for compute instances

Regardless of the region where you create your instance, the default time for your instance is Coordinated Universal Time (UTC).

What's next

Try it for yourself

If you're new to Google Cloud, create an account to evaluate how Compute Engine performs in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.

Try Compute Engine free