Getting started with .NET on Compute Engine


This tutorial shows how to get started with Compute Engine. Follow this tutorial by deploying a Hello World .NET web app to Compute Engine. For help getting started with App Engine, see the App Engine standard environment.

Objectives

  • Deploy a Hello World sample app to a single Compute Engine instance.

Costs

In this document, you use the following billable components of Google Cloud:

To generate a cost estimate based on your projected usage, use the pricing calculator. New Google Cloud users might be eligible for a free trial.

Before you begin

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Enable the API

  8. Install .NET Core SDK 2.1 or later on your local machine running Microsoft Windows.
  9. Install Web Deploy 3.6 or later on your local machine running Microsoft Windows.

Running the app locally

  1. Download and unzip or clone the sample repository from github:

    git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git
    
  2. In a PowerShell window, go into the HelloWorld directory:

    cd getting-started-dotnet\HelloWorld
    
  3. Start a local web server:

    dotnet run
    
  4. Open a web browser to localhost:8080.

    In your web browser, you see some Hello World text, served from your local machine.

  5. When you're ready to move on, stop the local web server by pressing Control+C.

Deploying to a single instance

This section walks you through running a single instance of your app on Compute Engine.

Single-instance deployment.

Create and configure a Compute Engine instance

From Google Cloud Marketplace, you can launch an instance of Windows running Microsoft IIS on Compute Engine.

  1. In the Google Cloud console, go to the ASP.NET Framework Cloud Marketplace page.

    Go to Cloud Marketplace

  2. Click Launch.

  3. Leave the settings set to their default values, and click Deploy.

    Wait for the Compute Engine instance to deploy. It usually takes about 5 minutes to deploy.

  4. To display resource information, click VM instance.

  5. To edit the VM instance, click Manage Resource.

  6. Click Set Windows password, and then make a note of the username.

  7. Copy the new Windows password, and then click Close.

  8. In the VM instance details page, make a note of the external IP address.

  9. On your local Windows machine, edit the file HelloWorld/Properties/PublishProfiles/ComputeEngine.pubxml.

  10. Enter your VM instance's external IP address between <MSDeployServiceURL> and </MSDeployServiceURL>. For example, <MSDeployServiceURL>203.0.113.22</MSDeployServiceURL>

  11. Enter the instance's username that you previously noted between <UserName> and </UserName>.

  12. Save your changes to the ComputeEngine.pubxml file.

  13. In a PowerShell window, publish your app to the Compute Engine instance:

    dotnet publish -c Release `
      /p:PublishProfile=Properties\PublishProfiles\ComputeEngine.pubxml `
      "/p:Password=YOUR-PASSWORD"
    

    Replace YOUR-PASSWORD with the password you previously copied.

  14. Open a web browser to your instance's external IP address.

    In your web browser, you see some Hello World text, served from your Compute Engine instance.

Manage and monitor an instance

You can use the Google Cloud console to monitor and manage your instance.

  1. To view all of the logs generated by your Compute Engine resources, go to the Logs Explorer page. Go to Logs Explorer

    Cloud Logging is automatically configured to gather logs from various common services, including syslog.

Clean up

To avoid incurring charges to your Google Cloud account for the resources used in this tutorial, either delete the project that contains the resources, or keep the project and delete the individual resources.

Delete the project

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Delete the individual resources

gcloud compute instances delete my-app-instance --zone=YOUR_ZONE --delete-disks=all
gcloud compute firewall-rules delete default-allow-http-80

What's next