AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Toolkit for Visual Studio

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

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

  1. 在 Visual Studio 的 File (文件) 菜单中,单击 New )(新建),然后单击 Project (项目)

  2. New Project (新建项目) 对话框中,单击 Installed Templates (已安装的模板),单击 Visual C#,然后单击 Web。单击 ASP.NET Empty Web Application (ASP.NET 空 Web 应用程序),键入项目名,然后单击 OK (确定)

运行项目

执行以下任一操作:

  1. F5

  2. Debug (调试) 菜单选择 Start Debugging (开始调试)

本地测试

Visual Studio 可让您轻松地在本地测试应用程序。要测试或者运行 ASP.NET Web 应用程序,您需要拥有 Web 服务器。Visual Studio 提供多个选项,如 Internet Information Services (IIS)、IIS Express 或者内置的 Visual Studio 开发服务器。要了解有关其中每个选项的详情以及确定最适合的选项,请转到 Visual Studio for ASP.NET Web 项目中的 Web 服务器

创建 Elastic Beanstalk 环境

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

注意

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

使用 AWS Toolkit for Visual Studio 将您的应用程序部署到 Elastic Beanstalk

  1. Solution Explorer (解决方案资源管理器) 中,右键单击您的应用程序,然后选择 Publish to AWS (发布到 AWS)

  2. Publish to AWS (发布到 AWS) 向导中,输入您的账户信息。

    1. 对于 AWS account to use for deployment (要用于部署的 AWS 账户),选择您的账户或选择 Other (其他) 以输入新账户信息。

    2. 对于 Region (区域),选择要在其中部署应用程序的区域。有关此产品的区域信息,请转到 Amazon Web Services 一般参考 内的区域和终端节点。如果您选择了一个 Elastic Beanstalk 不支持的区域,那么,部署到 Elastic Beanstalk 的选项将变为不可用。

    3. 单击 Deploy new application with template (使用模板部署新应用程序) 并选择 Elastic Beanstalk。然后单击 Next (下一步)

      
                发布到 AWS 向导 1
  3. Application (应用程序) 页面上,输入应用程序详细信息。

    1. 对于 Name (名称),键入应用程序的名称。

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

    3. 应用程序的版本标签将自动显示在 Deployment version label (部署版本标签)

    4. 选择 Deploy application incrementally (以递增方式部署应用程序),可仅部署已更改的文件。因为只需更新已更改的文件而不是所有文件,所以,增量部署的速度更快。如果您选择此选项,则系统会从 Git commit ID 设置应用程序版本。如果您选择不以增量的方式部署应用程序,那么,可以更新 Deployment version label (部署版本标签) 框中的版本标签。

      
                发布到 Beanstalk 向导 2
    5. 单击 Next (下一步)

  4. Environment (环境) 页面上,描述环境详细信息。

    1. 选择 Create a new environment for this application (为此应用程序创建新环境)

    2. 对于 Name (名称),键入环境的名称。

    3. 对于 Description (描述),描述您的环境的特征。此为可选步骤。

    4. 选择需要的环境 Type (类型)

      可以选择 Load balanced (负载均衡)、auto scaled (自动扩展)Single instance (单一实例) 环境。有关更多信息,请参阅 环境类型

      注意

      对于单实例环境,负载均衡、自动缩放和运行状况检查 URL 设置不适用。

    5. 将光标移到 Environment URL (环境 URL) 框中后,环境 URL 会自动显示在该框中。

    6. 单击 Check availability (检查可用性) 按钮,确保环境 URL 处于可用状态。

      
                发布到 Beanstalk 向导 3
    7. 单击 Next (下一步)

  5. AWS Options (AWS 选项) 页面上,为部署配置额外的选项和安全信息。

    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)

    2. 对于 Instance Type (实例类型),选择 Micro (微型)

    3. 对于 Key pair (密钥对),选择 Create new key pair (创建新密钥对)。键入新密钥对的名称(在本示例中,我们使用 myuswestkeypair),然后单击 OK (确定)。利用密钥对,可以对 Amazon EC2 实例进行远程桌面访问。有关 Amazon EC2 密钥对的详细信息,请参阅 Amazon Elastic Compute Cloud 用户指南 中的使用证书

    4. 选择实例配置文件。

      如果您没有实例配置文件,请选择 Create a default instance profile (创建默认实例配置文件)。有关将实例配置文件与 Elastic Beanstalk 结合使用的信息,请参阅管理 Elastic Beanstalk 实例配置文件

    5. 如果您有要用于您环境中的自定义 VPC,请单击 Launch into VPC (在 VPC 中启动)。您可以在下一页上配置 VPC 信息。有关 Amazon VPC 的更多信息,请转到 Amazon Virtual Private Cloud (Amazon VPC)。有关支持的非旧式容器类型的列表,请参阅为什么一些容器类型会被标记为早期容器?

      
                发布到 Beanstalk 向导 4
    6. 单击 Next (下一步)

  6. 如果您选择在 VPC 内启动环境,则会显示 VPC Options (VPC 选项) 页面;否则会显示 Additional Options (额外选项) 页面。在这里可配置您的 VPC 选项。

    
            适用于负载均衡、自动扩展的环境的 VPC 选项
    
            适用于单一实例环境的 VPC 选项
    1. 选择您要在其中启动环境的 VPC 的 VPC ID。

    2. 对于负载均衡、自动扩展的环境,如果您不希望弹性负载均衡器对 Internet 可用,请为 ELB Scheme (ELB 模式) 选择 private (私有)

      对于单一实例环境,因为环境没有负载均衡器,所以此选项并不适用。有关更多信息,请参阅 环境类型

    3. 对于负载均衡、自动扩展的环境,为弹性负载均衡器和 EC2 实例选择子网。如果您创建了公有和私有子网,请确保弹性负载均衡器和 EC2 实例与正确的子网相关联。默认情况下,Amazon VPC 会使用 10.0.0.0/24 创建默认的公有子网,并使用 10.0.1.0/24 创建私有子网。您可以在位于 https://console.amazonaws.cn/vpc/ 的 Amazon VPC 控制台中查看现有的子网。

      对于单一实例环境,您的 VPC 实例只需要一个公有子网供实例使用。因为环境没有负载均衡器,所以为负载均衡器选择子网并不适用。有关更多信息,请参阅 环境类型

    4. 对于具有负载均衡、自动衡量的环境,请选择您已为实例创建的安全组 (如果适用)。

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

    5. 单击 Next (下一步)

  7. Application Options (应用程序选项) 页上,配置您的应用程序选项。

    1. 对于目标框架,选择 .NET Framework 4.0

    2. Elastic Load Balancing 会通过运行状况检查确定运行您的应用程序的 Amazon EC2 实例是否正常。运行状况检查会按设置的时间间隔探测指定的 URL,从而确定该实例的状态。您可以通过在 Application health check URL (应用程序运行状况检查 URL) 框中输入 URL(例如 /myapp/index.aspx)以覆盖默认 URL,使之对应于您的应用程序中的现有资源。有关应用程序运行状况检查的更多信息,请参阅“运行状况检查”。

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

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

    5. 选择您希望用于部署应用程序的应用程序凭证选项。

      
                发布到 Beanstalk 向导 6
    6. 单击 Next (下一步)

  8. 如果之前设置了 Amazon RDS 数据库,则会显示 Amazon RDS DB Security Group (Amazon RDS 数据库安全组) 页面。如果要将 AWS Elastic Beanstalk 环境连接到 Amazon RDS 数据库实例,请选择一个或多个安全组。否则,请继续执行下一步。准备就绪时,单击 Next (下一步)

    
            发布到 Beanstalk 向导 7
  9. 查看您的部署选项。如果所有内容都准确无误,请单击 Deploy (部署)

    
            发布到 Beanstalk 向导 8

    您的 ASP.NET 项目会导出为 Web 部署文件,上传到 Amazon S3,并通过 Elastic Beanstalk 注册为新的应用程序版本。Elastic Beanstalk 部署功能将监控您的环境,直到部署了新代码的环境变得可用为止。在“env:<environment name> (环境: <环境名称>)”选项卡上,您将看到环境的状态。

    
            环境状态

终止环境

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

注意

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

终止环境

  1. AWS Explorer 中展开 Elastic Beanstalk 节点和应用程序节点。右键单击应用程序环境,选择 Terminate Environment (终止环境)

  2. 当系统提示时,单击 Yes (是) 以确认要终止该环境。Elastic Beanstalk 需要花几分钟的时间才能终止该环境中运行的 AWS 资源。

    
            Elastic Beanstalk 的“Terminate Environment (终止环境)”对话框

    注意

    终止环境时,与已终止环境相关联的别名记录可供任何人使用。