在 Compute Engine 中將 ASP.NET 應用程式部署至 Windows Server

1. 總覽

ASP.NET 是開放原始碼的網頁架構,可使用 .NET 建構現代網頁應用程式和服務。ASP.NET 會根據 HTML5、CSS 和 JavaScript 建立網站,這些網站簡單快速,且可擴充至數百萬名使用者。

在本實驗室中,您將簡單的 ASP.NET 應用程式部署到 Compute Engine 上執行的 Windows Server。本程式碼研究室以「將採用 ASP.NET Framework 的 Windows Server 部署至 Compute Engine」程式碼研究室為基礎。建議您先完成該實驗室。

此外,您還需要 Visual Studio 2013 以上版本,才能編寫 ASP.NET 應用程式並部署到 Compute Engine。

課程內容

  • 如何建立簡單的 ASP.NET 應用程式。
  • 如何在 Visual Studio 中在本機執行 ASP.NET 應用程式。
  • 如何將 ASP.NET 應用程式部署至 Compute Engine 上的 Windows Server 並執行。

軟硬體需求

您會如何使用本教學課程?

僅閱讀 閱讀並完成練習

你對 Google Cloud Platform 的使用體驗滿意嗎?

新手 中級 熟練

2. 設定和需求

自修實驗室環境設定

您應該已在先前的實驗室中建立 Google Cloud Platform 專案,因此不必新建專案。登入 Google Cloud Platform 主控台 ( console.cloud.google.com),然後選取上一個實驗室的專案。

3. 下載 ASP.NET 應用程式

下載範例 zip 檔案,然後解壓縮。

或者,您也可以複製其 git 存放區。

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

無論採用哪種方式,您都應該會有一個 getting-started-dotnet 資料夾,內含下列內容。

1acce2c66bc3b8aa.png

4. 在本機執行應用程式

按兩下 aspnet\1-hello-world\hello-world.sln。Visual Studio 會隨即開啟解決方案。

8a699ba7495ab79e.png

請參閱 WebApiConfig.cs.,其中包含簡單的 HelloWorld HTTP 處理常式。

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

在 Visual Studio 中,按 F5 即可建構及執行應用程式。Visual Studio 下載 NuGet 依附元件並建構應用程式後,瀏覽器中應該會彈出「Hello World」訊息。

77768b92a41434c2.png

確認應用程式在本機上執行後,請按下 Shift + F5 鍵停止應用程式。

5. 部署採用 ASP.NET Framework 的 Windows Server

在本節中,我們將瞭解如何使用 Google Cloud 控制台的 Cloud Marketplace,建立已安裝 Windows Server 和 ASP.NET Framework 的 Google Compute Engine 虛擬機器執行個體。

登入 Google Cloud 控制台

在另一個瀏覽器分頁或視窗中前往 Google Cloud 控制台:https://console.cloud.google.com。使用您註冊 Google Cloud Platform 時設定的登入憑證,或實驗室監考人員提供的憑證。

f6cb1591046097da.png

在 Google Cloud 控制台中,按一下畫面左上方的「產品與服務」選單圖示:

32152624d878d9f8.png

然後前往 Cloud Marketplace

6c08c9a31e3a9c6c.png

搜尋 ASP.NET Framework

輸入「ASP.NET」搜尋「ASP.NET Framework」,然後點選下方的結果方塊。

d64d04962212c3c1.png

在 Compute Engine 上啟動

在下一個畫面中,按一下「在 Compute Engine 上啟動」

建立新的執行個體時,您可以設定許多參數。我們將使用下列項目:

名稱

gcelab

部署作業名稱

windows-aspnet-instance

可用區

europe-west1-d如要進一步瞭解可用區,請參閱區域和可用區說明文件

機型

1 vCPU (n1-standard-1)n1-standard-1 具有 1 個核心和 3.75 GiB 的 RAM,對我們的 ASP.NET 網站來說綽綽有餘。不過,您可以選取較小或較大的機器,最高可達 32 核心 / 208 GiB RAM。如要進一步瞭解這項功能和自訂機器類型,請參閱機器類型說明文件注意:新專案設有預設資源配額,可能會對 CPU 核心數量設限。您可以為專案申請更多配額。

Windows Server OS 版本

2016

開機磁碟類型

Standard persistent disk注意:您可以選擇效能更高的固態硬碟 (SSD)。請參閱「儲存空間選項」。

磁碟大小 (GB)

100 我們使用預設的 100 GB,但您可以視需求調整。

防火牆

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP traffic保留預設值,系統會建立防火牆規則,允許 HTTP、HTTPS 流量,以及 WebDeploy 和 RDF 流量。

按一下「部署」,即可建立搭載 Windows Server 和 ASP.NET Framework 的新虛擬機器執行個體!系統會將你帶往新頁面,顯示進度。

3276c6d3647fd36.png

完成後,前往左側選單的「Compute Engine」,然後選取「VM 執行個體」。您應該會在「VM 執行個體」清單中看見新的虛擬機器。

fc50b1cfd8b1f4b3.png

點選「外部 IP」時,您應該也會看到執行個體提供的預設 IIS 網站。

iis.PNG

請注意,您也可以使用遠端桌面 (RDP) 連至電腦,但必須先建立 Windows 使用者名稱和密碼。

6. 建立 Windows 使用者和密碼

如要建立 Windows 使用者和密碼,請選取「建立或重設 Windows 密碼」

cf9b67269c4fa290.png

系統會開啟新視窗,供您建立使用者。保留預設值,然後選取「設定」。幾秒後,您應該會看到「New Windows password」(新的 Windows 密碼) 對話方塊,其中包含新建立的密碼。請記下密碼,因為下一節會用到。

7. 將應用程式部署至 Compute Engine 上的 Windows Server

現在要將應用程式部署到在 Compute Engine 執行個體上執行的 Windows Server。

首先,您需要找出在「將採用 ASP.NET Framework 的 Windows Server 部署至 Compute Engine」中部署的 Compute Engine 執行個體外部 IP。在 Cloud 控制台中,依序前往「Compute」>「VM Instances」,找出執行個體並記下外部 IP 位址。

8163b495fda4a4c5.png

現在,您需要上一步建立的 Windows 使用者名稱和密碼。

在 Visual Studio 的「方案總管」中,以滑鼠右鍵按一下專案,然後在內容選單中選取「發布」

31dc67741553583e.png

在「發行 Web」 對話方塊中,選取 [自訂] 做為發行目標。

在「New Custom Profile」(新增自訂設定檔) 對話方塊中,為部署設定檔命名,然後按一下「確定」。

請按照下列步驟填寫個人資料。

伺服器

The external IP address of your Compute Engine instance. This address can be found on the 「VM instances」(VM 執行個體) 頁面 in the Cloud Console. The IP address is 暫時性, which is sufficient for our purposes.

網站名稱

Default Web Site注意:您在此提供的網站名稱必須與 Compute Engine 執行個體上 IIS 管理員中顯示的名稱相符。

使用者名稱

The username of the Windows user account you created on your Compute Engine instance.

密碼

The password of the Windows user account you created on your Compute Engine instance.

到達網頁網址

http://注意:到達網址是網頁部署後可存取的地址。

按一下「驗證連線」,確保屬性正確無誤。

5587e66e1f61acd6.png

由於根據預設,部署作業中的 Microsoft IIS 安裝會使用自行簽署的憑證,因此在驗證程序期間會顯示「憑證錯誤」。勾選「儲存這個憑證以供未來 Visual Studio 工作階段使用」方塊,然後按一下「接受」以接受憑證。

e7cc4bdef3064b9b.png

如果設定有效,請按一下「設定」。按一下「檔案發行選項」,然後勾選「移除目的地的其他檔案」。將新網站發行到相同的 Compute Engine 執行個體時,此步驟對後續步驟的進行很重要。

1014554485ba6720.png

按一下「發布」即可部署應用程式。發布完成後,Visual Studio 會在預設網路瀏覽器中開啟應用程式。

feab07f5ac573240.png

8. 清除

大功告成!現在請清理您使用的資源 (節省成本,當個優質的雲端使用者)。

您可以刪除執行個體或直接停止執行個體,但請注意,停止的執行個體仍可能產生儲存空間相關費用。

a3152ac7b76cdd4e.png

當然,您也可以刪除整個專案,但這樣會遺失所有已完成的帳單設定 (必須先停用專案帳單)。此外,刪除專案後,系統只會在目前的帳單週期結束後停止收費。

9. 恭喜!

Google Compute Engine 是 Google Cloud Platform 基礎架構即服務的根基。如您所見,將 ASP.NET 應用程式部署至 Compute Engine 上的 Windows Server 相當容易。

涵蓋內容

  • 如何建立簡單的 ASP.NET 應用程式。
  • 如何在 Visual Studio 中在本機執行 ASP.NET 應用程式。
  • 如何將 ASP.NET 應用程式部署至 Compute Engine 上的 Windows Server 並執行。

後續步驟

授權

這項內容採用的授權為 Creative Commons 姓名標示 2.0 通用授權。

/