使用 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角色中的步骤,创建可以随后为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控制台导航窗格中,选择角色

  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. 使用这些启动名为 GettingStartedApp-env 的环境 AWS 资源:

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

    • Amazon EC2 安全组

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

    • 亚马逊 CloudWatch 警报

    • 网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的 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 Beanstalk 使用 AWS CloudFormation 在您的环境中启动资源并传播配置更改。资源是在模板中定义的,您可以在模板中查看 AWS CloudFormation 控制台

  • 域名-以以下形式路由到您的 Web 应用程序的域名 subdomain.region.elasticbeanstalk.com。

    注意

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