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

This tutorial uses 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. 登入您的 Google 帳戶。

    如果您沒有帳戶,請申請新帳戶

  2. 在 GCP Console 的專案選擇器頁面中,選取或建立 GCP 專案。

    前往專案選取器頁面

  3. 請確認您已啟用 Google Cloud Platform 專案的計費功能。瞭解如何確認您已啟用專案的計費功能

  4. 啟用Compute Engine必要的 。

    啟用 API

  5. Install .NET Core SDK 2.1 or later on your local machine running Microsoft Windows.
  6. 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 Google Cloud Marketplace page.

    Go to Google Cloud Marketplace

  2. Click Launch on compute engine.

  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 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 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 viewer page. Go to Logs viewer

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

Cleaning up

To avoid incurring charges to your Google Cloud Platform account for the resources used in this tutorial:

Delete the project

  1. In the Cloud Console, go to the Manage resources page.

    Go to the Manage resources page

  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