使用 Elastic Beanstalk 创建示例应用程序 - AWS Elastic Beanstalk

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

使用 Elastic Beanstalk 创建示例应用程序

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

创建应用程序和环境

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

创建示例应用程序
  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 角色中的步骤,创建一个 IAM 角色,您可以随后为EC2 实例配置文件选择该角色。然后返回此步骤。

      现在您已创建了一个 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. 选择 Create role(创建角色)。

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

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

  7. 选择下一步

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

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. 选择下一步

  10. 输入角色的名称。

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

  12. 选择 Create role(创建角色)。

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

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

    重要

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

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

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

Elastic Beanstalk 工作流

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

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

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

    • 亚马逊弹性计算云 (Amazon EC2) 实例(虚拟机)

    • Amazon EC2 安全组

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

    • 亚马逊 CloudWatch 警报

    • 一个 AWS CloudFormation 堆栈

    • 域名

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

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

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

在环境创建过程中,控制台会跟踪进度并在“事件”选项卡中显示事件状态。当所有资源启动并且运行应用程序的 EC2 实例通过运行状况检查时,环境的运行状况将变为Ok。现在,您可以使用您的 Web 应用程序的网站。

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

在创建示例应用程序时,Elastic Beanstalk 会创建以下资源: AWS

  • EC2 实例 — 配置为在您选择的平台上运行 Web 应用程序的 Amazon EC2 虚拟机。

    各平台运行一组不同的软件、配置文件和脚本以支持特定的语言版本、框架、Web 容器或其组合。大多数平台使用 Apache 或 nginx 作为在 Web 应用程序前处理 Web 流量的反向代理,向其转发请求、提供静态资产以及生成访问和错误日志。

  • 实例安全组 — 配置为允许端口 80 上的传入流量的 Amazon EC2 安全组。此资源允许来自负载均衡器的 HTTP 流量到达运行您的 Web 应用程序的 EC2 实例。默认情况下,其他端口不允许流量进入。

  • Amazon S3 存储桶 – 使用 Elastic Beanstalk 时创建的源代码、日志和其他构件的存储位置。

  • Amazon CloudWatch CloudWatch 警报 — 两个警报,用于监控您环境中实例的负载,并在负载过高或过低时触发。警报触发后,您的 Auto Scaling 组会扩展或收缩以进行响应。

  • AWS CloudFormation 堆栈 — Elastic AWS CloudFormation Beanstalk 用于在您的环境中启动资源并传播配置更改。这些资源在您可通过 AWS CloudFormation 控制台查看的模板中定义。

  • 域名-以表单形式路由到您的 Web 应用程序的域名subdomainregion.elasticbeanstalk.com。

    域安全

    为增强 Elastic Beanstalk 应用程序的安全性,已将 elasticbeanstalk.com 域注册到 公共后缀列表(PSL)

    如果您需要在 Elastic Beanstalk 应用程序的默认域名中设置敏感 Cookie,我们建议您使用带有前缀 __Host- 的 Cookie 来提高安全性。这种做法可以保护您的域免遭跨站点请求伪造(CSRF)攻击。要了解更多信息,请参阅 Mozilla 开发者网络中的 Set-Cookie 页面。