

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# QuickStart：將 ASP.NET 應用程式部署至 Elastic Beanstalk
<a name="aspnet-quickstart"></a>

本 QuickStart 教學課程將逐步引導您建立 ASP.NET 應用程式並將其部署到 AWS Elastic Beanstalk 環境。

**不適用於生產用途**  
範例僅用於示範。請勿在生產環境中使用範例應用程式。

**Topics**
+ [AWS 您的帳戶](#aspnet-quickstart-aws-account)
+ [先決條件](#aspnet-quickstart-prereq)
+ [步驟 1：建立 ASP.NET 應用程式](#aspnet-quickstart-create-app)
+ [步驟 2：在本機執行您的應用程式](#aspnet-quickstart-run-local)
+ [步驟 3：使用 部署您的 ASP.NET 應用程式 AWS Toolkit for Visual Studio](#aspnet-quickstart-deploy)
+ [步驟 4：在 Elastic Beanstalk 上執行應用程式](#aspnet-quickstart-run-eb-ap)
+ [步驟 5：清除](#aspnet-quickstart-cleanup)
+ [AWS 您應用程式的 資源](#aspnet-quickstart-eb-resources)
+ [後續步驟](#aspnet-quickstart-next-steps)
+ [使用 Elastic Beanstalk 主控台部署](#aspnet-quickstart-console)

## AWS 您的帳戶
<a name="aspnet-quickstart-aws-account"></a>

如果您還不是 AWS 客戶，則需要建立 AWS 帳戶。註冊可讓您存取 Elastic Beanstalk 和其他您需要 AWS 的服務。

如果您已經有 AWS 帳戶，您可以繼續進行 [先決條件](#aspnet-quickstart-prereq)。

### 建立 AWS 帳戶
<a name="aspnet-quickstart-aws-account-procedure"></a>

#### 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

若要開始使用 AWS，您需要 AWS 帳戶。如需建立 的相關資訊 AWS 帳戶，請參閱《 *AWS 帳戶管理 參考指南*》中的 [入門 AWS 帳戶](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html)。

## 先決條件
<a name="aspnet-quickstart-prereq"></a>

本 QuickStart 教學課程將逐步引導您建立「Hello World」應用程式，並將其部署到具有 Visual Studio 和 的 Elastic Beanstalk 環境 AWS Toolkit for Visual Studio。

### Visual Studio
<a name="aspnet-quickstart-prereq.vs"></a>

若要下載並安裝 Visual Studio，請遵循 Visual Studio [下載頁面上](https://visualstudio.microsoft.com/downloads/)的指示。此範例使用 Visual Studio 2022。在 Visual Studio 安裝期間，選取下列特定項目：
+ 在**工作負載**索引標籤上：選取 **ASP.NET 和 Web 開發**。
+ 在**個別元件**索引標籤上：選取 **.NET Framework 4.8 開發工具和** **.NET Framework 專案和項目範本**。

### AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-prereq.aws-vs-tk"></a>

若要下載和設定 ， AWS Toolkit for Visual Studio 請遵循 AWS Toolkit for Visual Studio 《 使用者指南》[入門](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/getting-set-up.html)主題中的指示。

## 步驟 1：建立 ASP.NET 應用程式
<a name="aspnet-quickstart-create-app"></a>

接著，建立您要部署到 Elastic Beanstalk 環境的應用程式。我們將建立「Hello World」ASP.NET Web 應用程式。

**建立 ASP.NET 應用程式**

1. 啟動 Visual Studio。在**檔案**功能表中，選取**新增**，然後選取**投影**。

1. 隨即顯示**建立新專案**對話方塊。選取 **ASP.NET Web 應用程式 (.NET Framework)**，然後選取**下一步**。

1. 在**設定您的新專案**對話方塊中，輸入 `eb-aspnet` 做為您的**專案名稱**。從**架構**下拉式功能表中選取 **.NET Framework 4.8**，然後選取**建立**。

   請記下專案目錄。在此範例中，專案目錄為 `C:\Users\Administrator\source\repos\eb-aspnet\eb-aspnet`。

1. 隨即顯示**建立新的 ASP.NET Web 應用程式**對話方塊。選取**空白**範本。接著選取**建立**。

   此時，您已使用 Visual Studio 建立空的 ASP.NET Web 應用程式專案。接下來，我們將建立 Web 表單，做為 ASP.NET Web 應用程式的進入點。

1. 從**專案**功能表中，選取**新增項目**。在**新增項目**頁面上，選取 **Web 表單**並命名為 `Default.aspx`。接著選取**新增**。

1. 將下列項目新增至 `Default.aspx:`

   ```
   <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="eb_aspnet.Default" %>
   
   <!DOCTYPE html>
   
   <html xmlns="https://www.w3.org/1999/xhtml">
   <head runat="server">
       <title>Hello Elastic Beanstalk!</title>
   </head>
   <body>
       <form id="body" runat="server">
           <div>
               Hello Elastic Beanstalk! This is an ASP.NET on Windows Server application.
           </div>
       </form>
   </body>
   </html>
   ```

## 步驟 2：在本機執行您的應用程式
<a name="aspnet-quickstart-run-local"></a>

在 Visual Studio 中**，從偵錯**功能表選取**開始偵錯**以在本機執行應用程式。頁面應該會顯示「Hello Elastic Beanstalk！這是 Windows Server 應用程式上的 ASP.NET。」

## 步驟 3：使用 部署您的 ASP.NET 應用程式 AWS Toolkit for Visual Studio
<a name="aspnet-quickstart-deploy"></a>

請依照下列步驟建立 Elastic Beanstalk 環境，並將您的新應用程式部署到其中。

**建立環境並部署 ASP.NET 應用程式**

1. 在 **Solution Explorer** 中，在應用程式上按一下滑鼠右鍵，然後選取**發佈至 AWS Elastic Beanstalk**。

1. 選擇新 Elastic Beanstalk 應用程式和環境的名稱。

1. 在此之後，您可以繼續執行 Elastic Beanstalk 提供的預設值，或將任何選項和設定修改為您的喜好。

1. 在**檢閱**頁面上，選取**部署**。這將封裝您的 ASP.NET Web 應用程式，並將其部署到 Elastic Beanstalk。

   Elastic Beanstalk 大約需要五分鐘的時間來建立您的環境。Elastic Beanstalk 部署功能將監控您的環境，直到其具備新部署的程式碼且變為可用。在 **Env：<**environment name**>** 索引標籤上，您會看到環境的狀態。

## 步驟 4：在 Elastic Beanstalk 上執行應用程式
<a name="aspnet-quickstart-run-eb-ap"></a>

當建立環境的程序完成時，**Env：<**environment name**>** 索引標籤會顯示您環境和應用程式的相關資訊，包括啟動應用程式的網域 URL。在此索引標籤上選取此 URL，或將其複製並貼到您的 Web 瀏覽器。

恭喜您！您已使用 Elastic Beanstalk 部署 ASP.NET 應用程式！

## 步驟 5：清除
<a name="aspnet-quickstart-cleanup"></a>

當您完成使用應用程式時，您可以在 中終止您的環境 AWS Toolkit for Visual Studio。

**終止環境**

1. 在 **AWS Explorer** 中，展開 Elastic Beanstalk 節點和應用程式節點。以滑鼠右鍵按一下您的應用程式環境，然後選取 **Terminate Environment (終止環境)**。

1. 提示出現時，按一下 **Yes (是)** 以確認您希望終止該環境。Elastic Beanstalk 需要幾分鐘的時間來終止環境中執行 AWS 的資源。

## AWS 您應用程式的 資源
<a name="aspnet-quickstart-eb-resources"></a>

您剛建立單一執行個體應用程式。它可作為具有單一 EC2 執行個體的簡單範例應用程式，因此不需要負載平衡或自動擴展。對於單一執行個體應用程式，Elastic Beanstalk 會建立下列 AWS 資源：
+ **EC2 執行個體** – 設定在您所選平台上執行 Web 應用程式的 Amazon EC2 虛擬機器。

  每個平台會執行不同一套軟體、設定檔和指令碼，來支援特定的語言版本、架構、Web 容器或其組合。大多數的平台會使用 Apache 或 nginx 做為反向代理，處理您 Web 應用程式前端的網路流量、向它轉送請求、提供靜態資產，並產生存取和錯誤日誌。
+ **執行個體安全群組** – 設定允許從連接埠 80 傳入流量的 Amazon EC2 安全群組。此資源可讓負載平衡器傳來的 HTTP 傳輸資料，到達執行您 Web 應用程式的 EC2 執行個體。在預設情況下，不允許傳輸資料從其他通訊埠傳送。
+ **Amazon S3 儲存貯體** - 儲存位置，用來儲存當您使用 Elastic Beanstalk 時所建立的原始程式碼、日誌和其他成品。
+ **Amazon CloudWatch 警示** – 兩種 CloudWatch 警示，用來監控您環境中執行個體上的負載，會在負載過高或過低時觸發。當警示觸發時，您的 Auto Scaling 群組會擴展或縮減以進行回應。
+ **CloudFormation 堆疊** – Elastic Beanstalk 使用 CloudFormation 啟動環境中的資源並傳播組態變更。資源定義於範本中，您可在 [CloudFormation 主控台](https://console.aws.amazon.com/cloudformation)中檢視此範本。
+  **網域名稱** – 會路由到您 Web 應用程式的網域名稱，其格式為 *{{subdomain}}.{{region}}.elasticbeanstalk.com*。

Elastic Beanstalk 會管理所有這些資源。當您終止環境時，Elastic Beanstalk 會終止其中的所有資源。

## 後續步驟
<a name="aspnet-quickstart-next-steps"></a>

在您擁有執行應用程式的環境後，可以隨時部署應用程式的新版本或不同的應用程式。部署新的應用程式版本非常快速，因無須佈建或重新啟動 EC2 執行個體。您也可以使用 Elastic Beanstalk 主控台探索您的新環境。如需詳細步驟，請參閱本指南*入門*章節中的[探索您的環境](GettingStarted.md#GettingStarted.Explore)。

**嘗試更多教學課程**  
如果您想要使用不同的範例應用程式來嘗試其他教學課程，請參閱 [Windows 上的 .NET Core QuickStart ](dotnet-quickstart.md)。

部署範例應用程式一兩個，並準備好開始在本機開發和執行 ASP.NET 應用程式後，請參閱 [設定您的 .NET 開發環境](dotnet-devenv.md) 

## 使用 Elastic Beanstalk 主控台部署
<a name="aspnet-quickstart-console"></a>

您也可以使用 Elastic Beanstalk 主控台來啟動範例應用程式。如需詳細步驟，請參閱本指南*入門*章節中的[建立範例應用程式](GettingStarted.md#GettingStarted.CreateApp)。