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

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

开始在 Elastic Beanstalk 上使用 Java

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

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

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

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

示例

名称

支持的版本

环境类型

描述

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 分支,它演示了使用 Amazon X-Ray 检测 Java 应用程序的方法。它演示了使用 servlet 筛选条件进行传入 HTTP 请求检测、自动和手动 Amazon SDK 客户端检测、记录器配置以及传出 HTTP 请求和 SQL 客户端的检测方法。

请参阅自述文件获取说明,或跟随 Amazon 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(区域)列表中选择您的 Amazon Web Services 区域。

  2. 在导航窗格中,选择应用程序,然后在列表中选择现有应用程序的名称或创建一个

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

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

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

    
              Elastic Beanstalk 控制台上的 Create environment(创建环境)向导
  4. 对于环境层,选择 Web server environment(Web 服务器环境)或 Worker environment(工作线程环境)环境层。环境的层创建后无法更改。

    注意

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

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

    注意

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

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

  7. 对于 Configuration presets(配置预设),选择 Single instance(单一实例)。

  8. 选择 Next(下一步)。

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

    
              配置服务访问
  10. 对于服务角色,请选择使用现有的服务角色

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

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

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

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

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

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

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

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

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

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

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

    • 环境名称

    • 域名

    • 平台版本

    • 处理器

    • VPC

    • 套餐

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

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

    • 内部 Amazon RDS 数据库

    • 负载均衡器

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

  14. 选择页面底部的 Submit(提交)以初始化新环境的创建。


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

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

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

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

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

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

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

  7. 选择 Next(下一步)。

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

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. 选择 Next(下一步)。

  10. 输入角色的名称。

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

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

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

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

    重要

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

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

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

后续步骤

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

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