开始进行本项目

6 个步骤 | 60 分钟

NodeJS_Web_App_HERO-ART_SM

问:在 AWS 和 Elastic Beanstalk 上托管应用程序有什么好处?

Elastic Beanstalk 可以提供监控工具、资源管理和简单的配置选项,让您可以轻松管理各种环境。您只需上传代码,Elastic Beanstalk 即可自动处理从容量预置、负载均衡、自动扩展到应用程序运行状况监控的部署。同时,您能够完全控制为应用程序提供支持的 AWS 资源,并可以随时访问底层资源。

问:堆栈中的资源是否归我所有?

除了指向负载均衡器的 CNAME 记录之外,您的环境中的所有资源均在您的账户下启动。为了避免偏差,您应该仅使用 Elastic Beanstalk 提供的功能来管理这些资源。

问:应用程序托管在 AWS 上后,是否可以对其进行自定义?

Elastic Beanstalk 环境中的大多数设置都可以在启动后更改。但应用程序名称、环境名称、平台和 VPC 分配不能更改。

问:如何在环境创建成功后更改其配置?

您可以使用 Elastic Beanstalk 管理控制台或 EB CLI 更改正在运行的环境的设置,或者保存某个环境的当前配置并将其应用于其他环境。您也可以使用配置文件在应用程序源代码中配置和扩展环境中的资源。

问:如何在流量增加时扩展我的应用程序?

可以在您的环境中配置 Auto Scaling 组,从而在流量达到预定的阈值时启动更多实例。

问:如何更新应用程序?

可以使用 Elastic Beanstalk 管理控制台或 EB CLI 将新版应用程序源代码部署到正在运行的环境中。

问:什么是高可用性?

高可用性 (HA) 是一种环境配置,能够确保您的应用程序始终可为用户的请求提供服务。对于典型的 Web 应用程序,要配置 HA,需要在负载均衡器后运行多个 Web 服务器、配置 Auto Scaling 来替换丢失的实例并启动更多实例来应对骤增的流量,还需要配置一个备用数据库实例,用于实现自动故障转移。这些措施可以确保您的应用程序能够在基础设施故障影响任意单个资源的情况下继续处理流量,并且可以处理增加的流量,而无需始终运行处理最大容量所需的数量充足的服务器。对于 AWS Elastic Beanstalk,生产 HA 配置还包括在 Web 服务器环境外部运行您的数据库实例,让您能够执行蓝色/绿色部署和高级数据库管理操作。

问:能否让应用程序不具有高可用性?

可以。您可以将环境类型改为“单个实例”来移除负载均衡器,并启动单可用区数据库实例来减少运行环境所需的资源数。

问:堆栈需要多长时间才能启动和运行?

启动一个新的 Elastic Beanstalk 环境需要的时间通常低于 5 分钟,但如果您启动的实例数量较多或者包含数据库实例,则可能需要更长时间。数据库实例的启动时间约为 10 分钟。

开始进行本项目