

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# QuickStart: 将 ASP.NET 应用程序部署到 Elastic Beanstalk
<a name="aspnet-quickstart"></a>

本 QuickStart 教程将引导您完成创建 ASP.NET 应用程序并将其部署到 Amazon Elastic Beanstalk 环境的过程。

**不用于生产用途**  
示例仅用于演示。请勿在生产环境中使用示例应用程序。

**Topics**
+ [你的 Amazon 账户](#aspnet-quickstart-aws-account)
+ [先决条件](#aspnet-quickstart-prereq)
+ [步骤 1：创建 ASP.NET 应用程序](#aspnet-quickstart-create-app)
+ [步骤 2：在本地运行应用程序](#aspnet-quickstart-run-local)
+ [步骤 3：使用部署您的 ASP.NET 应用程序 Amazon Toolkit for Visual Studio](#aspnet-quickstart-deploy)
+ [步骤 4：在 Elastic Beanstalk 上运行应用程序](#aspnet-quickstart-run-eb-ap)
+ [第 5 步：清理](#aspnet-quickstart-cleanup)
+ [Amazon 您的应用程序的资源](#aspnet-quickstart-eb-resources)
+ [后续步骤](#aspnet-quickstart-next-steps)
+ [使用 Elastic Beanstalk 控制台进行部署](#aspnet-quickstart-console)

## 你的 Amazon 账户
<a name="aspnet-quickstart-aws-account"></a>

如果您还不是 Amazon 客户，则需要创建一个 Amazon 帐户。注册后，您就可以访问 Elastic Beanstalk Amazon 和其他所需的服务。

如果您已经有一个 Amazon 帐户，则可以继续前进[先决条件](#aspnet-quickstart-prereq)。

### 创建一个 Amazon 账户
<a name="aspnet-quickstart-aws-account-procedure"></a>

#### 注册获取 Amazon Web Services 账户
<a name="sign-up-for-aws"></a>

如果您没有 Amazon Web Services 账户，请完成以下步骤来创建一个。

**要注册 Amazon Web Services 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.amazonaws.cn/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 Amazon Web Services 账户，就会创建*Amazon Web Services 账户根用户*一个。根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

Amazon 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 [https://aws.amazon.com/](https://www.amazonaws.cn/)并选择 “**我的账户”，查看您当前的账户活动并管理您的账户**。

#### 保护 IAM 用户
<a name="secure-an-admin"></a>

注册后 Amazon Web Services 账户，开启多重身份验证 (MFA)，保护您的管理用户。有关说明，请参阅《IAM 用户指南》**中的 [为 IAM 用户启用虚拟 MFA 设备（控制台）](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-iam-user)。

要允许其他用户访问您的 Amazon Web Services 账户 资源，请创建 IAM 用户。为了保护您的 IAM 用户，请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。

有关创建和保护 IAM 用户的更多信息，请参阅《IAM 用户指南》中的以下主题：**
+ [在你的 IAM 用户中创建 Amazon Web Services 账户](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_users_create.html)
+ [适用于 Amazon 资源的访问权限管理](https://docs.amazonaws.cn/IAM/latest/UserGuide/access.html)
+ [基于 IAM 身份的策略示例](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_examples.html)

## 先决条件
<a name="aspnet-quickstart-prereq"></a>

本 QuickStart 教程将引导你使用 Visual Studio 创建 “Hello World” 应用程序并将其部署到 Elastic Beanstalk 环境中。 Amazon 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 项目和项模板**。

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

要下载和设置， Amazon Toolkit for Visual Studio 请按照《 Amazon Toolkit for Visual Studio 用户指南》的 “[入门](https://docs.amazonaws.cn/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\$1 This is an ASP.NET on Windows Server application.”

## 步骤 3：使用部署您的 ASP.NET 应用程序 Amazon Toolkit for Visual Studio
<a name="aspnet-quickstart-deploy"></a>

按照以下步骤创建 Elastic Beanstalk 环境并将新应用程序部署到其中。

**创建环境和部署 ASP.NET 应用程序**

1. 在**解决方案资源管理器**中，右键单击您的应用程序，然后选择**发布到 Amazon 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>

应用程序使用完毕时，您可以在 Amazon Toolkit for Visual Studio中终止您的环境。

**终止环境**

1. 在 **Amazon Explorer** 中，展开 Elastic Beanstalk 节点和应用程序节点。右键单击应用程序环境，选择 **Terminate Environment**（终止环境）。

1. 当系统提示时，选择**是**以确认要终止该环境。Elastic Beanstalk 需要几分钟才能 Amazon 终止在环境中运行的资源。

## Amazon 您的应用程序的资源
<a name="aspnet-quickstart-eb-resources"></a>

您刚刚创建了一个单实例应用程序。它可用作带有单个 EC2 实例的简单示例应用程序，因此不需要负载平衡或自动扩缩。对于单实例应用程序，Elastic Beanstalk 会创建以下资源： Amazon 
+ **EC2 实例** - 配置来在您选择的平台上运行 Web 应用程序的 Amazon EC2 虚拟机。

  各平台运行一组不同的软件、配置文件和脚本以支持特定的语言版本、框架、Web 容器或其组合。大多数平台使用 Apache 或 nginx 作为在 Web 应用程序前处理 Web 流量的反向代理，向其转发请求、提供静态资产以及生成访问和错误日志。
+ **实例安全组** - 配置为允许端口 80 上的传入流量的 Amazon EC2 安全组。通过此资源，HTTP 流量可以从负载均衡器到达运行您的 Web 应用程序的 EC2 实例。默认情况下，其他端口不允许流量进入。
+ **Amazon S3 存储桶** – 使用 Elastic Beanstalk 时创建的源代码、日志和其他构件的存储位置。
+ **Amazon CloudWatch CloudWatch 警**报 — 两个警报，用于监控您环境中实例的负载，并在负载过高或过低时触发。警报触发后，您的 Auto Scaling 组会扩展或收缩以进行响应。
+ **Amazon CloudFormation 堆栈** — Elastic Amazon CloudFormation Beanstalk 用于在您的环境中启动资源并传播配置更改。这些资源在您可通过 [Amazon CloudFormation 控制台](https://console.amazonaws.cn/cloudformation)查看的模板中定义。
+  **域名**-以表单形式路由到您的 Web 应用程序的域名**subdomain*。 *region*.eb.amazonaws.com.cn。*

Elastic Beanstalk 管理所有这些资源。当您终止环境时，Elastic Beanstalk 会终止其包含的所有资源。

## 后续步骤
<a name="aspnet-quickstart-next-steps"></a>

有了运行应用程序的环境以后，您随时可以部署新的应用程序版本或不同的应用程序。部署新应用程序版本非常快，因为不需要配置或重新启动 EC2 实例。您还可以使用 Elastic Beanstalk 控制台探索新环境。有关详细步骤，请参阅本指南*入门*一章中的[探索您的环境](GettingStarted.md#GettingStarted.Explore)。

**尝试更多教程**  
如果您想尝试包含不同示例应用程序的其他教程，请参阅 [QuickStart 适用于 Windows 上的.NET 核心版](dotnet-quickstart.md)。

部署一到两个示例应用程序并准备好开始在本地开发和运行 ASP.NET 应用程序后，请参阅 [设置 .NET 开发环境](dotnet-devenv.md) 

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

您还可以使用 Elastic Beanstalk 控制台来启动示例应用程序。有关详细步骤，请参阅本指南*入门*一章中的[创建示例应用程序](GettingStarted.md#GettingStarted.CreateApp)。