部署到 Elastic Beanstalk (旧) - AWS Toolkit for Visual Studio
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

部署到 Elastic Beanstalk (旧)

注意

本节中的信息是指 发布至AmazonWebServices 向导,已被 发布至弹性蜂鸣 向导。以下信息适用于更喜欢或必须使用该旧向导的人员。

有关使用 发布至弹性蜂鸣 向导,请参阅 部署到弹性蜂鸣虫.

AWS Elastic Beanstalk 是一项为您的应用程序简化 AWS 资源预配置过程的服务。Elastic Beanstalk 提供了部署应用程序所需的所有 AWS 基础设施。此基础设施包括:

  • Amazon EC2一些 实例,可托管您的应用程序的可执行文件和内容。

  • 一个 Auto Scaling 以维持适当数量 Amazon EC2 支持您应用程序的实例。

  • 一个 Elastic Load Balancing 将传入流量路由到 Amazon EC2 带宽的实例。

有关 Elastic Beanstalk,转到 弹性蜂鸣文件.

如何使用 Elastic Beanstalk(旧)部署 Web 应用程序

本节介绍如何使用Legacy 发布至AmazonWebServices 向导,作为 Toolkit for Visual Studio,通过以下方式部署Web应用程序 Elastic Beanstalk. 要进行练习,您可使用 Visual Studio 中内置的 Web 应用程序初学者项目的实例,也可使用您自己的项目。

注意

在您使用旧版之前 发布至AmazonWebServices 向导,您必须下载并安装 Web部署. 此向导依赖 Web Deploy 将 Web 应用程序和网站部署到 Internet Information Services (IIS) Web 服务器。

使用旧“Publish to Amazon Web Services (发布到 Amazon Web Services)”向导来部署应用程序

注意

如果您没有可以部署的项目,请按照步骤中的步骤操作 如何创建样品网应用程序启动项目 然后按照以下步骤操作。

  1. 为 Web 应用程序指定 AWS 安全凭证。有关说明,请参阅 如何指定应用程序的AWS安全凭据.

    这些凭证可能与您用于部署的凭证不同。用于部署的凭证将在稍后介绍的部署向导中指定。

  2. 在解决方案资源管理器中,打开“上下文”(Right-Click)菜单的 AEBWebAppDemo 项目文件夹或您自己应用程序的项目文件夹,然后选择 发布至AWS.

  3. 发布至AWS弹性蜂鸣虫 页面,选择 使用旧向导.

  4. 模板 向导页面,选择要用于部署的AWS帐户。要添加新账户,请选择带加号 (+) 的按钮。

    这些选项用于执行应用程序的初始部署或重新部署之前部署的应用程序。以前的部署可能已通过部署向导或 独立部署工具. 如果您选择重新部署,则在向导从当前正在运行的之前部署中检索信息时可能存在延迟。

    对于此示例,请选择 使用模板部署新应用程序,选择 AWS弹性蜂鸣,然后选择 下一步.

  5. 应用 页面,工具包已为应用程序提供了默认名称。您可以更改该默认名称。您还可以在 应用程序详细 区域。

    Toolkit 还提供了部署版本标签,该标签基于当前日期和时间。您可以更改此版本标签,但 Toolkit 会检查其唯一性。

    如果您正在使用增量部署, 部署版本标签 不可用。对于增量部署,版本标签由 Git 提交 ID 构成。在这种情况下,该版本标签是唯一的,因为此提交 ID 派生自 SHA-1 加密哈希。

    利用增量部署,当您首次部署应用程序时,所有应用程序文件都将复制到服务器。如果之后更新其中一些应用程序文件并重新部署,则只会复制已更改的文件,这有可能减少重新部署所需的时间量。如果不采用增量部署,您的所有应用程序文件(无论是否已更改)都将复制到服务器并且全部会进行重新部署。

    选择 增量部署应用程序 然后选择 下一步.

  6. 环境 页面,键入您的 Elastic Beanstalk 环境。在这种情况下, 环境 指基础架构 Elastic Beanstalk 适用于您的应用程序的规定。Toolkit 已提供一个默认名称,您可以更改它。环境名称的长度不得超过 23 个字符。在 描述,输入您选择的任何文本。

    您还可以提供子域 .elasticbeanstalk.com,它将是您的应用程序的 URL。Toolkit 根据环境名称提供默认子域。

  7. 选择 检查可用性 确保您的Web应用程序的URL可以使用。

  8. 选择 下一步.

  9. AWS选项 页面,配置以下内容。

    • 容器类型 下拉列表,选择一个容器类型。容器类型指定了应用程序的 Amazon 系统映像 (AMI)、Auto Scaling 组的配置、负载均衡器以及运行应用程序的环境的其他方面。

    • :可选。在 使用自定义AMI 字段,您可以指定一个自定义AMI。如果您指定自定义AMI,它将覆盖AMI 容器类型. 有关如何创建自定义AMI的更多信息,请转到 使用自定义AMISAWSElasticBeanstalk开发人员指南从AmazonEC2实例创建AMI.

    • 实例类型 下拉列表,选择 Amazon EC2 实例类型。对于此应用,我们建议您使用 微型 因为这将最大程度降低运行实例的成本。有关 Amazon EC2 成本,转到 EC2定价 第页。

    • 密钥对 下拉列表,选择一个密钥对。

    • TheThethe IAM角色 下拉列表显示可用的角色 Elastic Beanstalk 环境。如果您没有 IAM 角色,您可以选择 使用默认角色 从列表中。在这种情况下, Elastic Beanstalk 创建默认值 IAM 角色并更新 Amazon S3 用于允许日志旋转的桶策略。

      一个 IAM 角色使用临时安全凭证提供应用程序和服务访问AWS资源。例如,如果您的应用程序需要访问 DynamoDB,则它必须使用 AWS 安全凭证发出 API 请求。该应用程序可以使用这些临时安全凭据,因此您不必将长期凭据存储在 Amazon EC2 每次旋转凭据时实例或更新实例。 Elastic Beanstalk 需要 IAM 将日志旋转到 Amazon S3.

      如果您选择不使用 IAM 您需要授权权限 Elastic Beanstalk 旋转日志。有关说明,请参阅 使用自定义实例配置文件. 有关日志旋转的更多信息,请参阅 配置带有弹性蜂鸣茎的容器. 有关使用 IAM 角色 Elastic Beanstalk,参见 使用iam角色,带有弹性蜂鸣.

      您用于部署的凭证必须具有创建默认 IAM 角色的权限。

      选择 下一步.

  10. TheThethe VPC选项 页面提供将您的应用程序启动到VPC的选项。必须已创建 VPC。您可以使用 Toolkit for Visual Studio 或 AWS管理控制台 创建VPC。如果您在 Toolkit 中创建了 VPC,Toolkit 将为您填充此页面。如果您在控制台中创建了 VPC,请在此页面中键入有关您的 VPC 的信息。

针对 VPC 的部署的主要注意事项

  • 您的 VPC 需要至少一个公有子网和一个私有子网。

  • ELB子网 下拉列表,指定公共子网。TheThethe Toolkit for Visual Studio 部署 Elastic Load Balancing 应用程序的负载平衡器到公共子网。公共子网与A相关 路由表 这里有一个指向Internet网关的条目。您可以识别 Internet 网关,因为它具有以 ) 开头的 ID。igw-`(for example, :code:`igw-83cddaea). 您使用 Toolkit 创建的公有子网包含将其标识为公有的标签值。

  • 实例子网 下拉列表,指定私有子网。Toolkit 会将您的应用程序的 Amazon EC2 实例部署到私有子网。

  • TheThethe Amazon EC2 您应用程序的实例,通过Internet通过网络传送到互联网 Amazon EC2 执行网络地址转换(NAT)的公共子网中的实例。要启用此通信,您将需要 VPC安全组 允许流量从私有子网到NAT实例。在 安全组 下拉列表。

有关如何部署A的更多信息 Elastic Beanstalk 应用到VPC,转到 AWSElasticBeanstalk开发人员指南.

  1. 应用选项 页面,配置以下内容。

    • 下方 应用程序池选项,在 目标框架 下拉列表,选择应用程序所需的.NETFramework版本(例如.NETFramework2.0、.NETFramework3.0、.NETFramework3.5、.NETFramework4.0、.NETFramework4.5)。

      对于此步骤,请选择 启用32位应用.

    • 下方 其他,在 应用程序运行状况检查URL 框中,键入 Elastic Beanstalk 要检查您的应用程序是否仍然响应。此 URL 相对于根服务器 URL。例如,如果完整的URL是,您将输入 /site-is-up.html...对于此示例应用程序,请保留正斜线的默认设置(/)。

    • 应用程序环境,使用参数字段(PARAM1-5)向应用程序提供输入数据。这些值可以通过 appSettings 元素 Web.config 文件。如需更多信息,请访问 MicrosoftMSDN库.

    • 应用程序凭据,选择应用程序应运行的AWS凭据。这些凭证可能与用于部署到 的凭证不同。Elastic Beanstalk.

      • 要使用不同的凭据集,请选择 使用这些凭据 在提供的字段中键入AccessKey和SecretKey。

      • 使用与用于部署到 Elastic Beanstalk,选择 使用配置文件“<accountname>”中的凭据 其中{<accountname>}是向导第一页上选择的帐户。

      • 要使用 AWS Identity and Access Management (IAM)用户,选择 使用iam用户 然后指定用户。

        要使用 IAM 用户,您必须已执行以下操作:

        • 创建 IAM 用户在 Toolkit for Visual Studio.

        • 已使用 存储该用户的私有密钥。Toolkit for Visual Studio.

        有关详细信息,请参阅 创建和配置iam用户为iam用户生成凭据.

        一个 IAM 用户可以拥有一组与工具包存储的凭据。如果是这种情况,您需要选择要使用的凭证。根账户可轮换 IAM 用户的凭证,这将使凭证失效。在这种情况下,您需要重新部署应用程序,然后手动输入 IAM 用户的新凭证。

    选择 下一步.

    应用程序选项 page
  2. 如果您已部署 Amazon RDS 实例,则会出现类似于下面的页面作为部署向导的一部分。您可以使用此页面添加 Amazon EC2 您的部署 Amazon RDS 与RDS实例相关联的安全组。如果您的应用程序需要访问您的 RDS 实例,您需要在此处或通过在您的 RDS 安全组上设置权限来启用此访问。有关详细信息,请参阅 AmazonRDS安全组.

    如果您要部署到 VPC,则此页面不显示,因为对于 VPC 来说,RDS 实例是由 Amazon EC2 安全组托管的。

  3. 审核 页面,查看先前配置的选项,然后选择 向导关闭时打开环境状态窗口.

    如果一切看起来都正确,请选择 部署.

    注意

    部署应用程序时,将向有效账户收取应用程序使用的 AWS 资源所产生的费用。

    您可以将部署配置保存到文本文件以便与独立部署工具结合使用。要保存配置,请选择 生成AWSDeploy配置. 选择 选择文件 然后指定要保存配置的文件。部署完成后,您还可以保存部署配置。在AWSExplorer中,打开部署的上下文(右键单击)菜单,然后选择 保存配置.

    注意

    部署应用程序时,将向有效账户收取应用程序使用的 AWS 资源所产生的费用。

    审核。 page
  4. 部署的状态页面将打开。部署可能需要几分钟。

    部署完成时,Toolkit 将显示提醒。这很有用,因为它让您可以在部署期间专注于其他任务。

    选择 应用URL 连接到应用程序的链接。

  5. 要删除部署,请在AWSExplorer中展开 弹性豆茎 节点,打开部署子节点的上下文(右键单击)菜单,然后选择 删除... Elastic Beanstalk 将开始删除过程,这可能需要几分钟。如果在部署中指定了通知电子邮件地址,Elastic Beanstalk 会将状态通知发送到此地址。

创建示例 Web 应用程序初学者项目

如果您没有要准备部署的项目,请按照以下步骤创建示例应用程序。

  1. 在VisualStudio中,从 文件 菜单,选择 ,然后选择 项目.

  2. 新项目 对话框,在导航窗格中,展开 已安装,展开 模板,展开 视觉C#,然后选择 网络.

  3. 在可用的Web项目模板列表中,选择包含词语的任何模板 WebApplication 在其描述中。对于此示例,请选择 ASP.NETWeb表单应用程序.

  4. 名称 框,类型 AEBWebAppDemo.

  5. 位置 方框,键入开发机上的解决方案文件夹路径或选择 浏览,然后浏览并选择解决方案文件夹,然后选择 选择文件夹.

  6. 确认 创建解决方案目录 选择框。在 解决方 下拉列表,确认 创建新解决方案 选择,然后选择 . Visual Studio 将基于 ASP.NET Web 表单应用程序项目模板创建解决方案和项目。

返回 如何使用弹性蜂鸣器部署Web应用程序(传统) 并完成您的部署。