Elastic Beanstalk 支持的平台
Amazon Elastic Beanstalk 提供的托管平台支持运行针对特定编程语言、框架和 Web 容器开发的 Web 应用程序。Elastic Beanstalk 为每种平台提供一个或多个平台版本。在您创建环境和选择平台时,Elastic Beanstalk 会预置应用程序所需的资源,包括一个或多个 Amazon Elastic Compute Cloud (Amazon EC2) 实例。在 Amazon EC2 实例上运行的软件堆栈取决于您选择的平台版本。
有关平台的更多信息,请参阅 Amazon Elastic Beanstalk 开发人员指南中的 Amazon Elastic Beanstalk 平台。有关最新版本的详细发布说明,请参阅 Amazon Elastic Beanstalk 发布说明。
以下各节提供了有关当前所有平台版本的信息。有关历史平台版本的列表以及这些版本曾作为最新版本的日期范围,请参阅平台历史记录。
Elastic Beanstalk 已计划停用一些平台版本,这样做是因为这些平台版本的一些组件的生命周期即将结束 (EOL)。这些平台版本将仍然可用,直到其即将停用的组件到达公布的停用日期。有关组件停用日期的列表,请参阅 Amazon Elastic Beanstalk 开发人员指南中的 Amazon Elastic Beanstalk 平台支持策略。有关计划停用的平台版本的列表,请参阅计划停用的 Elastic Beanstalk 平台版本。
主题
Go
Elastic Beanstalk 支持以下 Go 平台版本。
平台版本和解决方案堆栈名称 |
AMI |
语言 |
Amazon X-Ray |
代理服务器 |
---|---|---|---|---|
Go 1 AL2 版本 3.6.4 64bit Amazon Linux 2 v3.6.4 running Go 1 |
2.0.20230119 |
Go 1.19.5 |
3.2.0 |
nginx 1.22.1 |
有关早期平台版本的信息,请参阅 Go 平台历史记录。
Java SE
Elastic Beanstalk 支持以下 Java SE 平台版本。
平台版本和解决方案堆栈名称 |
AMI |
语言 |
工具 |
Amazon X-Ray |
代理服务器 |
---|---|---|---|---|---|
Corretto 17 版本 3.4.4 64bit Amazon Linux 2 v3.4.4 running Corretto 17 |
2.0.20230119 |
Corretto 17.0.6.10.1 |
Ant 1.10.7、Gradle 7.4.2、Maven 3.6.2 |
3.2.0 |
nginx 1.22.1 |
Corretto 11 版本 3.4.4 64bit Amazon Linux 2 v3.4.4 running Corretto 11 |
2.0.20230119 |
Corretto 11.0.18.10.1 |
Ant 1.10.7、Gradle 5.6.2、Maven 3.6.2 |
3.2.0 |
nginx 1.22.1 |
Corretto 8 版本 3.4.4 64bit Amazon Linux 2 v3.4.4 running Corretto 8 |
2.0.20230119 |
Corretto 8.362.08.1 |
Ant 1.10.7、Gradle 5.6.2、Maven 3.6.2 |
3.2.0 |
nginx 1.22.1 |
有关早期平台版本的信息,请参阅 Java SE 平台历史记录。
Tomcat
Elastic Beanstalk 支持以下 Tomcat 平台版本。
平台版本和解决方案堆栈名称 |
AMI |
语言 |
Amazon X-Ray |
应用程序服务器 |
代理服务器 |
---|---|---|---|---|---|
Corretto 11 with Tomcat 8.5 AL2 版本 4.3.4 64bit Amazon Linux 2 v4.3.4 running Tomcat 8.5 Corretto 11 |
2.0.20230119 |
Corretto 11.0.18.10.1 |
3.2.0 |
Tomcat 8.5.79 |
nginx 1.22.1(默认)、Apache 2.4.54 |
Corretto 8 with Tomcat 8.5 AL2 版本 4.3.4 64bit Amazon Linux 2 v4.3.4 running Tomcat 8.5 Corretto 8 |
2.0.20230119 |
Corretto 8.362.08.1 |
3.2.0 |
Tomcat 8.5.79 |
nginx 1.22.1(默认)、Apache 2.4.54 |
重要
Amazon Elastic Beanstalk 从适用于 Amazon Linux 1 和 Amazon Linux 2 的 Tomcat 平台中的 Amazon Linux 默认程序包存储库安装 Log4j。Amazon Linux 1 和 Amazon Linux 2 存储库中可用的 Log4j 版本在其原定设置配置中不受 CVE-2021-44228
如果您对应用程序使用的 log4j 进行了配置更改,或者安装了 log4j 的更新版本,我们建议您采取措施更新应用程序的代码以缓解此问题。
出于谨慎考虑,Elastic Beanstalk 在 2021 年 12 月 21 日的 Amazon Linux 平台版本中发布了使用最新 Amazon Linux 默认程序包存储库的新平台版本,其中包括 Log4j 热补丁 JDK
有关适用于 Amazon Linux 的安全相关软件更新的更多信息,请访问 Amazon Linux 安全中心
有关早期平台版本的信息,请参阅 Tomcat 平台历史记录。
.NET Core on Linux
Elastic Beanstalk 支持以下 .NET Core on Linux 平台版本。
平台版本和解决方案堆栈名称 |
框架 |
代理服务器 |
AMI |
Amazon X-Ray |
---|---|---|---|---|
.NET Core on AL2 版本 2.5.0 64bit Amazon Linux 2 v2.5.0 running .NET Core |
.NET 6.0.13,支持 6.0.13、3.1.32 |
nginx 1.22.1 |
2.0.20230119 |
3.2.0 |
有关早期平台版本的信息,请参阅 .NET Core on Linux 平台历史记录。
Windows Server 上的 .NET
您可以使用 Amazon Toolkit for Visual Studio
注意
此平台不支持以下 Elastic Beanstalk 功能:
-
工作线程环境。有关详细信息,请参阅 Amazon Elastic Beanstalk 开发人员指南中的 Amazon Elastic Beanstalk 工件环境。
-
捆绑日志。有关详细信息,请参阅 Amazon Elastic Beanstalk 开发人员指南中的查看您的 Elastic Beanstalk 环境中的 Amazon EC2 实例的日志。
此外,早于 v2.0.0 的平台版本不支持增强的运行状况报告、托管平台更新、不可变更新、不可变部署和通过另一个批处理进行滚动部署。
要了解如何使用 Amazon Toolkit for Visual Studio 开始部署 .NET 应用程序,请参阅 Amazon Elastic Beanstalk 开发人员指南中的使用 Amazon Toolkit for Visual Studio 在 .NET 中创建和部署 Elastic Beanstalk 应用程序。
如需了解最新的 Microsoft 安全更新的相关信息,请参阅 Security TechCenter
有关用于 Elastic Beanstalk 的早期 .NET on Windows Server 平台版本的信息,请参阅 Windows Server 上的 .NET 平台历史记录。
Elastic Beanstalk 支持以下 .NET on Windows Server 平台版本。
基本配置
平台版本 |
解决方案堆栈名称 |
框架 |
代理服务器 |
---|---|---|---|
Windows Server 2019 with IIS 10.0 版本 2.11.0 |
64bit Windows Server 2019 v2.11.0 running IIS 10.0 |
.NET 6.0.13,支持 6.0.13、3.1.32 .NET Framework 4.8,支持 4.x、2.0、1.x |
IIS 10.0 |
Windows Server Core 2019 with IIS 10.0 版本 2.11.0 |
64bit Windows Server Core 2019 v2.11.0 running IIS 10.0 |
.NET 6.0.13,支持 6.0.13、3.1.32 .NET Framework 4.8,支持 4.x、2.0、1.x |
IIS 10.0 |
Windows Server 2016 with IIS 10.0 版本 2.11.0 |
64bit Windows Server 2016 v2.11.0 running IIS 10.0 |
.NET 6.0.13,支持 6.0.13、3.1.32 .NET Framework 4.8,支持 4.x、2.0、1.x |
IIS 10.0 |
Windows Server Core 2016 with IIS 10.0 版本 2.11.0 |
64bit Windows Server Core 2016 v2.11.0 running IIS 10.0 |
.NET 6.0.13,支持 6.0.13、3.1.32 .NET Framework 4.8,支持 4.x、2.0、1.x |
IIS 10.0 |
Windows Server 2012 R2 with IIS 8.5 版本 2.11.0 |
64bit Windows Server 2012 R2 v2.11.0 running IIS 8.5 |
.NET Core 2.1.30,支持 2.1.30 .NET Framework 4.8,支持 4.x、2.0、1.x |
IIS 8.5 |
Windows Server 2012 R2 Server Core with IIS 8.5 版本 2.11.0 |
64bit Windows Server Core 2012 R2 v2.11.0 running IIS 8.5 |
.NET Core 2.1.30,支持 2.1.30 .NET Framework 4.8,支持 4.x、2.0、1.x |
IIS 8.5 |
更多详情
平台版本 |
AMI 版本 |
Amazon SDK for .NET |
EC2Config |
SSM Agent |
Web 部署 |
Amazon X-Ray |
---|---|---|---|---|---|---|
Windows Server 2019 with IIS 10.0 版本 2.11.0 |
2023.01.11 |
3.15.1919 |
3.1.1856.0 |
3.6 |
3.2.0 |
|
Windows Server Core 2019 with IIS 10.0 版本 2.11.0 |
2023.01.11 |
3.15.1919 |
3.1.1856.0 |
3.6 |
3.2.0 |
|
Windows Server 2016 with IIS 10.0 版本 2.11.0 |
2023.01.11 |
3.15.1919 |
3.1.1856.0 |
3.6 |
3.2.0 |
|
Windows Server Core 2016 with IIS 10.0 版本 2.11.0 |
2023.01.11 |
3.15.1919 |
3.1.1856.0 |
3.6 |
3.2.0 |
|
Windows Server 2012 R2 with IIS 8.5 版本 2.11.0 |
2023.01.11 |
3.15.1919 |
3.1.1856.0 |
3.6 |
3.2.0 |
|
Windows Server 2012 R2 Server Core with IIS 8.5 版本 2.11.0 |
2023.01.11 |
3.15.1919 |
4.9.5103 |
3.1.1856.0 |
3.6 |
3.2.0 |
Node.js
每个 Node.js 平台版本均支持几个 Node.js 语言版本。下表列出了有效的 Node.js 版本以及原定设置版本。每个 Node.js 版本都包含相应的 npm (Node.js 程序包管理器) 版本。该表在括号中列出了 npm 版本。
在 Amazon Linux 2 平台版本上,仅预安装了原定设置的 Node.js 版本。可以使用项目源的根目录中的 package.json
文件来指定希望应用程序使用的 Node.js 版本。有关详细信息,请参阅 Amazon Elastic Beanstalk 开发人员指南中的使用 package.json 文件配置 Node.js。
在 Amazon Linux AMI 平台版本(Amazon Linux 2 之前的版本)上,预安装了平台版本支持的所有列出的 Node.js 版本。如果不设置 NodeVersion
命名空间中的 aws:elasticbeanstalk:container:nodejs
选项,则应用原定设置 Node.js 版本。有关详细信息,请参阅 Amazon Elastic Beanstalk 开发人员指南中的 Node.js 平台选项。
Elastic Beanstalk 支持以下 Node.js 平台版本。
平台版本和解决方案堆栈名称 |
AMI |
Node.js 版本(npm 版本) |
代理服务器 |
Git |
Amazon X-Ray |
---|---|---|---|---|---|
Node.js 16 AL2 版本 5.6.4 64bit Amazon Linux 2 v5.6.4 running Node.js 16 |
2.0.20230119 |
16.19.0 (8.19.3)、16.18.1 (8.19.2)、16.18.0 (8.19.2)、16.17.1 (8.15.0)、16.17.0 (8.15.0)、16.16.0 (8.11.0)、16.15.1 (8.11.0)、16.15.0 (8.5.5)、16.14.2 (8.5.0)、16.14.1 (8.5.0)、16.14.0 (8.3.1)、16.13.2 (8.1.2)、16.13.1 (8.1.2)、16.13.0 (8.1.0)、16.12.0 (8.1.0)、16.11.1 (8.0.0)、16.11.0 (8.0.0)、16.10.0 (7.24.0)、16.9.1 (7.21.1)、16.9.0 (7.21.1)、16.8.0 (7.21.0)、16.7.0 (7.20.3)、16.6.2 (7.20.3)、16.6.1 (7.20.3)、16.6.0 (7.19.1)、16.5.0 (7.19.1)、16.4.2 (7.18.1)、16.4.1 (7.18.1)、16.4.0 (7.18.1)、16.3.0 (7.15.1)、16.2.0 (7.13.0)、16.1.0 (7.11.2)、16.0.0 (7.10.0) 原定设置版本:16.19.0 |
nginx 1.22.1(默认)、Apache 2.4.54 |
2.38.1 |
3.2.0 |
Node.js 14 AL2 版本 5.6.4 64bit Amazon Linux 2 v5.6.4 running Node.js 14 |
2.0.20230119 |
14.21.2 (6.14.17)、14.21.1 (6.14.17)、14.21.0 (6.14.17)、14.20.1 (6.14.17)、14.20.0 (6.14.17)、14.19.3 (6.14.17)、14.19.2 (6.14.17)、14.19.1 (6.14.16)、14.19.0 (6.14.16)、14.18.3 (6.14.15)、14.18.2 (6.14.15)、14.18.1 (6.14.15)、14.18.0 (6.14.15)、14.17.6 (6.14.15)、14.17.5 (6.14.14)、14.17.4 (6.14.14)、14.17.3 (6.14.13)、14.17.2 (6.14.13)、14.17.1 (6.14.13)、14.17.0 (6.14.13)、14.16.1 (6.14.12)、14.16.0 (6.14.11)、14.15.5 (6.14.11)、14.15.4 (6.14.10)、14.15.3 (6.14.9)、14.15.2 (6.14.9)、14.15.1 (6.14.8)、14.15.0 (6.14.8)、14.14.0 (6.14.8)、14.13.1 (6.14.8)、14.13.0 (6.14.8)、14.12.0 (6.14.8)、14.11.0 (6.14.8)、14.10.1 (6.14.8)、14.10.0 (6.14.8)、14.9.0 (6.14.8)、14.8.0 (6.14.7)、14.7.0 (6.14.7)、14.6.0 (6.14.6)、14.5.0 (6.14.5)、14.4.0 (6.14.5)、14.3.0 (6.14.5)、14.2.0 (6.14.4)、14.1.0 (6.14.4)、14.0.0 (6.14.4) 默认版本:14.21.2 |
nginx 1.22.1(默认)、Apache 2.4.54 |
2.38.1 |
3.2.0 |
有关早期平台版本的信息,请参阅 Node.js 平台历史记录。
注意
如果平台版本已不再支持您正在使用的 Node.js 版本,则您必须先更改或删除相应的版本设置再进行平台更新。当在 Node.js 版本中识别到安全漏洞,或者该版本已停用时,可能会发生这种情况。
发生此情况时,尝试更新到不支持所配置的 Node.js 版本的新平台版本会失败。要消除创建新环境的需求,请执行以下操作:
-
Amazon Linux 2 - 将
package.json
中的 Node.js 版本设置更改为旧平台版本和新平台版本都支持的 Node.js 版本,或删除设置,然后部署新的源代码包。然后再执行平台更新。 -
Amazon Linux AMI - 将
NodeVersion
配置选项更改为旧平台版本和新平台版本都支持的版本,或删除选项设置,然后执行平台更新。
PHP
注意
Amazon Linux 1 存储库中不提供 PHP 7.3 的一些 PECL 程序包,而 Amazon Linux 2 存储库中不提供 PHP 7.4 的一些 PECL 程序包。因此,我们的平台中不包含这些程序包。如果您的应用程序依赖于它们,则需要添加安装它们的命令。
Elastic Beanstalk 支持以下 PHP 平台版本。
平台版本和解决方案堆栈名称 |
AMI |
语言 |
Composer |
代理服务器 |
---|---|---|---|---|
PHP 8.1 AL2 版本 3.5.4 64bit Amazon Linux 2 v3.5.4 running PHP 8.1 |
2.0.20230119 |
PHP 8.1.14 |
2.3.5 |
nginx 1.22.1(默认)、Apache 2.4.54 |
PHP 8.0 AL2 版本 3.5.4 64bit Amazon Linux 2 v3.5.4 running PHP 8.0 |
2.0.20230119 |
PHP 8.0.25 |
2.0.13 |
nginx 1.22.1(默认)、Apache 2.4.54 |
有关计划停用的平台版本(如平台支持政策中所发布的)的信息,请参阅即将停用平台版本页面上的PHP。有关早期平台版本的信息,请参阅 PHP 平台历史记录。
Python
注意
基于 Amazon Linux 2 的 Python 平台版本上的 pip 版本未锁定 - 平台始终使用最新版本。我们只列出这些平台版本的 pipenv 版本。
Elastic Beanstalk 支持以下 Python 平台版本。
平台版本和解决方案堆栈名称 |
AMI |
语言 |
包管理器 |
包装程序 |
meld3 |
Amazon X-Ray |
代理服务器 |
---|---|---|---|---|---|---|---|
Python 3.8 AL2 版本 3.4.4 64bit Amazon Linux 2 v3.4.4 running Python 3.8 |
2.0.20230119 |
Python 3.8.16 |
pipenv 2021.11.9 |
3.2.0 |
nginx 1.22.1(默认)、Apache 2.4.54 |
||
Python 3.7 AL2 版本 3.4.4 64bit Amazon Linux 2 v3.4.4 running Python 3.7 |
2.0.20230119 |
Python 3.7.16 |
pipenv 2021.11.9 |
3.2.0 |
nginx 1.22.1(默认)、Apache 2.4.54 |
有关早期平台版本的信息,请参阅 Python 平台历史记录。
Ruby
Elastic Beanstalk 支持以下 Ruby 平台版本。
平台版本和解决方案堆栈名称 |
AMI |
语言 |
包管理器 |
应用程序服务器 |
Amazon X-Ray |
代理服务器 |
---|---|---|---|---|---|---|
Ruby 3.0 AL2 版本 3.6.3 64bit Amazon Linux 2 v3.6.3 running Ruby 3.0 |
2.0.20230119 |
Ruby 3.0.5-p211 |
RubyGems 3.4.3 |
Puma 6.0.2 |
3.2.0 |
nginx 1.22.1 |
Ruby 2.7 AL2 版本 3.6.3 64bit Amazon Linux 2 v3.6.3 running Ruby 2.7 |
2.0.20230119 |
Ruby 2.7.7-p221 |
RubyGems 3.4.3 |
Puma 6.0.2 |
3.2.0 |
nginx 1.22.1 |
有关早期平台版本的信息,请参阅 Ruby 平台历史记录。