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.
Network performance: You can configure the instance to use per VM Tier_1 networking performance for higher network performance at additional cost.
Network interfaces: Each compute instance is configured with at least one virtual network interface (vNIC). By default, the network interface uses an auto mode Virtual Private Cloud (VPC) network named default. You can also select a custom VPC network or subnet that you created previously. You can also configure additional network interfaces for most machine types.
Additionally, for each network interface, you can configure the following properties:
The network interface type
The IP stack type (IPv4 only, IPv6 only, or dual-stack)
The type of IP address for the internal and optional external IP addresses (ephemeral address or a reserved, static address)
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.
computing: You can prevent your data from being accessed while you use an instance by using 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.
Provisioning model: You can choose among the standard, spot, or reservation-bound provisioning model. For more information about the available models, see Compute Engine instances provisioning model.
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-05-07 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."]]],[]]