开始在 Elastic Beanstalk 上使用 Java - AWS Elastic Beanstalk
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

开始在 Elastic Beanstalk 上使用 Java

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

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

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

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

示例

Name

支持的版本

环境类型

描述

Tomcat(单页)

所有 Tomcat(带 Corretto)平台分支

Web 服务器

工作线程

java-tomcat-v1_cn.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 开发工具包客户端检测、记录器配置以及传出 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 a new environment (创建新环境)

    
        包含 Elastic Beanstalk 控制台上的应用程序环境列表的应用程序概述页面
  4. 选择 Web server environment (Web 服务器环境)Worker environment (工作线程环境) 环境层。环境的层创建后无法更改。

    注意

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

    
        Elastic Beanstalk 控制台上的“Select environment tier (选择环境层)”页面
  5. 对于平台,选择与应用程序使用的语言匹配的平台和平台分支。

    注意

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

  6. 对于应用程序代码,选择示例应用程序

  7. 要进一步自定义环境,请选择 Configure more options (配置更多选项)。只能在创建环境期间设置下列选项:

    • 环境名称

    • 域名

    • 平台版本

    • VPC

    • 套餐

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

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

    • 内部 Amazon RDS 数据库

    • 负载均衡器

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

  8. 选择 Create environment (创建环境)

后续步骤

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

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