

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

# 的 AWS Toolkit for Visual Studio
<a name="dotnet-toolkit"></a>

Visual Studio 提供了适用于不同编程语言和应用程序类型的模板。开始时，您可以使用其中任何一个模板。Visual Studio 的 AWS Toolkit for Visual Studio 还提供了三个项目模板，用于引导应用程序的开发： AWS 控制台项目、 AWS Web 项目和 AWS 空项目。在此示例中，您将创建一个新的 ASP.NET Web 应用程序。

**创建一个新的 ASP.NET Web 应用程序项目**

1. 在 Visual Studio 的 **File**（文件）菜单中，单击 **New**（新建），然后单击 **Project**（项目）。

1. 在 **New Project**（新建项目）对话框中，单击 **Installed Templates**（已安装的模板），单击 **Visual C\$1**，然后单击 **Web**。单击 **ASP.NET Empty Web Application**（ASP.NET 空 Web 应用程序），键入项目名，然后单击 **OK**（确定）。

**运行项目**

请执行下列操作之一：

1. 按 **F5**。

1. 从 **Debug**（调试）菜单选择 **Start Debugging**（开始调试）。

## 本地测试
<a name="create_deploy_NET.sdlc.testlocal"></a>

Visual Studio 可让您轻松地在本地测试应用程序。要测试或者运行 ASP.NET Web 应用程序，您需要拥有 Web 服务器。Visual Studio 提供多个选项，如 Internet Information Services (IIS)、IIS Express 或者内置的 Visual Studio 开发服务器。要了解有关其中每个选项的详情以及确定最适合的选项，请参阅 [Visual Studio for ASP.NET Web 项目中的 Web 服务器](http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx)。

## 创建 Elastic Beanstalk 环境
<a name="create_deploy_NET.sdlc.deploy"></a>

在测试应用程序后，可随时将其部署到 Elastic Beanstalk。

**注意**  
[配置文件](ebextensions.md)需为存档中要包含的项目的一部分。或者，您也可以不将配置文件包含在项目中，而是使用 Visual Studio 将所有文件部署到项目文件夹中。在 **Solution Explorer**（解决方案资源管理器）中，右键单击项目名称，然后单击 **Properties**（属性）。单击 **Package/Publish Web**（程序包/发布 Web）选项卡。在 **Items to deploy**（要部署的项）部分中，选择下拉列表中的 **All Files in the Project Folder**（项目文件夹中的所有文件）。

**使用适用于 Visual Studio 的工具包将应用程序部署到 Elastic Beanstalk AWS**

1. 在**解决方案资源管理器**中，右键单击您的应用程序，然后选择**发布到 AWS**。

1. 在 **Publish to AWS(发布到亚马逊云科技)** 向导中，输入您的账户信息。

   1. 对于 **AWS account to use for deployment**（要用于部署的亚马逊云科技账户），选择您的账户或选择 **Other**（其他）以输入新账户信息。

   1. 对于 **Region**（区域），选择要在其中部署应用程序的区域。有关可用 AWS 区域的信息，请参阅中的[AWS Elastic Beanstalk 终端节点和配额*AWS 一般参考*](https://docs.aws.amazon.com/general/latest/gr/elasticbeanstalk.html)。如果您选择了一个 Elastic Beanstalk 不支持的区域，则部署到 Elastic Beanstalk 的选项将变为不可用。

   1.  单击 **Deploy new application with template**（使用模板部署新应用程序）并选择 **Elastic Beanstalk**。然后单击 **Next**（下一步）。  
![\[发布到 AWS 向导 1\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-create-newapp-template.png)

1. 在 **Application**（应用程序）页面上，输入应用程序详细信息。

   1. 对于 **Name**（名称），键入应用程序的名称。

   1. 对于 **Description**，键入应用程序的描述。此为可选步骤。

   1. 应用程序的版本标签将自动显示在 **Deployment version label**（部署版本标签）中。

   1. 选择 **Deploy application incrementally**（以递增方式部署应用程序），可仅部署已更改的文件。因为只需更新已更改的文件而不是所有文件，所以，增量部署的速度更快。如果您选择此选项，则系统会从 Git commit ID 设置应用程序版本。如果您选择不以增量的方式部署应用程序，那么，可以更新 **Deployment version label**（部署版本标签）框中的版本标签。  
![\[发布到 Beanstalk 向导 2\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk1.png)

   1. 单击 **Next**（下一步）。

1. 在 **Environment**（环境）页面上，描述环境详细信息。

   1. 选择 **Create a new environment for this application**（为此应用程序创建新环境）。

   1. 对于 **Name**（名称），键入环境的名称。

   1. 对于 **Description**（描述），描述您的环境的特征。此为可选步骤。

   1. 选择需要的环境 **Type**（类型）。

      可以选择 **Load balanced（负载均衡）、auto scaled**（自动扩展）或 **Single instance**（单一实例）环境。有关更多信息，请参阅[环境类型](using-features-managing-env-types.md)。

       
**注意**  
对于单实例环境，负载均衡、自动扩展和运行状况检查 URL 设置不适用。

   1. 将光标移到 **Environment URL**（环境 URL）框中后，环境 URL 会自动显示在该框中。

   1. 单击 **Check availability**（检查可用性）按钮，确保环境 URL 处于可用状态。  
![\[发布到 Beanstalk 向导 3\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk2.png)

   1. 单击 **Next (下一步)**。

1. 在 **AWS Options**（亚马逊云科技选项）页面上，为部署配置额外的选项和安全信息。

   1.  对于 **Container Type**（容器类型），选择 **64bit Windows Server 2012 running IIS 8**（运行 IIS 8 的 64 位 Windows Server 2012）或 **64bit Windows Server 2008 running IIS 7.5**（运行 IIS 7.5 的 64 位 Windows Server 2008）。

   1. 对于 **Instance Type**（实例类型），选择 **Micro**（微型）。

   1. 对于 **Key pair (密钥对)**，选择 **Create new key pair (创建新密钥对)**。键入新密钥对的名称（在本示例中，我们使用 **myuswestkeypair**），然后单击 **OK**（确定）。key pair 允许远程桌面访问您的 Ama EC2 zon 实例。有关亚马逊 EC2 密钥对的更多信息，请参阅*亚马逊弹性计算云用户指南*中的[使用凭证](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-credentials.html)。

   1. 选择实例配置文件。

      如果您没有实例配置文件，请选择 **Create a default instance profile**（创建默认实例配置文件）。有关将实例配置文件与 Elastic Beanstalk 结合使用的信息，请参阅[管理 Elastic Beanstalk 实例配置文件](iam-instanceprofile.md)。

   1. 如果您有要用于您环境中的自定义 VPC，请单击 **Launch into VPC**（在 VPC 中启动）。您可以在下一页上配置 VPC 信息。有关 Amazon VPC 的更多信息，请转到 [Amazon Virtual Private Cloud (Amazon VPC)](https://aws.amazon.com/vpc/)。有关支持的非旧式容器类型的列表，请参阅[为什么某些平台版本标记为传统版本？](using-features.migration.md#using-features.migration.why)。  
![\[发布到 Beanstalk 向导 4\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_iam.png)

   1.  单击 **Next (下一步)**。

1. 如果您选择在 VPC 内启动环境，则会显示 **VPC Options**（VPC 选项）页面；否则会显示 **Additional Options**（额外选项）页面。在这里可配置您的 VPC 选项。  
![\[适用于负载平衡、可扩展环境的 VPC 选项\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc.png)  
![\[适用于单一实例环境的 VPC 选项\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3b_vpc-single.png)

   1. 选择您要在其中启动环境的 VPC 的 VPC ID。

   1. 对于负载均衡、可扩展的环境，如果您不希望弹性负载均衡器对 Internet 可用，请为 **ELB 模式**选择**私有**。

      对于单一实例环境，因为环境没有负载均衡器，所以此选项并不适用。有关更多信息，请参阅 [环境类型](using-features-managing-env-types.md)。

   1. 对于负载均衡、可扩展的环境，请为弹性负载均衡器和实例选择子网。 EC2 如果您创建了公有子网和私有子网，请确保弹性负载均衡器和 EC2 实例与正确的子网关联。默认情况下，Amazon VPC 会使用 10.0.0.0/24 创建默认的公有子网，并使用 10.0.1.0/24 创建私有子网。您可以在 Amazon VPC 控制台中查看您的现有子网，网址为[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

      对于单一实例环境，您的 VPC 实例只需要一个公有子网供实例使用。因为环境没有负载均衡器，所以为负载均衡器选择子网并不适用。有关更多信息，请参阅[环境类型](using-features-managing-env-types.md)。

   1. 对于负载均衡、可扩展的环境，请选择您已为实例创建的安全组（如果适用）。

      对于单一实例环境，您无需 NAT 设备。选择默认安全组。Elastic Beanstalk 为实例分配一个弹性 IP 地址，允许实例访问 Internet。

   1. 单击 **Next (下一步)**。

1. 在 **Application Options**（应用程序选项）页上，配置您的应用程序选项。

   1. 对于目标框架，选择 **.NET Framework 4.0**。

   1. Elastic Load Balancing 使用运行状况检查来确定运行您的应用程序的 Amazon EC2 实例是否运行正常。运行状况检查会按设置的时间间隔探测指定的 URL，从而确定该实例的状态。您可以通过在 **Application health check URL**（应用程序运行状况检查 URL）框中输入 URL（例如 `/myapp/index.aspx`）以覆盖默认 URL，使之对应于您的应用程序中的现有资源。有关应用程序运行状况检查的更多信息，请参阅“[健康检查](environments-cfg-clb.md#using-features.managing.elb.healthchecks)”。

   1. 如果要接收 Amazon Simple Notification Service (Amazon SNS) 通知，请键入电子邮件地址，这种通知会提醒您可能会影响应用程序的各种重大事件。

   1. **应用程序环境**部分允许您在运行您的应用程序的 Amazon EC2 实例上指定环境变量。由于不再需要在环境中移动时重新编译资源代码，此设置可实现更高的可移植性。

   1. 选择您希望用于部署应用程序的应用程序凭证选项。  
![\[发布到 Beanstalk 向导 6\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk3a.png)

   1. 单击 **Next (下一步)**。

1. 如果之前设置了 Amazon RDS 数据库，则会显示 **Amazon RDS DB Security Group**（Amazon RDS 数据库安全组）页面。如果要将 Elastic Beanstalk 环境连接到 Amazon RDS 数据库实例，请选择一个或多个安全组。否则，请继续执行下一步。准备就绪时，单击 **Next**（下一步）。  
![\[发布到 Beanstalk 向导 7\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk6b.png)

1.  查看您的部署选项。如果所有内容都准确无误，请单击 **Deploy (部署)**。  
![\[发布到 Beanstalk 向导 8\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-publish-beanstalk4.png)

   您的 ASP.NET 项目会导出为 Web 部署文件，上传到 Amazon S3，并通过 Elastic Beanstalk 注册为新的应用程序版本。Elastic Beanstalk 部署功能将监控您的环境，直到部署了新代码的环境变得可用为止。在“env:<environment name>”（环境: <环境名称>）选项卡上，您将看到环境的状态。  
![\[环境状态\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-env-status.png)

## 终止环境
<a name="create_deploy_NET.terminating"></a>

为了避免因未使用的 AWS 资源而产生费用，您可以使用适用于 Visual Studio 的 AWS Toolkit 来终止正在运行的环境。

**注意**  
 稍后，您始终都可以使用相同的版本启动新的环境。

**终止环境**

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

1. 当系统提示时，单击 **Yes**（是）以确认要终止该环境。Elastic Beanstalk 需要几分钟才能 AWS 终止在环境中运行的资源。  
![\[Elastic Beanstalk 的“终止环境”对话框\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-vs-terminate-confirm.png)
**注意**  
终止环境时，与已终止环境相关联的别名记录可供任何人使用。