步骤 1:创建示例应用程序 - Amazon Elastic Beanstalk
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

步骤 1:创建示例应用程序

在此步骤中,您将从先前存在的示例应用程序开始创建新应用程序。Elastic Beanstalk 支持针对不同的编程语言、应用程序服务器以及 Docker 容器的平台。您在创建应用程序时选择一个平台。

创建应用程序和环境

要创建您的示例应用程序,您将使用 Create application(创建应用程序)控制台向导。它创建 Elastic Beanstalk 应用程序并在其中启动一个环境。环境是运行应用程序代码所需的 Amazon 资源集合。

创建示例应用程序
  1. 打开 Elastic Beanstalk 控制台

  2. 选择创建应用程序

  3. 对于 Application name(应用程序名称),输入 getting-started-app

  4. (可选)添加应用程序标签

  5. 对于 Platform(平台),选择一个平台。

  6. 选择下一步

  7. 这时将显示配置服务访问权限页面。

  8. 对于服务角色,请选择使用现有的服务角色

  9. 下面我们将重点介绍 EC2 实例配置文件下拉列表。此下拉列表中显示的值可能因您的账户之前是否创建过新环境而异。

    根据列表中显示的值,选择以下选项中的一个。

    • 如果在下拉列表中显示有 aws-elasticbeanstalk-ec2-role,请从 EC2 实例配置文件下拉列表中将其选中。

    • 如果列表中显示的是其他值,并且这是您环境的默认 EC2 实例配置文件,请从 EC2 实例配置文件下拉列表中选中该值。

    • 如果 EC2 实例配置文件下拉列表未显示任何可供选择的值,请按下面为 EC2 实例配置文件创建 IAM 角色的过程操作。

      完成为 EC2 实例配置文件创建 IAM 角色中的步骤,以创建一个之后为 EC2 实例配置文件选择的 IAM 角色。然后返回此步骤。

      现在您已创建了一个 IAM 角色并刷新了列表,该角色将在下拉列表中显示为一个选项。从 EC2 实例配置文件下拉列表中选中您刚刚创建的 IAM 角色。

  10. Configure service access(配置服务访问)页面上选择 Skip to Review(跳至审核)。

    这将跳过可选步骤。

  11. Review(审核)页面将显示所有选择的摘要。

    在页面底部选择 Submit(提交)。

配置服务访问
创建用于 EC2 实例配置文件选择的 IAM 角色
  1. 选择查看权限详细信息。这将在 EC2 实例配置文件下拉列表下显示。

    这时会显示一个名为查看实例配置文件权限的模态窗口。此窗口将列出您需要附加到所创建的新 EC2 实例配置文件的托管式配置文件。此外还提供了一个用于启动 IAM 控制台的链接。

  2. 选择窗口顶部显示的 IAM 控制台链接。

  3. 请在 IAM 控制台的导航窗格中,选择 Roles(角色)。

  4. 选择 创建角色

  5. 可信实体类型下,选择 Amazon 服务

  6. Use case(使用案例)下,选择 EC2

  7. 选择下一步

  8. 附加适当的托管式策略。滚动查看实例配置文件权限模式窗口,以查看托管式策略。这些策略还将在此处列出:

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. 选择下一步

  10. 输入角色的名称。

  11. (可选)将标签添加到角色。

  12. 选择 创建角色

  13. 返回已打开的 Elastic Beanstalk 控制台窗口。

  14. 关闭查看实例配置文件权限模态窗口。

    重要

    不要关闭显示 Elastic Beanstalk 控制台的浏览器页面。

  15. 选择 EC2 实例配置文件下拉列表旁边的 refresh icon (刷新)。

    这将刷新下拉列表,以确保您刚刚创建的角色会在下拉列表中显示。

Elastic Beanstalk 工作流

为了在 Amazon 资源上部署和运行示例应用程序,Elastic Beanstalk 会执行以下操作。这些操作需要约 5 分钟的时间完成。

  1. 创建名为的 Elastic Beanstalk 应用程序getting-started-app

  2. 使用以下 Amazon 资源启动名为 GettingStartedApp-env 的环境:

    • Amazon Elastic Compute Cloud (Amazon EC2) 实例(虚拟机)

    • Amazon EC2 安全组

    • 一个 Amazon Simple Storage Service (Amazon S3) 存储桶

    • 亚马逊 CloudWatch 警报

    • 一个 Amazon CloudFormation 堆栈

    • 域名

    有关这些 Amazon 资源的详细信息,请参阅Amazon 为示例应用程序创建的资源

  3. 创建一个名为 Sample Application 的新应用程序版本。这是默认的 Elastic Beanstalk 示例应用程序文件。

  4. 将示例应用程序的代码部署到 GettingStartedApp-en v 环境中。

在创建环境过程中,控制台将跟踪进度并显示事件。

Elastic Beanstalk 控制台,显示它在创建环境时发生的事件

当所有资源启动并且运行应用程序的 EC2 实例通过运行状况检查后,环境的运行状况将变为 Ok。现在,您可以使用您的 Web 应用程序的网站。

Amazon 为示例应用程序创建的资源

在创建示例应用程序时,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 控制台查看的模板中定义。

  • 域名-以子域名形式路由到您的 Web 应用程序的域名区域.eb.amaz onaws.com.cn。

    注意

    为了增强您的 Elastic Beanstalk 应用程序的安全性,eb.amazonaws.com.cn 名已在公共后缀列表 (PSL) 中注册。为进一步增强安全性,如果您需要在 Elastic Beanstalk 应用程序的默认域名中设置敏感 Cookie,我们建议您使用带 __Host- 前缀的 Cookie。这将有助于保护您的域,防范跨站点请求伪造(CSRF)攻击。要了解更多信息,请参阅 Mozilla 开发者网络中的 Set-Cookie 页面。