Stay organized with collections
Save and categorize content based on your preferences.
Compute Engine lets you create and run
instances on Google infrastructure. This document
provides an overview of the various configuration parameters that are available
to you during a Compute Engine instance creation. If you are creating
an instance for the first time, then this document provides a starting point
for understanding the process.
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.
If you haven't already, then set up authentication.
Authentication is
the process by which your identity is verified for access to Google Cloud services and APIs.
To run code or samples from a local development environment, you can authenticate to
Compute Engine by selecting one of the following options:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and
APIs, you don't need to set up authentication.
gcloud
After installing the Google Cloud CLI,
initialize it by running the following command:
Create a workload-optimized instance.
In this method, you select your workload type while creating your instance
and Google automatically populates a preset configuration that suits your
workload. Choose this option if you're starting out with
Compute Engine and don't know which configuration best suits your
intended workload. This option is available only in the Google Cloud console.
Create your instance by using an instance template.
An instance template is a resource that defines configuration settings for
instances. Choose this option if you have a defined configuration template
and want to create a lot of VMs with the same configuration.
Create your instance by making copies of a machine image.
A machine image contains most of the information and data needed for cloning
an instance. Choose this option if you want to make multiple copies of an
existing source instance.
After you create your compute instance, Compute Engine automatically
starts the instance.
Configuration options available during instance creation
When you create a Compute Engine instance, you specify the configuration that
you want for your instance. Compute Engine uses this configuration to create
your instance. The following table lists the various parameters that you
configure during Compute Engine instance creation:
Parameter
What you can configure
Machine configuration
Hardware: You specify a
machine family, series,
and type, which determines the number of vCPUs, memory, and
the CPU platform that
Compute Engine allocates for your instance. If the
machine type is available on multiple CPU platforms, you can
choose the earliest CPU platform to use when creating the
instance. For the machine type, you can choose either a
predefined machine type or create a
[custom machine type](/compute/docs/machine-resource#custom-types)
for some machine series.
Location: You can choose the
region and zone where
you want to create your instance.
Instance name: Specify a
name for the
instance that is unique within your project and the selected
zone.
You can also configure more specific and advanced machine
configuration settings such as:
Boot disk and OS: Every instance comes with a boot disk
for which you can specify a disk name, size, and
disk type. You also select the
OS image to install on the
boot disk in one of the following ways:
If you want to use a preconfigured OS image to create your
instance, then use a
public
image. Public images have all the drivers that are
necessary to run the instance in Google Cloud.
Compute Engine offers many preconfigured public OS
images that have compatible Linux or Windows operating
systems.
If you are creating an instance for an application, you can
use a custom
image or a
shared image to which you added additional drivers and
software that support your application.
You can also use a
snapshot or an
existing disk as the source for creating the OS image on the
boot disk.
Additional disks: You can create and attach one or more
non-boot disks to the new instance in the following ways:
You can choose to create and attach new, blank disks.
You can choose to create and attach new disks from an
existing source image or an existing disk.
You specify a container image name and other
container configuration details. You can also specify mount
directories to add `tmpfs` storage and additional disks to the
container.
Data protection
Data backup: You can automate recurring backups of your
disk and instance data and prepare for disaster recovery in the
following ways:
Protect non-boot disks only: You can also enable an option
that applies your snapshot schedules and data replication
settings only to non-boot disks. Choosing this setting can help
you reduce costs. However, this setting doesn't apply to backup
plans.
Networking
Firewall rules: You can set up a
firewall
and configure the type of network traffic that you want to allow
from the internet. You can also specify a
network tag for the
firewall rules.
Custom hostname: You can specify that Google Cloud should
use a
custom name for the instance other than the internal DNS
name. If you choose this option, then you must manually
configure an internal DNS record for the custom hostname.
Virtual displays: You can
enable virtual displays on your instance to run screen
capturing or remote system management tools on your VM.
Security
Service account: You can attach a
service account to your instance. Service accounts allow
applications that run on an instance to make authorized
Google Cloud API calls and access Google Cloud resources.
You can also select the type and level of API access to grant
the VM.
Confidential computing: You can prevent your data from
being accessed while you use an instance by using
Confidential Computing to encrypt your data.
Shielded VM features: You can make your instance more
secure against boot- or kernel-level malware and rootkits by
enabling
Shielded VM features.
Tags and Labels: To assist with resource organization,
you can add
Tags and Labels
to the instance.
Deletion protection: You can protect your instances from
being
accidentally deleted.
Reservations: You can configure your instance to consume
any
reserved zonal resource capacity to ensure better resource
availability.
Automation: You can specify a
startup script
that runs each time the instance starts or reboots.
Metadata: You can set
custom metadata for your instance to store unique
information about the instance.
Encryption: You can choose the encryption method and keys
to use to protect disk data, memory contents, and metadata when
the instance is suspended. This can be different from the
encryption used to protect the disk data while the instance is
running. You can also configure how the instance behaves if a
specified
Cloud KMS key is revoked.
Sole-tenancy: You can opt for having dedicated physical
servers for your instances and specify a
sole-tenant
node or
node
group to create the instance in. For general-purpose N series
machine types, you can specify whether to
enable CPU overcommit for instances running on sole tenant
nodes.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-06-13 UTC."],[[["Compute Engine allows users to create and run instances on Google infrastructure, which can be bare metal or virtual machines (VMs) depending on the specified machine type."],["During instance creation, users can configure various parameters such as machine configuration, operating system and storage, networking, observability, security, and advanced settings."],["There are multiple ways to create instances, including specifying a custom configuration, using workload-optimized settings, utilizing instance templates, or creating copies from machine images."],["Authentication is necessary to access Google Cloud services and APIs, which can be set up via the Google Cloud console, gcloud CLI, or REST API, depending on the user's preferred method."],["After creating an instance in compute engine, the service will automatically start it, and the user can further explore tutorials for creating basic Linux or Windows Server VM instances."]]],[]]