You can run your Windows applications on 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 Compute Engine, follow the Windows quickstart to learn how to create Windows virtual machine instances using the Cloud 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 VM 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.
You can import the following client versions of Windows into Compute Engine:
- 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 that are part of Shielded VM images. Shielded VM images offer security features such as UEFI-compliant firmware, Secure Boot, and vTPM-protected Measured Boot.
If you choose to enable BitLocker on a Windows boot disk that is part of a Shielded VM image, we strongly recommend saving the recovery key to a safe location, because if you don't have the recovery key, you can't recover the data.
Take the following into account before enabling BitLocker on a Windows boot disk that is part of a Shielded VM image:
On Shielded VM boot disks, BitLocker uses the vTPM to store the encryption keys, and the vTPM is permanently associated with the VM on which it was 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 in the BitLocker recovery guide. If you don't have a recovery key, the data on the disk is unrecoverable.
On Shielded VM data disks, persistent disk data is encrypted by default. Enabling BitLocker on top of persistent disk encryption doesn't affect throughput, but might increase vCPU utilization slightly. Enabling BitLocker on data disks attached to the VM doesn't pose the same recovery challenges as for boot disks. This is because the BitLocker encryption keys for data 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 Google Cloud repositories. All Google Cloud Windows images are preconfigured with the GooGet tool and Google Cloud 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
Navigating the end of support dates for Windows images
Periodically, as part of the Microsoft Lifecycle Policy, Microsoft might announce an end of support (EOS) date for a version of their operating system that you are using for VM instances on Compute Engine. On the EOS date for that version of the operating system:
- Google can no longer access updates.
- Google can no longer access security patches.
- Google retires the operating system image, and the image is no longer available to create new VM instances.
If you are running VM instances on Compute Engine based on one of these operating system images, keep in mind that beginning on the EOS date:
Existing VM instances based on images that are running beyond their EOS date will continue to operate, but current and future Google Cloud functionality might not perform as expected.
Google can no longer provide support, updates, or security patches. Microsoft might provide additional support through its Extended Support Updates program. It is your responsibility to install and test all updates provided by Microsoft.
Google might request that you upgrade the image to a supported version before Google agrees to investigate support-related issues with that image.
Using an unsupported and unpatched version might create material security risks. If you are running VM instances based on an operating system image with an announced EOS date, Google recommends that before the EOS date, you:
- Upgrade or migrate to a supported version of the Windows operating system.
- Make copies of the images in your projects if you anticipate needing to create new VM instances after the EOS date.
The following table shows Microsoft operating systems that are no longer supported, their EOS dates, where to find Microsoft's EOS announcements, and links to content about upgrading or migrating:
| Operating system | EOS date | More information |
|---|---|---|
| Windows Server 2008 R2 | January 14, 2020 | |
| Windows Server 2008 | January 14, 2020 | |
| Windows Server 2003 R2 | July 14, 2015 | |
| Windows Server 2003 | July 14, 2015 |
What's next
- Learn about the bring your own license framework.
- Learn about sole-tenant nodes.


