更多适用于 Java 的 Elastic Beanstalk 示例应用程序和教程 - AWS Elastic Beanstalk

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

更多适用于 Java 的 Elastic Beanstalk 示例应用程序和教程

本节提供额外的应用程序和教程。本主题前面的 Java 快速入门Tomcat 上的 Java 快速入门 主题将引导您使用 EB CLI 启动示例 Java 应用程序。

要开始在 AWS Elastic Beanstalk 上使用 Java 应用程序,您只需一个应用程序源包,将其作为第一个应用程序版本上传并部署到环境中。创建环境时,Elastic Beanstalk 会分配运行可扩展 Web 应用程序所需的所有 AWS 资源。

使用示例 Java 应用程序启动环境

Elastic Beanstalk 为每个平台提供单页示例应用程序以及更复杂的示例,这些示例展示了 Amazon RDS 等其他 AWS 资源的使用情况以及特定于语言或平台的功能和 API。

单一页面示例是您在创建环境时获得的相同代码,无需提供您自身的源代码。更复杂的示例托管在 GitHub 上,可能需要在部署到 Elastic Beanstalk 环境之前进行编译或构建。

样本

名称

支持的版本

环境类型

描述

Tomcat(单页)

所有 Tomcat(带 Corretto)平台分支

Web 服务器

工作线程

tomcat.zip

配置为仅在网站根目录中显示一个页面 (index.jsp) 的 Tomcat Web 应用程序。

对于工作线程环境,此示例包含一个 cron.yaml 文件,该文件配置一个每分钟调用一次 scheduled.jsp 的计划任务。调用 scheduled.jsp 时,它会写入 /tmp/sample-app.log 处的日志文件。最后,在 .ebextensions 中包含一个配置文件,该文件在您请求环境日志时将日志从 /tmp/ 复制到由 Elastic Beanstalk 读取的位置。

如果您在运行此示例的环境中启用 X-Ray 集成,则应用程序会显示有关 X-Ray 的更多内容,并提供用于生成调试信息(可在 X-Ray 控制台中查看)的选项。

Corretto(单页)

Corretto 11

Corretto 8

Web 服务器

corretto.zip

使用 BuildfileProcfile 配置文件的 Corretto 应用程序。

如果您在运行此示例的环境中启用 X-Ray 集成,则应用程序会显示有关 X-Ray 的更多内容,并提供用于生成调试信息(可在 X-Ray 控制台中查看)的选项。

Scorekeep

Java 8 Web 服务器 克隆 GitHub.com 的报告

Scorekeep 是一种 RESTful Web API,它借助 Spring 框架提供用于创建和管理用户、会话及游戏的接口。此 API 与通过 HTTP 使用它的 Angular 1.5 Web 应用程序捆绑在一起。

应用程序使用 Java SE 平台的功能下载依赖项和用作构建基础的实例,从而最小化源包的大小。此外,应用程序还包含覆盖默认配置的 nginx 配置文件,以通过代理在端口 80 上静态地为前端 Web 应用程序提供服务,并将针对 /api 下路径的请求路由到在 localhost:5000 上运行的 API。

Scorekeep 还包含一个 xray 分支,它演示了使用 AWS X-Ray 检测 Java 应用程序的方法。它演示了使用 servlet 筛选条件进行传入 HTTP 请求检测、自动和手动 AWS SDK 客户端检测、记录器配置以及传出 HTTP 请求和 SQL 客户端的检测方法。

请参阅自述文件获取说明,或跟随 AWS X-Ray 入门教程演练用 X-Ray 检测应用程序的过程。

是否有 Snake?

使用 Java 8 的 Tomcat 8 Web 服务器 克隆 GitHub.com 的报告

是否有 Snake?是 Tomcat Web 应用程序,显示 Elastic Beanstalk 配置文件、Amazon RDS、JDBC、PostgreSQL、Servlet、JSP、Simple Tag Support、Tag Files、Log4J、Bootstrap 和 Jackson 的使用。

此项目的源代码包括最低要求构建脚本,后者将小服务程序和模型汇编入类文件,并将所需文件封装入您可部署至 Elastic Beanstalk 环境的 Web 存档。请参阅项目存储库中的自述文件,浏览完整说明。

Locust Load Generator

Java 8

Web 服务器

克隆 GitHub.com 的报告

您可用于对不同 Elastic Beanstalk 环境中运行的另一个 Web 应用程序进行负载测试的 Web 应用程序。显示 BuildfileProcfile 文件、DynamoDB 以及 Locust(一种开放源负载测试工具)的使用。

按照以下步骤下载任何示例应用程序并将其部署到 Elastic Beanstalk:

使用示例应用程序启动环境(控制台)
  1. 打开 Elastic Beanstalk 控制台,然后在 Regions(区域)列表中选择您的 AWS 区域。

  2. 在导航窗格中,选择 应用程序。在列表中选择一个现有的应用程序。您还可以选择按照 管理 应用程序 中的说明创建一个。

  3. 在应用程序概述页面上,选择 Create new environment(创建新环境)。

    下图显示了应用程序概述页面。

    Elastic Beanstalk 控制台上的应用程序概述页面图像,其中包含应用程序环境列表

    这将启动 Create environment(创建环境)向导。该向导提供了一组创建新环境的步骤。

  4. 对于环境层,选择 Web 服务器环境工作线程环境环境层。环境的层创建后无法更改。

    注意

    .NET on Windows Server 平台不支持工作线程环境层。

    根据您之前选择的应用程序,提供默认应用程序信息字段。

    环境信息分组中,根据应用程序名称提供环境名称默认值。如果您更喜欢不同的环境名称,则可以在字段中输入其他值。您可以选择输入名;否则 Elastic Beanstalk 会自动生成值。您还可以选择输入环境描述

  5. 对于平台,选择与应用程序使用的语言匹配的平台和平台分支。

    注意

    Elastic Beanstalk 支持列出的大多数平台的多个版本。默认情况下,此控制台将为您选择的平台和平台分支选择推荐版本。如果您的应用程序需要其他版本,您可以在此处选择该版本。有关支持的平台版本的信息,请参阅 Elastic Beanstalk 支持的平台

  6. 对于应用程序代码,您可以选择启动示例应用程序。

    • 要启动默认示例应用程序而不提供源代码,请选择示例应用程序。此操作会选择 Elastic Beanstalk 为您之前选择的平台提供的单页应用程序。

    • 如果您从本指南或其他来源下载了示例应用程序,请执行下面的步骤。

      1. 选择上传代码

      2. 接下来选择本地文件,然后在上传应用程序下,选择选择文件

      3. 您的计算机的操作系统将为您提供一个界面来选择您下载的本地文件。选择源包文件并继续。

  7. 对于预设,选择单一实例

  8. 选择下一步

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

    下图说明了配置服务访问权限页面。

    “配置服务访问权限”页面的图像。
  10. 现有服务角色下拉列表中选择一个值。

  11. (可选)如果您之前创建了 EC2 密钥对,则可以从 EC2 密钥对字段下拉列表中选择它。您可以使用它安全地登录到 Elastic Beanstalk 为您的应用程序预置的 Amazon EC2 实例。如果跳过此步骤,您可以在创建环境后始终创建并分配 EC2 密钥对。有关更多信息,请参阅 EC2 密钥对

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

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

    • 如果在下拉列表中显示有 aws-elasticbeanstalk-ec2-role,请从下拉列表中将其选中。

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

    • 如果 EC2 实例配置文件下拉列表未列出任何值,您需要创建一个实例配置文件。

      创建实例配置文件

      为了创建实例配置文件,我们将绕道执行同一页面上的另一个过程。转到此过程的末尾并展开后面的过程为 EC2 实例配置文件创建 IAM 角色

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

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

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

    这样做将选择此步骤的默认值,并跳过可选步骤。

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

    要进一步自定义您的环境,请在包含要配置的任何项目的步骤旁边选择 Edit(编辑)。只能在创建环境期间设置下列选项:

    • 环境名称

    • 域名

    • 平台版本

    • 处理器

    • VPC

    • 套餐

    可在环境创建后更改下列设置,但它们需要配置新实例或其他资源并且应用更改可能需要很长的时间:

    • 实例类型、根卷、密钥对和 AWS Identity and Access Management (IAM) 角色

    • 内部 Amazon RDS 数据库

    • 负载均衡器

    有关所有可用设置的详细信息,请参阅 创建新环境向导

  15. 选择页面底部的 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 (刷新)。

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

后续步骤

有了运行应用程序的环境以后,您随时可以部署新的应用程序版本或完全不同的应用程序。部署新应用程序版本非常快,因为不需要配置或重新启动 EC2 实例。

在您部署了一两个示例应用程序并准备好开始在本地开发和运行 Java 应用程序以后,请参阅下一节以使用所有需要的工具和库设置 Java 开发环境。