A virtual machine instance on Google Compute Engine can be controlled like any standard Windows server. Deploy a simple IIS web server to learn the basics of running a server on a virtual machine instance.
Prerequisites
You'll need a new Windows instance with HTTP traffic allowed.
- Follow the Quickstart instructions to create a new Windows instance and connect to it with RDP.
Install IIS
-
Right click the Windows PowerShell icon and select Run as Administrator
to open the PowerShell terminal.
-
Install the IIS services with the following commands:
import-module servermanager
add-windowsfeature web-server -includeallsubfeature
-
Overwrite the IIS web server default web page with the following command:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' > C:\inetpub\wwwroot\index.html
Test your server
Test that your instance is serving traffic on its external IP.
- Go to the VM Instances page in the Google Cloud Console.
- Click the external IP for your instance under the EXTERNAL IP column.
You should now see the "Hello World!" page.
Clean up
When you're done experimenting, follow the clean up instructions in the Quickstart to avoid incurring charges for this instance.
Troubleshooting
Receiving a Connection Refused
error
If you are seeing a Connection Refused
error, it is possible that:
Your VM instance is not publicly accessible because your firewall rules or tags are misconfigured in one of the following ways:
- The VM instance does not have the proper tag that allows Compute Engine to apply the appropriate firewall rules to your instance.
- Your project does not have a firewall rule that allows traffic to the external IP address for your instance.
You are trying to access the VM using an
https
address. Check that your URL ishttp://[EXTERNAL_IP]
rather thanhttps://[EXTERNAL_IP]
.
To ensure that your VM instance has the correct tags:
- Go to the VM Instances page in the Google Cloud Console.
- Click the name of the instance that you are trying to connect to.
- Click Edit at the top of the page.
- Scroll down to Firewalls, and make sure the Allow HTTP traffic box is checked. If it is not checked, check it.
- Save your changes. This ensures that the correct tags are added to the VM instance.
To ensure that the correct firewall rule exists:
- Go to the Firewall rules page in the Google Cloud Console.
- Look for a firewall rule that allows all IP ranges through tcp:80. Usually,
this rule is named the
default-allow-http
rule. - If a rule does not exist, create one.
- Click Create firewall rule.
- Enter a name for the rule, such as
default-allow-http
. - Under Source IP ranges, enter
0.0.0.0/0
to allow traffic from all sources. - Under Protocols and ports, check Specified protocols and ports
and enter
tcp:80
. - Create your firewall rule.
Test your server again by going to the external IP address of the instance:
http://[EXTERNAL_IP]