You can run your Windows applications on Google Compute Engine and take advantage of many benefits available to virtual machine instances such as reliable storage options, the speed of the Google network, and Autoscaling.
Compute Engine provides several tools to help bring your Windows applications and services to the cloud:
- Use Windows Server images to create instances with a basic Windows environment upon which you can build your applications. For Windows Server 2016 and 2012 R2 images, you can select from either the Windows Server with Desktop Experience or Windows Server Core configurations.
- Use SQL Server images to start instances that have Windows Server with SQL Server preinstalled. Pay for both Windows Server and SQL Server licenses only when you use them. Windows Server images receive per-second billing and SQL Server images receive per-minute billing.
- Run .NET applications on your Compute Engine instances.
- Deploy Active Directory to your instances and bring your domain services to the cloud.
- Run IIS web servers to host your web content on Windows instances.
- If you have existing licenses for SQL Server or other applications that run in a Windows environment, use your existing Microsoft application licenses through the Microsoft License Mobility program.
To get started, try the Windows quickstart, create a Windows Server instance, or create an instance with SQL Server preinstalled.
Windows quickstart
If you are new to Google Compute Engine, follow the Windows quickstart to learn how to create Windows virtual machine instances using the GCP Console. Create an instance with a Windows Server operating system, use Windows PowerShell to install Internet Information Services (IIS), and host a simple web page.
Windows Server
Windows Server is a server operating system from Microsoft. You can create instances with Windows Server images to run applications that are specific to Windows.
Compute Engine offers several versions of Windows Server, most of which are available as both regular and Shielded VM images. Shielded VM images offer security features like UEFI-compliant firmware, Secure Boot, and vTPM-protected Measured Boot.
Available versions of Windows Server are as follows:
- Windows Server 2019 Datacenter Edition
- Server Core
- Server with Desktop Experience
- Server Core, Shielded VM
- Server with Desktop Experience, Shielded VM
- Windows Server, version 1809
- Server Core
- Server Core, Shielded VM
- Windows Server, version 1803
- Server Core
- Server Core, Shielded VM
- Windows Server, version 1709
- Server Core
- Server Core, Shielded VM
- Windows Server 2016 Datacenter Edition
- Server Core
- Server with Desktop Experience
- Server Core, Shielded VM
- Server with Desktop Experience, Shielded VM
- Windows Server 2012 R2 Datacenter Edition
- Server Core
- Server with Desktop Experience
- Server Core, Shielded VM
- Server with Desktop Experience, Shielded VM
- Windows Server 2008 R2 Datacenter Edition
- Server with Desktop Experience
Optionally, Compute Engine offers SQL Server images if you need instances that have Windows Server with SQL Server preinstalled.
For a full list of the available Windows Server images, see the public images list.
Pricing for Windows Server images
When you create a Windows Server instance, you pay by the second for the use of the Windows Server license. The cost for the license depends on the number of vCPUs in the machine type of the instance.
Windows Server images are premium resources that incur additional fees. See Windows Server pricing for more information about the price of Windows Server images.
Licensing for Windows Server and SQL Server images
Instances that run Windows Server images on Compute Engine
can activate and renew their licenses only if they have a network connection
to kms.windows.googlecloud.com. If your Windows Server instances are unable to
access kms.windows.googlecloud.com, they stop functioning within 30 days.
Your VPC network must provide access to 35.190.247.13, the
IP address used by kms.windows.googlecloud.com. The next hop for
35.190.247.13/32 must be the default Internet gateway. You can configure
your instances to access kms.windows.googlecloud.com using one of the
following methods:
Assign an external IP address to your instance so that it meets the Internet access requirements and can communicate with
35.190.247.13.If you prefer not to assign your instance an external IP, you can allow access to
35.190.247.13/32by using Private Google Access.
For details about each of these methods, refer to Configuring Windows Server License Activation.
You can bring your existing Windows Server licenses to Compute Engine using Bring your own license with sole-tenant nodes or bring your existing Microsoft Application Licenses to your Windows Server instances to run specific applications. However, you must continue to manage those licenses yourself.
Windows Client
Bring existing Windows Client licenses to Compute Engine using Bring your own license with sole-tenant nodes and importing your image as a virtual disk. Similar to bringing your license with Windows Server, you must continue to manage license and compliance yourself.
Import the following Windows Client versions:
- Windows 7 SP1 Enterprise x64
- Windows 10 Enterprise x64
SQL Server
Microsoft SQL Server is a database system that runs on Windows Server. You can use SQL Server on Compute Engine as part of the backend for your applications, as a flexible development and test environment, or in addition to your on-prem systems for backup and disaster recovery.
Compute Engine provides images with Microsoft SQL Server preinstalled on Windows Server. For these SQL Server images, Compute Engine manages the license for both Windows Server and SQL Server, and includes the cost in your monthly bill. Create instances with SQL Server and scale to large multi-node configurations when you need them.
Compute Engine stores your data on durable persistent disks with automatic redundancy and automatic encryption at rest. Use these persistent disks to store your SQL Server data without having to worry about the durability or security of your data. For additional performance, create your instances with a local SSD as a cache that provides additional IOPS and performance for SQL Server queries.
You can create Compute Engine instances that run SQL Server through one of the following options:
- Create an instance using a SQL Server image. These images include one of several SQL Server editions that run on Windows Server. You can use these images to run SQL Server on Compute Engine without obtaining your own separate license from Microsoft.
- Migrate your existing SQL Server licenses to a Windows Server instance on Compute Engine and manage those licenses yourself.
Compute Engine offers images with the following editions of SQL Server:
- SQL Server 2017 Enterprise
- SQL Server 2016 Enterprise
- SQL Server 2014 Enterprise
- SQL Server 2012 Enterprise
- SQL Server 2017 Standard
- SQL Server 2016 Standard
- SQL Server 2014 Standard
- SQL Server 2012 Standard
- SQL Server 2017 Web
- SQL Server 2016 Web
- SQL Server 2014 Web
- SQL Server 2012 Web
- SQL Server 2017 Express
For a full list of the available image families that include SQL Server preinstalled, see the Images page.
Pricing for SQL Server images
When you create an instance that includes SQL Server, you pay by the second for the SQL Server license in addition to the Compute Engine instance resources and the Windows Server license. The cost of your SQL Server instances includes the following items:
- The cost of the SQL Server license.
- The cost for the Windows Server license.
- The cost of the machine type for the instance.
- The cost for resources that are attached to your instance. For example, persistent disks, Local SSDs, and network resources.
For full details on the pricing for Windows Server images that include SQL Server preinstalled, see the SQL Server pricing page.
Machine type requirements for SQL Server images
SQL Server Standard
You can run SQL Server Standard on instances with any machine type, but shared-core machine types machine types will not run optimally. Google recommends that you use instances with at least one vCPU to run SQL Server Standard.
SQL Server Enterprise
Instances that run SQL Server Enterprise must have at least 4 vCPUs. For optimal performance, Google recommends that you run SQL Server Enterprise on instances with larger memory capacities. Depending on your workload, you should use high-memory machine types with 8 vCPUs or more. These machine types maximize the ratio of memory to each vCPU that is available on Compute Engine, which is optimal for SQL Server Enterprise instances.
Additionally, you can use SQL Server Enterprise on Compute Engine to create SQL Server Availability Groups.
Licensing for images with SQL Server
If you need to run SQL Server on Compute Engine, create an instance with a Windows Server image that includes SQL Server preinstalled. These images handle licensing for both Windows Server and SQL Server and enable you to adopt a pay as you go model for your Windows Server and SQL Server licenses. The pay as you go model lets you pay for SQL Server only when you need it with per-second billing.
Alternatively, you can bring your existing Microsoft Application Licenses for SQL Server to your Windows Server instances on Compute Engine, but you must continue to manage those licenses yourself.
Default components
SQL Server images include several components by default. The default components depend on the edition of SQL Server that you selected.
SQL Server Enterprise, Standard, and Web editions:
- SQL Server
- Database Engine
- Replication
- Full text search
- Analysis services
- Reporting services
- Data quality services
- Integration services
- Master data services
- Tools
- SQL Server Management Studio (2012 and 2014 only)
- SQL Server Configuration Manager
- Business Intelligence Development Studio
- SQL Server Setup
- Client Tools Connectivity
- Client Tools SDK
- SQL Client Connectivity SDK
- Data-tier applications
- Backup and Restore
- Attach and Detach
- SQL Server Books online
SQL Server Express edition:
- SQL Server
- Database Engine
- Replication
- Full text search
- Reporting services
If you need to add or remove components, you can
add features to your SQL Server installation.
SQL Server images always include the setup executable at
C:\sql_server_install\setup.exe.
Using Bitlocker with Shielded VM images
You can enable BitLocker for Windows boot disks based on Shielded VM images. Shielded VM images offer security features like UEFI-compliant firmware, Secure Boot, and vTPM-protected Measured Boot.
You should take the following issues into account before you choose to enable BitLocker on such boot disks:
- Data on a Compute Engine persistent disk is already encrypted by default. Enabling BitLocker on top of persistent disk encryption doesn’t affect throughput, but might increase vCPU utilization slightly.
- For boot disks, BitLocker uses the vTPM to store encryption keys for that disk. On Shielded VM boot disks, the vTPM is permanently associated with the VM on which it is created. This means that you can restore a snapshot of a Shielded VM boot disk to another persistent disk, but you can’t decrypt it, because the vTPM containing the BitLocker keys isn’t available. If you have a recovery key, you can recover data by following the instructions at BitLocker recovery guide. If you don’t have a recovery key, the data on the disk is unrecoverable.
If you choose to enable BitLocker for a Windows boot disk based on a Shielded VM image, we strongly recommend saving the recovery key to a safe location.
Enabling BitLocker on data disks attached to the VM creates the same possibility for vCPU utilization increase mentioned previously. However, it doesn’t pose the same recovery challenges, because the BitLocker encryption keys for these disks aren’t stored on the vTPM. If you have lost the ability to unlock the disk normally and have the recovery key, you can attach the disk to another unencrypted VM and recover it from there. If you don’t have a recovery key, the data on the disk is unrecoverable.
Compute Engine Windows drivers
The following Compute Engine drivers are maintained for Windows images:
| Driver Type | Package Name |
|---|---|
| Ethernet Adapter | google-compute-engine-driver-netkvm |
| SCSI Disk | google-compute-engine-driver-vioscsi |
| Display Adapter | google-compute-engine-driver-gga |
| Crash Handler | google-compute-engine-driver-pvpanic |
Each driver is packaged using GooGet and published to GCP repositories. All GCP Windows images are preconfigured with the GooGet tool and GCP repositories. If you need to install GooGet and set up repositories yourself, see Packaging and package distribution.
To install or upgrade a specific driver, run following command:
googet install DRIVER_PACKAGE_NAME


