Skip to main content
Documentation
Technology areas
close
AI and ML
Application development
Application hosting
Compute
Data analytics and pipelines
Databases
Distributed, hybrid, and multicloud
Generative AI
Industry solutions
Networking
Observability and monitoring
Security
Storage
Cross-product tools
close
Access and resources management
Costs and usage management
Google Cloud SDK, languages, frameworks, and tools
Infrastructure as code
Migration
Related sites
close
Google Cloud Home
Free Trial and Free Tier
Architecture Center
Blog
Contact Sales
Google Cloud Developer Center
Google Developer Center
Google Cloud Marketplace
Google Cloud Marketplace Documentation
Google Cloud Skills Boost
Google Cloud Solution Center
Google Cloud Support
Google Cloud Tech Youtube Channel
/
English
Deutsch
Español – América Latina
Français
Indonesia
Italiano
Português – Brasil
中文 – 简体
中文 – 繁體
日本語
한국어
Console
Sign in
Compute Engine
Guides
Reference
Samples
Resources
Contact Us
Start free
Documentation
Guides
Reference
Samples
Resources
Technology areas
More
Cross-product tools
More
Related sites
More
Console
Contact Us
Start free
Discover
Product overview
Compute Engine instances
Instance groups
Compute Engine machine resources
Machine resource guide
Machine type families
General-purpose machines
Storage-optimized machines
Compute-optimized machines
Memory-optimized machines
Accelerator-optimized machines
CoreMark scores of VM instances by family
CPU platforms
GPUs
About GPUs on Google Cloud
GPU machine types
Arm VMs
Bare metal instances
Regions and zones
About regions and zones
GPU regions and zones
Global, regional, and zonal resources
Get started
Plan and prepare
Work with regions and zones
View available regions and zones
Change the default region or zone
Review VM deployment options
Choose a deployment strategy
About VM provisioning models
About VM tenancy
Design resilient systems
Networking overview for VMs
Images and operating systems
OS images
About OS images
Operating system details
OS image lifecycle
Support policy
Premium operating systems
RHEL FAQ
SLES FAQ
Ubuntu Pro FAQ
Microsoft Licensing on Google Cloud
Microsoft licenses FAQ
License Manager
About License Manager
Use License Manager for Microsoft Office
View audit logs
Access control
Access control overview
Manage access to Compute Engine resources
Manage resources by using custom constraints
IAM roles and permissions
Service accounts
Name resources
Quickstarts
Create a Linux VM
Create a Windows Server VM
Create a managed instance group
Create instances
Instance creation overview
Create an instance
Create and start an instance
Create an instance and customize machine configuration
Create an instance with a custom hostname
Create an instance with a custom machine type
Specify a minimum CPU platform for an instance
Create an instance with attached GPUs
Overview
Accelerator-optimized instances
Create an A3 Ultra or A4 instance
Create an A3, A2, or G2 instance
Create an A3 instance with GPUDirect-TCPX enabled
Create an N1 instance that has attached GPUs
Create an instance and customize OS configuration
Create an instance from a public image
Create an instance from a custom image
Create an instance from a shared image
Create an instance using a RHEL BYOS image
Create an instance and customize networking configuration
Create an instance in a specific subnet
Create an instance with IPv6 addresses
Create an instance and customize observability configuration
Create an instance for Ops Agent monitoring and logging
Enable virtual displays on an instance
Create an instance and customize security configuration
Create an instance that uses a user-managed service account
Create an instance using an existing configuration
Create an instance from an instance template
Create an instance similar to an existing instance
Create a Spot VM
Spot VMs
About Spot VMs
Create and use Spot VMs
Preemptible VMs
About preemptible VMs
Create and use preemptible VMs
Create instances for specific workload types
Create a Google-configured, workload-optimized instance
Create an HPC-ready instance
Create and manage a Windows Server instance
Create a SQL Server instance
Create custom images
Requirements to build custom images
Create custom images
Create custom Windows BYOL base images
Create custom Windows Server images
Create and manage instance templates
About instance templates
Create instance templates
Deterministic instance templates
Get, list, and delete instance templates
Create multiple VMs
Create a managed instance group (MIG)
Basic scenarios for creating MIGs
Create a MIG in a single zone
Create a MIG in multiple zones in a region
Create a MIG with multiple machine types
Create a MIG from an existing VM
Create a MIG with autoscaling
Create a MIG with preemptible VMs
Create a MIG with GPU VMs
Create a MIG with stateful configuration
Bulk creation of VMs
About bulk creation of VMs
Create VMs in bulk
Create GPU VMs in bulk
Create sole-tenant VMs
Sole-tenancy overview
Provision a sole-tenant VM
Advanced maintenance control for sole-tenant nodes
Sole-tenancy best practices
Sole-tenancy accounting FAQ
Create a virtual workstation
About creating virtual workstations
Create a virtual Linux workstation
Create a virtual Windows workstation
Create a virtual Linux workstation with an attached GPU
Create a virtual Windows workstation with an attached GPU
Use nested virtualization
About nested virtualization
Manage the nested virtualization constraint
Enable nested virtualization
Create nested VMs
Manage VM boot disks
Detach and reattach a boot disk
Create a customized boot disk
Migrate VMs
Choose a migration path
Bring your own licenses
Import disks and images
Prerequisites for importing and exporting VM images
Automatic import
Import virtual disks
Import virtual appliances
Manual import
Manually import boot disks
Manually configure imported disks
Create a persistent disk image from an ISO file
Move a VM within Google Cloud
Move a VM between zones
Migrate a VM between networks
Copy VMs between projects
Move an existing VM to a new VM
Connect to VMs
Connect to a VM
About SSH connections
Linux VMs
Connect to VMs
Connect through internal IP addresses
Connection options for internal-only VMs
Connect using IAP
Connect using a bastion host
Connect using Cloud VPN
Connect as the root user
Connect using service accounts
Configure apps to use SSH
Best practices
Securely connect to VMs
Windows VMs
Connect to Windows VMs using RDP
Connect to a Windows VM's SAC
Connect to Windows VMs using SSH
Connect to Windows VMs using PowerShell
Manage access to VMs
Linux VMs
Choose an access management method
About OS Login
Set up OS Login
Set up OS Login to require SSH certificates
Enable security keys with OS Login
Manage OS Login in an organization
Monitor OS Login audit logs
Configure granular access within VMs
Windows VMs
Manage accounts and credentials on Windows VMs
Automate Windows password generation
Manually manage SSH keys
Create SSH keys
Add SSH keys to VMs
Restrict SSH keys from VMs
Best practices for securing SSH access
Overview
Control network access
Control SSH login access
Protect SSH credentials
Audit SSH access
Manage tags for resources
Transfer files to or from a VM
Transfer files to Linux VMs
Transfer files to Windows VMs
IP addresses
Internal DNS
Overview of internal DNS
Access VMs using internal DNS names
Use zonal DNS
Overview of zonal DNS
Set zonal DNS as the default
Migrate to zonal DNS
Create a PTR record for a VM
Verify VM identity
Manage storage
Choose a disk type
Disk types
About Hyperdisk
Hyperdisk overview
Hyperdisk performance
Performance and size limits for Hyperdisk
Choose a Hyperdisk type
Hyperdisk Balanced
Hyperdisk Balanced High Availability
Hyperdisk Extreme
Hyperdisk ML
Hyperdisk Throughput
About Hyperdisk Storage Pools
About Persistent Disk
Extreme Persistent Disk
About Local SSD
Configure storage pools
Create a storage pool
Manage storage pools
Configure disks
Add disks to VMs
Add disks from a storage pool to VMs
Create a VM with Local SSD disks
Create a VM with additional non-boot disks
Create a new Hyperdisk
Create a new Persistent Disk
Share a disk between VMs
Attach a disk to a VM
Mount in-memory RAM disks
Prepare disks for use
Format and mount a non-boot disk on Linux
Format and prepare a non-boot disk on Windows
Access disks attached to a VM
Best practice: Use persistent device names
Symbolic links to disks
Transfer data to disks attached to a VM
Transfer files to Linux VMs
Transfer files to Windows VMs
Encrypt disks
About disk encryption
Encrypt disks with customer-supplied encryption keys
Help protect resources by using Cloud KMS keys
Modify disks
Modify Hyperdisk
Change the disk type
Increase the size of a Persistent Disk
Modify a Persistent Disk
Evaluate disk performance
About Persistent Disk performance
Review disk performance
Review storage pool metrics
Review disk performance metrics
Analyze provisioned IOPS and throughput
Benchmark disk performance
Benchmark Hyperdisk performance
Benchmark Persistent Disk performance on a Linux VM
Benchmark Persistent Disk performance on a Windows VM
Benchmark Local SSD performance
Make disks highly available
Replicate disks across regions
About Asynchronous Replication
Configure replication
Manage replication
Failover and failback disks
Manage asynchronous disks
Manage consistency groups
Review performance metrics
Cross-zonal synchronous disk replication
About regional disks
Build high availability services using regional disks
Design considerations for resilient workloads with regional disks
Create and manage regional disks
Manage failures for regional disks
Back up and restore
Data protection options
Configure the default backup setting
Back up VMs
Use machine images
About machine images
Create machine images
Import machine images from virtual appliances
Use Backup and DR backup plans
About backup plans
Create an instance with a backup plan
Change your instance's backup plan
Back up disks
Back up a disk in place
About instant snapshots
Create and manage instant snapshots
Copy an instant snapshot to a different location
Back up a disk for disaster recovery
About disk snapshots
Best practices for disk snapshots
Set default storage location for globally scoped snapshots
Set creation and restore locations for regionally scoped snapshots
Create disk snapshots
Manage disk snapshots
Create application consistent snapshots
Create Linux application consistent snapshots
Create a Windows disk snapshot (VSS snapshots)
Schedule disk backups
About snapshot schedules
Create snapshot schedules
Manage snapshot schedules
Configure alerts for snapshot schedules
Duplicate a disk with clones
Restore from a backup
Create VMs from machine images
Restore from a standard snapshot
Restore from an instant snapshot
Recover a VM with a corrupted or full disk
Manage VMs
Basic operations and lifecycle
VM instance lifecycle
Schedule VM operations
Schedule a VM to start and stop
Limit the run time of a VM
View VM properties
Detect if a VM is running in Compute Engine
Get a list of VMs
Get the details of a VM
Get the UUID of a VM
View the source image of a VM
View referrers to VMs
View network configuration of an instance
View the number of visible CPU cores
Stop or suspend a VM
Stop or suspend VMs overview
Stop or restart a VM
Gracefully shut down a VM
Graceful shutdown overview
Enable graceful shutdown
View graceful shutdown
Disable graceful shutdown
Suspend or resume a VM
Reset a VM
Update VM details
Rename a VM
Update VM properties
Edit the machine type of a VM
Add or remove GPUs
Change the attached service account
Update the physical location of a VM
About placement policies
Create and apply spread placement policies to VMs
View placement policies
Remove or delete placement policies
Configure IP addresses
Configure static external IP addresses
Configure static internal IP addresses
Configure IPv6 for instances and instance templates
Delete VMs
Delete a VM
Prevent accidental VM deletion
Update VM tenancy
Manage groups of VMs
Work with managed VMs in a MIG
View info about MIGs and managed instances
Add or remove VMs in a MIG
Limit the run time of VMs in a MIG
Add GPU VMs all at once in a MIG
About resize requests
Create resize requests
View, cancel, or delete resize requests
Configure instance flexibility in a MIG
About instance flexibility
Add instance flexibility
View instance flexibility
Change or remove instance flexibility
Distribute VMs across zones in a regional MIG
About regional MIGs
About target distribution shape
Set a target distribution for VMs across zones
Disable and reenable proactive instance redistribution
Manually rebalance a regional MIG
Simulate a zone outage for a regional MIG
Work with suspended and stopped VMs in a MIG
Overview
Manually suspend or stop VMs in a MIG
Accelerate scale out with suspended and stopped VMs
Apply new VM configurations in a MIG
About applying new VM configurations to VMs in a MIG
Automatically apply VM configuration updates
Selectively apply VM configuration updates
Apply configuration updates during repairs
Override instance template properties with an all-instances configuration
Perform one-click OS image upgrades
Maintain high availability during VM failures
About repairing VMs for high availability
Repair a VM when an application fails
Set up an application-based health check and autohealing
Monitor VM health state changes
Disable and enable health state change logs
Turn off repairs in a MIG
Support a stateful workload with a MIG
About stateful MIGs
Configure stateful MIGs
Configure a stateful MIG
Configure stateful persistent disks
Configure stateful metadata
Configure stateful IP addresses
Apply, view, and remove stateful configuration
How stateful MIGs work
How operations affect preserved state
Group VMs together
Migrate an existing workload to a stateful managed instance group
Group unmanaged VMs together
Delete a MIG
Host maintenance events
About host events
Live migration process
Set the host maintenance policy
Query metadata server for notices
Simulate a host maintenance event
Handle GPU host maintenance events
Monitor and plan for a host maintenance event
Manually start host maintenance
Manage metadata
About VM metadata
Predefined metadata keys
Set and remove custom metadata
View and query VM metadata
Set and query guest attributes
Securing VMs
About Shielded VMs
About Confidential VMs
Protect resources with VPC Service Controls
Monitor security risks with Security Command Center
Manage operating systems
Guest environment
About the guest environment
Install the guest environment
Manage operating systems using VM Manager
Manage OS images
Image management best practices
Image families best practices
Access Red Hat Knowledgebase
Manage access to custom images
Set up trusted image policies
Export a custom image to Cloud Storage
Set image versions in an image family
Deprecate a custom image
Delete a custom image
Manage OS packages
Manage licenses
About licenses
View and append licenses
Append RHEL ELS licenses
Upgrade from Ubuntu to Ubuntu Pro
Use startup scripts
Startup scripts overview
Use startup scripts on Linux VMs
Use startup scripts on Windows VMs
Run shutdown scripts
Configure NTP
Enable the virtual random number generator (Virtio RNG)
Deploy workloads
Set up authentication for workloads
Choose a workload authentication method
Authenticate workloads to Google Cloud API using service accounts
Authenticate workloads to other workloads over mTLS
Agent for Compute Workloads overview
Web servers
Deploy an Apache server
Deploy an IIS server
Deploy a Flask server by using Terraform
Applications
Interactive: Build a to-do app with MongoDB
Deploy an ASP.NET application
Set up Joomla
Set up LAMP
Perform blue/green deployments using Cloud Build
Send email from a VM
About sending email
Send email with SendGrid
Send email with Mailgun
Send email with Mailjet
Databases
MySQL
MySQL on Compute Engine
Install MySQL on Compute Engine
Configure MySQL on Compute Engine
Set up client access with a private IP address
Cloning a MySQL database on Compute Engine
Deploying a highly available MySQL 5.6 cluster with DRBD on Compute Engine
PostgreSQL
Set up PostgreSQL on Compute Engine
Set up a PostgreSQL data disk
Set up PostgreSQL with hot standby
SQL Server
Best practices for SQL Server VMs
Create
Create a high-performance SQL Server VM
Add a SQL Server license to an existing Linux server
Add a SQL Server license to an existing Windows server
Configure SQL Server on Google Cloud Platform using Cloud Volumes Service
Configure
Set up AlwaysOn availability groups using an internal load balancer
Set up AlwaysOn availability groups using a distributed network name
Set up a failover cluster VM that uses S2D
Set up a failover cluster VM with multi-writer disks
Set up a SQL Server cluster on Linux with Always On availability groups and Pacemaker
Migrate
Migrate a SQL Server database from AWS EC2 to Compute Engine
Cloning a Microsoft SQL Server database on Compute Engine
Load test SQL Server using HammerDB
Disaster recovery for Microsoft SQL Server
Disaster recovery for Microsoft SQL Server with Async PD
Deploying Microsoft SQL Server for multi-regional disaster recovery
Migrate a SQL Server database from Windows to Linux
Redis
Deployment Options for Redis on Google Cloud
Containers
Containers on Compute Engine
Deploy containers on VMs and managed instance groups
Configure options to run your container
OpenShift workloads
Best practices for high availability with OpenShift
Microsoft Windows
Windows workloads
Best practices for Windows Server VMs
Setting up Active Directory
Best practices for running Active Directory on Google Cloud
Deploy Microsoft SharePoint Server on Compute Engine
Deploying Microsoft Exchange Server 2016 on Compute Engine
Windows Server
Perform an in-place upgrade of Windows Server
Perform an automated in-place upgrade of Windows Server
Run Windows Server failover clustering
Others
Load testing
Distributed load testing using Kubernetes
SSH port forwarding and load testing
Analytics
Monte Carlo methods using Apache Spark
Machine learning
Run TensorFlow inference workloads with TensorRT5 and NVIDIA T4 GPU
Monitor
Monitor logs
View audit logs
View usage reports
View Compute Engine operations
Migrate from activity logs to audit logs
View activity logs
Monitor resources
Monitor VM and sole-tenant node usage
Observe and monitor VMs
Monitor GPU performance
Monitor GPU performance on Linux VMs
Monitor GPU performance on Windows VMs
Monitor disks
Monitor disk health
Monitor the replica states of regional persistent disk volumes
Monitor Hyperdisk Storage Pools
Monitor disks
Monitor reservations
Organize resources using labels
Scale
Autoscale groups of VMs
About autoscaling groups of VMs
Create and manage autoscalers
Scale based on CPU utilization
Scale based on predictions
Scale based on load balancing serving capacity
Scale based on Monitoring metrics
Scale based on schedules
Use an autoscaling policy with multiple signals
Manage autoscalers
Understand autoscaler decisions
View autoscaler logs
Autoscale node groups
Reserve VM capacity
Choose a reservation type
On-demand reservations
About on-demand reservations
Create an on-demand reservation
For a single project
For multiple projects
Combine an on-demand reservation with a CUD
Modify an on-demand reservation
Delete an on-demand reservation
Future reservations
About future reservations
Create a reservation request
For a single project
For multiple projects
Modify a reservation request
Delete a reservation request
Future reservations in calendar mode
About future reservations in calendar mode
Create a reservation request in calendar mode
View reservations or reservation requests
Consume a reservation
Prevent VMs from consuming reservations
Load balancing
About load balancing and scaling
Add an instance group to a load balancer
Request routing to a multi-region external HTTPS load balancer
Cross-region load balancing for Microsoft IIS backends
Set up Internal TCP/UDP Load Balancing
Build reliable and scalable applications
Use autohealing for highly available applications
Use load balancing for highly available applications
Use autoscaling for highly scalable applications
Globally autoscale a web service on Compute Engine
Patterns for scalable and resilient applications
Patterns for using floating IP addresses on Compute Engine
Optimize
Resource utilization
Use recommendations to manage resources
Apply machine type recommendations to VMs
Configure machine type recommendations
Apply machine type recommendations to MIGs
View and apply idle resources recommendations
View and understand VM insights
View and understand MIG insights
Manage idle VM recommendations
Idle VM recommendations overview
View and apply idle VM recommendations
Configure idle VM recommendations
Manage reservation recommendations
Reservation recommendations overview
View and apply idle reservation recommendations
View and apply underutilized reservation recommendations
Configure idle reservation recommendations
Configure underutilized reservation recommendations
Overcommit CPUs on sole-tenant VMs
Manual live migration
About manual live migration
Manually live migrate VMs
Share sole-tenant node groups
Next generation dynamic resource management
Cost savings
Get discounts for committed usage
About commitments and committed use discounts (CUDs)
Resource-based CUDs
Manage resource-based commitments
Renew commitments automatically
Extend the term length of commitments
Merge and split commitments
Upgrade the term of commitments
Get discounts for sustained usage
Disk performance
Optimize Hyperdisk performance
Optimize Persistent Disk performance
Optimize Local SSD performance
Workload performance
Set the number of threads per core
Customize the number of visible CPU cores
Analyze the CPU performance using the PMU
PMU overview
Enable the PMU in VMs
Manage the PMU in VMs
Accelerated workloads with GPUs
GPUs on Compute Engine
About GPUs
Install drivers
Install GPU drivers
Install drivers for NVIDIA RTX Virtual Workstations (vWS)
Drivers for NVIDIA RTX Virtual Workstations (vWS)
Network performance
Network bandwidth
Use Google Virtual NIC
Use IDPF network interface
Configure a VM with higher bandwidth
Reduce latency by using compact placement policies
Optimize TCP network performance
Benchmark higher bandwidth VMs
Optimize app latency with load balancing
Use DPDK to improve network performance
Network performance and GPU VMs
Networking and GPU machines
Use higher network bandwidth
Troubleshoot
General tips
Troubleshoot connectivity
Troubleshoot RDP
Troubleshoot SSH
Troubleshoot OS Login
Troubleshoot VMs
Troubleshoot VM operations
Troubleshoot VM creation
Troubleshoot resource availability errors
Troubleshoot bulk API VM creation
Troubleshoot VM reboots and shutdowns
Troubleshoot VM suspension
Troubleshoot unresponsive VMs
Troubleshoot VM startup
Troubleshoot fstab errors
Troubleshoot kernel panic
Collecting diagnostic information
Collecting core dumps
Rescue an inaccessible VM
Troubleshoot CPU soft lockups
Troubleshoot VM configurations
Troubleshoot Arm VMs
Troubleshoot GPU VMs
Troubleshoot nested virtualization
Troubleshoot using VM screenshots
Troubleshoot sole-tenant nodes
Troubleshoot VM performance issues
Troubleshoot sudoers files
Troubleshoot Windows VMs
Troubleshoot Windows VMs
Troubleshoot using the serial console
Troubleshoot using the serial console
Viewing serial port output
Troubleshoot instance groups
Troubleshoot managed instance groups (MIGs)