我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。
如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。
关键 Cookie 对我们提供网站和服务来说绝对必要,不可将其禁用。关键 Cookie 通常是根据您在网站上的操作(例如,设置您的隐私首选项,登录或填写表格)来设置的。
性能 Cookie 可为我们提供有关客户使用网站情况的匿名统计信息,以便我们改善用户的网站体验及网站性能。经批准的第三方可为我们执行分析,但不可将数据用于其自身目的。
功能 Cookie 有助于我们提供有用的网站功能,记住您的首选项及显示有针对性的内容。经批准的第三方可对功能 Cookie 进行设置以提供某些网站功能。如果您不允许功能 Cookie,则某些或所有这些服务可能无法正常提供。
广告 Cookie 可由我们或我们的广告合作伙伴通过我们的网站进行设置,有助于我们推送有针对性的营销内容。如果您不允许广告 Cookie,则您所接收到的广告的针对性将会有所降低。
阻止某些类型的 Cookie 的话,可能会影响到您的网站体验。您可以随时单击此网站页脚中的 Cookie 首选项来对您的 Cookie 首选项进行更改。要了解有关我们及经批准的第三方如何在网站上使用 Cookie 的更多信息,请阅读 AWS Cookie 声明。
我们会在 AWS 网站和其他资产上展示与您的兴趣相关的广告,包括跨情境行为广告。跨情境行为广告使用来自一个网站或应用程序的数据,在另一个公司的网站或应用程序上向您投放广告。
若要不允许基于 Cookie 或类似技术的 AWS 跨情境行为广告,请选择下面的“不允许”和“保存隐私选择”,或访问启用了法律认可的拒绝信号的 AWS 网站(如全球隐私控制)。如果您删除 Cookie 或使用其他浏览器或设备访问此网站,则需要再次做出选择。有关 Cookie 以及我们如何使用的更多信息,请阅读我们的 AWS Cookie 通知。
若要不允许所有其他 AWS 跨情境行为广告,请通过电子邮件填写此表单。
如需进一步了解 AWS 如何处理您的信息,请阅读 AWS 隐私声明。
我们目前只会存储基本 Cookie,因为我们无法保存您的 Cookie 首选项。
如果您想要更改 Cookie 首选项,请稍后使用 AWS 控制台页脚中的链接重试,如果问题仍然存在,请联系技术支持。
问:什么是 Amazon Elastic Beanstalk?
Amazon Elastic Beanstalk 助力开发人员更轻松地在 Amazon Web Services 云中快速部署和管理应用程序。开发人员只需上载应用程序,Elastic Beanstalk 将自动处理有关容量预置、负载均衡、自动扩展和应用程序运行状况监控的部署详细信息。
问:Amazon Elastic Beanstalk 支持哪些语言和开发堆栈?
Amazon Elastic Beanstalk 支持以下语言和开发堆栈:
适用于 Java 应用程序的 Apache Tomcat
适用于 PHP 应用程序的 Apache HTTP 服务器
适用于 Python 应用程序的 Apache HTTP 服务器
适用于 Node.js 应用程序的 Nginx 或 Apache HTTP 服务器
适用于 Ruby 应用程序的 Passenger 或 Puma
适用于 .NET 应用程序的 Microsoft IIS 7.5、8.0 和 8.5
Java SE
Docker
Go
有关受支持的语言和开发堆栈的完整更新列表,请参阅支持的平台。
问:Amazon Elastic Beanstalk 是否将支持其他语言?
可以。Amazon Elastic Beanstalk 经过设计,将来可以扩展以支持多种开发堆栈和编程语言。Amazon 正在与解决方案提供商合作开发必要 API 和功能,以打造更多 Elastic Beanstalk 产品。
问:开发人员现在可以使用 Amazon Elastic Beanstalk 执行哪些以前无法实现的操作?
Amazon Elastic Beanstalk 可自动获取容量预置、负载均衡、Auto Scaling 和应用程序部署的详细信息,从而创建用于运行应用程序版本的环境。您只需上载部署代码(例如,WAR 文件),剩下的工作由 Amazon Elastic Beanstalk 完成。Amazon Toolkit for Visual Studio 和 Amazon Web Services Toolkit for Eclipse 允许您将应用程序部署到 Amazon Elastic Beanstalk 并进行管理,而无需退出您的 IDE。应用程序运行后,Elastic Beanstalk 会自动执行管理任务(例如监控、应用程序版本部署、基本运行状况检查),并促进日志文件访问。借助 Elastic Beanstalk,开发人员可以集中精力开发他们的应用程序,摆脱面向部署的任务,例如预置服务器、设置负载均衡或管理扩缩。
问:Amazon Elastic Beanstalk 与现有应用程序容器或平台即服务解决方案有何不同?
大多数现有应用程序容器或平台即服务解决方案在减少所需的编程量时,也会大大降低开发人员的灵活度和控制力。开发人员被迫接受供应商预定的所有决策,几乎没有机会再控制其应用程序基础设施的各个部分。但是,借助 Amazon Elastic Beanstalk,开发人员可以保持对应用程序所需 Amazon Web Services 资源的完全控制。如果开发人员决定管理基础设施的一些(或所有)元素,他们可以使用 Elastic Beanstalk 的管理功能无缝实现。
问:借助 Amazon Elastic Beanstalk,我可以控制应用程序的哪些元素?
借助 Amazon Elastic Beanstalk,您可以:
选择符合您的应用程序要求的操作系统(例如,Amazon Linux 或 Windows Server 2016)
从多种 Amazon EC2 实例中进行选择,包括按需型实例、预留实例和竞价型实例
从多个可用数据库和存储选项中进行选择
启用 Amazon EC2 实例的登录访问权限,以便立即直接进行问题排查
在多个可用区中运行应用程序,从而快速提高应用程序可靠性
在负载均衡器上启用 HTTPS 协议,从而提高应用程序安全性
访问内置 Amazon CloudWatch 监控,并获取有关应用程序运行状况和其他重要事件的通知
调整应用程序服务器设置(例如,JVM 设置)并传递环境变量
在 Amazon EC2 中并排运行其他应用程序组件,例如内存缓存服务
访问日志文件,无需登录应用程序服务器
问:哪些云资源为我的 Amazon Elastic Beanstalk 应用程序提供支持?
Amazon Elastic Beanstalk 使用经过验证的 Amazon Web Services 功能和服务(例如 Amazon EC2、Amazon RDS、Elastic Load Balancing、Auto Scaling、Amazon S3 和 Amazon SNS),创建用于运行应用程序的环境。当前版本的 Amazon Elastic Beanstalk 使用 Amazon Linux AMI 或 Windows Server 2019。
问:Amazon Elastic Beanstalk 使用哪些操作系统?
Amazon Elastic Beanstalk 基于 Amazon Linux AMI 和 Windows Server AMI 运行。这两种 AMI 均由 Amazon Web Services 支持和维护,旨在为 Amazon EC2 云计算提供稳定、安全和高性能的执行环境。
问:如何注册 Amazon Elastic Beanstalk?
要注册 Amazon Elastic Beanstalk,请在 Elastic Beanstalk 详细信息页面上选择 Sign Up Now(立即注册)按钮。您必须拥有 Amazon Web Services 账户才能访问此服务;如果您还没有账户,系统将在您开始 Elastic Beanstalk 过程时提示您创建账户。注册后,请参阅 Amazon Elastic Beanstalk 入门指南。
问:注册 Amazon Elastic Beanstalk 时为什么需要验证我的电话号码?
注册 Amazon Elastic Beanstalk 要求您在 Amazon Web Services 上登记您的有效电话号码和电子邮件地址,以便我们需要联系您时使用。验证您的电话号码只需要几分钟时间。注册过程中您会接到一个自动呼叫电话,然后需要您使用电话键盘输入个人识别码。
问:注册后如何开始使用?
要了解如何开始使用 Amazon Elastic Beanstalk,最好的方法是仔细阅读我们技术文档中的 Amazon Elastic Beanstalk 入门指南部分。几分钟之内,您将能够部署和使用示例应用程序或上载您自己的应用程序。
问:是否有示例应用程序可供我查看 Amazon Elastic Beanstalk?
可以。Amazon Elastic Beanstalk 包含一个示例应用程序,供您试用该产品和探索其功能。
问:Amazon Elastic Beanstalk 是否会在 Amazon S3 中存储内容?
可以。Amazon Elastic Beanstalk 会在 Amazon S3 中存储您的应用程序文件和服务器日志文件(可选)。如果您使用的是 Amazon Web Services 管理控制台、Amazon Web Services Toolkit for Visual Studio 或 Amazon Web Services Toolkit for Eclipse,系统将在您的账户中为您创建 Amazon S3 存储桶,您上载的文件将自动从您的本地客户端复制到 Amazon S3。或者,您可以将 Elastic Beanstalk 配置为每小时将服务器日志文件复制到 Amazon S3。您可以通过编辑环境配置设置来完成此操作。
问:我是否可以使用 Amazon S3 存储图像之类的应用程序数据?
可以。您可以将 Amazon S3 用于应用程序存储。最简单的实现方式是将 Amazon Web Services SDK 纳入应用程序的可部署文件。例如,您可以将适用于 Java 的 Amazon Web Services SDK 纳入应用程序的 WAR 文件。
问:Amazon Elastic Beanstalk 可以与哪些数据库解决方案结合使用?
Amazon Elastic Beanstalk 不会限制您使用任何特定的数据持久性技术。您可以选择使用 Amazon Relational Database Service(Amazon RDS)或 Amazon DynamoDB,或者使用在 Amazon EC2 上运行的 Microsoft SQL Server、Oracle 或其他关系数据库。
问:如何设置用于 Amazon Elastic Beanstalk 的数据库?
Elastic Beanstalk 可以自动预置 Amazon RDS 数据库实例。有关数据库实例连接的信息通过环境变量向您的应用程序公开。要了解有关如何为您的环境配置 RDS 数据库实例的更多信息,请参阅《Elastic Beanstalk 开发人员指南》。
问:这是否意味着从测试转移到生产环境时,我需要修改应用程序代码?
使用 Amazon Elastic Beanstalk 时不需要。借助 Elastic Beanstalk,您可以在环境配置中指定连接信息。通过从应用程序代码中提取连接字符串,您可以轻松地将不同的 Elastic Beanstalk 环境配置为使用不同的数据库。
问:如何将我的应用程序设为私有?
默认情况下,您的应用程序在 myapp.elasticbeanstalk.com 上公开可用,任何人都可以访问。您可以使用 Amazon VPC 在您定义的虚拟网络中预置应用程序的私有隔离部分。可以通过特定的安全组规则、网络 ACL 和自定义路由表将此虚拟网络设为私有网络。通过更改 EC2 安全组设置,您还可以轻松控制向应用程序服务器传送或不传送哪些其他传入流量(例如 SSH)。
问:我可以在 Virtual Private Cloud(VPC)中运行我的应用程序吗?
可以,您可以在 VPC 中运行应用程序。有关更多信息,请参阅《Amazon Elastic Beanstalk 开发人员指南》。
问:在哪里可以找到有关 Amazon Web Services 的安全性和在其上运行应用程序的更多信息?
有关 Amazon Web Services 的安全性的更多信息,请参阅我们的《Amazon Web Services:安全流程概述》文档并访问我们的安全中心。
问:是否可以将 Identity and Access Management(IAM)与 Amazon Elastic Beanstalk 结合使用?
可以。具有适当权限的 IAM 用户现在可以与 Amazon Elastic Beanstalk 进行交互。
问:为什么我应该将 IAM 与 Amazon Elastic Beanstalk 结合使用?
IAM 允许您以集中方式管理用户和组。您可以控制哪些 IAM 用户有权访问 Amazon Elastic Beanstalk,对于不应能够对 Elastic Beanstalk 资源执行操作的操作员,可以限制操作员只具有对 Elastic Beanstalk 的只读访问权限。您账户中的所有用户活动都将汇总到一份 Amazon Web Services 账单中。
问:如何创建 IAM 用户?
您可以使用 IAM 控制台、IAM Command Line Interface(CLI)或 IAM API 来预置 IAM 用户。默认情况下,在授予权限之前,IAM 用户无法访问 Amazon Web Services 服务。
问:如何向 IAM 用户授予访问 Amazon Elastic Beanstalk 的权限?
您可以使用策略向 IAM 用户授予对服务的访问权限。为简化授予 Amazon Elastic Beanstalk 访问权限的过程,您可以使用 IAM 控制台中的策略模板之一来帮助您入门。Elastic Beanstalk 提供了两个模板:只读访问模板和完全访问模板。只读模板授予对 Elastic Beanstalk 资源的读取访问权限。完全访问模板授予对所有 Elastic Beanstalk 操作的完全访问权限,以及管理相关资源的权限,例如 Elastic Load Balancing、Auto Scaling 和 Amazon S3。您还可以使用 Amazon Web Services 策略生成器来创建自定义策略。有关更多信息,请参阅《Amazon Elastic Beanstalk 开发人员指南》。
问:我能否限制对特定 Amazon Elastic Beanstalk 资源的访问?
可以。您可以允许或拒绝对特定 Amazon Elastic Beanstalk 资源的访问权限,例如应用程序、应用程序版本和环境。
问:谁需要为 IAM 用户创建的 Amaon Web Services 资源付费?
IAM 用户在账户下创建的所有资源均归账户所有,并且费用计入账户。
问:谁有权访问 IAM 用户启动的 Amazon Elastic Beanstalk 环境?
账户对 IAM 用户在该账户下启动的所有 Amazon Elastic Beanstalk 环境具有完全访问权限。如果您使用 Elastic Beanstalk 模板向 IAM 用户授予只读访问权限,则该用户将能够查看此账户中的所有应用程序、应用程序版本、环境和任何关联资源。如果您使用 Elastic Beanstalk 模板向 IAM 用户授予完全访问权限,则该用户将能够创建、修改和终止此账户下的任何 Elastic Beanstalk 资源。
问:IAM 用户能否访问 Amazon Elastic Beanstalk 控制台?
可以。IAM 用户可以使用其用户名和密码访问 Amazon Elastic Beanstalk 控制台。
问:IAM 用户能否调用 Amazon Elastic Beanstalk API?
可以。IAM 用户可以使用其访问密钥和私有密钥通过 Elastic Beanstalk API 执行操作。
问:IAM 用户能否使用 Amazon Elastic Beanstalk Command Line Interface?
可以。IAM 用户可以使用其访问密钥和私有密钥通过 Amazon Elastic Beanstalk Command Line Interface(CLI)执行操作。
问:如何使运行我的应用程序的环境的底层平台自动保持最新状态?
您可以选择在指定的维护时段内将 Amazon Elastic Beanstalk 环境自动更新为运行应用程序的底层平台的最新版本。Elastic Beanstalk 会定期发布支持的平台(Java、PHP、Ruby、Node.js、Python、.NET、Go 和 Docker)的新版本,包括操作系统、Web 和应用程序服务器,以及语言和框架更新。
问:如何开始使用托管式平台更新?
要让 Elastic Beanstalk 自动管理您的平台更新,必须在 Elastic Beanstalk 控制台的 Configuration(配置)选项卡中启用托管式平台更新,或者使用 EB CLI 或 API 启用托管式平台更新。启用此功能后,您可以配置允许哪些类型的更新以及何时可以进行更新。
问:托管式平台更新将应用哪些类型的平台版本更新?
Amazon Elastic Beanstalk 可以自动为新的补丁和次要平台版本执行平台更新。Elastic Beanstalk 不会自动执行主要平台版本更新(例如,Java 7 Tomcat 7 到 Java 8 Tomcat 8),因为它们包含向后不兼容的更改并且需要进行额外测试。在这些情况下,您必须手动启动更新。
问:Amazon Elastic Beanstalk 如何区分“主要”、“次要”和“补丁”版本?
Amazon Elastic Beanstalk 平台使用以下模式进行版本控制:MAJOR.MINOR.PATCH(例如 2.0.0)。每个部分按如下方式递增:
存在不兼容更改时增加主要版本。
以向后兼容的方式添加其他功能时,增加次要版本。
存在向后兼容的错误修复时,增加补丁版本。
问:何时以及如何执行主要版本更新?
您可以随时使用 Amazon Elastic Beanstalk 管理控制台、API 或 CLI 执行主要版本更新。您可以通过以下方式执行主要版本更新:
对现有环境就地应用更新。请参阅“更新 Elastic Beanstalk 环境的平台版本”。
使用新平台版本创建现有环境的克隆。有关详细信息,请参阅“克隆环境”。
问:Elastic Beanstalk 如何应用托管式平台更新?
在应用此类更新的时使用的是一种不可改变的部署机制,该机制确保在 Amazon EC2 实例与安装的更新的并行队列准备好与现有实例进行交换之前,不会变更现有环境,随后现有实例将被终止。此外,如果 Elastic Beanstalk 运行状况系统在更新过程中检测到任何问题,则流量将被重定向到现有的实例队列,从而确保对应用程序最终用户造成的影响为最小。
问:我的应用程序在维护时段是否可用?
由于使用不可改变的部署机制来执行托管式平台更新,因此您的应用程序在维护时段内可用,并且更新不会对应用程序的使用者造成影响。
问:使用托管式平台更新需要支付哪些费用?
使用托管式平台更新功能无需额外付费。您只需为在更新期间执行更新所需的额外 EC2 实例付费。
问:什么是维护时段?
维护时段是一个每周两小时的时间段,在此期间,如果启用了托管式平台更新且平台的新版本可用,则 Amazon Elastic Beanstalk 将启动平台更新。例如,如果您选择的维护时段的开始时间为每个星期日的凌晨 2 点,则 Amazon Elastic Beanstalk 将在每个星期日凌晨 2 点至 4 点之间的某个时间启动平台更新。需要注意的是,根据您的应用程序的配置,更新的完成时间可能会超出维护时段。
维护时段的设置以各个环境为基础,您可以选择为不同的应用程序组件或应用程序设置不同的维护时段。如果您不希望同时更新应用程序的多个部分,使用该设置即可允许交错进行环境更新。如果您启用了托管式平台更新但没有指定维护时段,则将为您的环境分配默认的每周两小时时段。如果您希望在代您执行维护时进行变更,则您可以在 Amazon Web Services 管理控制台中修改托管式更新的配置或使用 UpdateEnvironment API 来进行更改。
问:我将如何获知有新的平台版本可用?
您将通过 Amazon Web Services 管理控制台、论坛公告和发布说明收到关于有新的平台版本可用的通知。
问:在哪里可以找到有关平台版本变更的详细信息?
有关平台版本变更的详细信息,请参阅 Amazon Elastic Beanstalk 发布说明页面。
问:在托管式更新进行期间,我可以对环境执行哪些操作?
在托管式平台更新期间,您可以执行的唯一操作是“中止”。这将允许您立即停止更新并回滚至以前的版本。
问:如果在两个维护时段之间发布了多个新版本,我的环境将更新为哪个平台版本?
您的环境将始终根据您选择的级别(仅次要升级补丁或补丁)更新为可用的最新版本。
问:在哪里可以找到在我的环境中执行的所有托管式平台更新的详细信息?
在事件页面上可以找到有关每个托管式平台更新的详细信息,且其事件类型标记为 MAINTENANCE(维护)。
问:平台版本更新多久发布一次?
特定年份中发布的版本数量将有所不同,具体取决于语言/框架供应商或核心团队的发布版本和补丁的评率和内容,以及我们的平台工程团队对这些版本和补丁的彻底审查结果。
问:Amazon Elastic Beanstalk 的费用是多少?
Amazon Elastic Beanstalk 不额外收费,您只需为存储和运行应用程序实际所需的 Amazon Web Services 资源支付费用。
问:在 Amazon Web Services Elastic Beanstalk 上为我的应用程序提供支持的 Amazon Web Services 资源的费用是多少?
您仅需按实际用量为 Amazon Web Services 资源付费,而且没有最低费用。有关 Amazon EC2 定价信息,请访问 EC2 详细信息页面上的定价部分。有关 Amazon S3 定价信息,请访问 S3 详细信息页面上的定价部分。您可以使用 Amazon 价格计算器来估算不同应用程序规模的费用。
问:如何查看我的应用程序使用了多少 Amazon Web Services 资源以及如何访问我的账单?
您可以随时在 Amazon Web Services 网站上查看当前账单期的费用,只需登录您的 Amazon Web Services 账户,并选择 Your Web Services Account(您的 Web 服务账户)下的 Account Activity(账户活动)即可。
问:Amazon Web Services 支持是否涵盖 Amazon Elastic Beanstalk?
可以。Amazon Web Services 支持涵盖了与您使用 Amazon Elastic Beanstalk 相关的问题。有关更多详细信息和定价,请参阅 Amazon Web Services Support 页面。
问:还有哪些支持资源可用?
您可以通过 Amazon Elastic Beanstalk 论坛,利用现有的 Amazon Web Services 社群知识的广度来帮助您进行开发。