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 並執行。
軟硬體需求
- Chrome 或 Firefox 瀏覽器。
- 已安裝 Visual Studio 2013 或以上版本。
- 熟悉 .NET Framework 和 C# 語言。
- 在 Compute Engine 上執行的 Windows Server (採用 ASP.NET Framework),以及「將採用 ASP.NET Framework 的 Windows Server 部署至 Compute Engine」程式碼研究室中的 Windows 使用者名稱和密碼。
您會如何使用本教學課程?
你對 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 資料夾,內含下列內容。

4. 在本機執行應用程式
按兩下 aspnet\1-hello-world\hello-world.sln。Visual Studio 會隨即開啟解決方案。

請參閱 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」訊息。

確認應用程式在本機上執行後,請按下 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 時設定的登入憑證,或實驗室監考人員提供的憑證。

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

然後前往 Cloud Marketplace

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

在 Compute Engine 上啟動
在下一個畫面中,按一下「在 Compute Engine 上啟動」。
建立新的執行個體時,您可以設定許多參數。我們將使用下列項目:
名稱 |
|
部署作業名稱 |
|
可用區 |
|
機型 |
|
Windows Server OS 版本 |
|
開機磁碟類型 |
|
磁碟大小 (GB) | 100 我們使用預設的 100 GB,但您可以視需求調整。 |
防火牆 |
|
按一下「部署」,即可建立搭載 Windows Server 和 ASP.NET Framework 的新虛擬機器執行個體!系統會將你帶往新頁面,顯示進度。

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

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

請注意,您也可以使用遠端桌面 (RDP) 連至電腦,但必須先建立 Windows 使用者名稱和密碼。
6. 建立 Windows 使用者和密碼
如要建立 Windows 使用者和密碼,請選取「建立或重設 Windows 密碼」。

系統會開啟新視窗,供您建立使用者。保留預設值,然後選取「設定」。幾秒後,您應該會看到「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 位址。

現在,您需要上一步建立的 Windows 使用者名稱和密碼。
在 Visual Studio 的「方案總管」中,以滑鼠右鍵按一下專案,然後在內容選單中選取「發布」。

在「發行 Web」 對話方塊中,選取 [自訂] 做為發行目標。
在「New Custom Profile」(新增自訂設定檔) 對話方塊中,為部署設定檔命名,然後按一下「確定」。
請按照下列步驟填寫個人資料。
伺服器 |
|
網站名稱 |
|
使用者名稱 |
|
密碼 |
|
到達網頁網址 |
|
按一下「驗證連線」,確保屬性正確無誤。

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

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

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

8. 清除
大功告成!現在請清理您使用的資源 (節省成本,當個優質的雲端使用者)。
您可以刪除執行個體或直接停止執行個體,但請注意,停止的執行個體仍可能產生儲存空間相關費用。

當然,您也可以刪除整個專案,但這樣會遺失所有已完成的帳單設定 (必須先停用專案帳單)。此外,刪除專案後,系統只會在目前的帳單週期結束後停止收費。
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 並執行。
後續步驟
- 進一步瞭解 Google Cloud Platform 上的 Windows。
- 進一步瞭解 Google Cloud Platform 上的 .NET。
- 進一步瞭解 Google Cloud Platform 上的 SQL Server。
- 進一步瞭解 Cloud Tools for Visual Studio。
- 進一步瞭解 Cloud Tools for PowerShell。
授權
這項內容採用的授權為 Creative Commons 姓名標示 2.0 通用授權。
/