Elastic Beanstalk 网络服务器环境 - AWS Elastic Beanstalk

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

Elastic Beanstalk 网络服务器环境

下图显示了一个 Web 服务器环境层的示例 Elastic Beanstalk 架构,并显示了这种环境层中各个组件协同工作的方式。

AWS Elastic Beanstalk Web 服务器层架构图。

环境是应用程序的核心。在图中,环境显示在顶层实线内。创建环境时,Elastic Beanstalk 会预配置运行应用程序所需的资源。 AWS 为环境创建的资源包括一个弹性负载均衡器(ELB如图所示)、一个 Auto Scaling 组和一个或多个亚马逊弹性计算云 (AmazonEC2) 实例。

每个环境都有指向负载均衡器的 CNAME (URL)。环境有一个URL,比如myapp.us-west-2.elasticbeanstalk.com。在 Amazon Rou URL te 53 中,使用记录将其别名为 Elastic Load Balancin abcdef-123456.us-west-2.elb.amazonaws.com gURL(类似于)。CNAMEAmazon Route 53 是一项高度可用且可扩展的域名系统 (DNS) 网络服务。它可以向您的基础设施提供安全可靠的路由。您在DNS提供商处注册的域名会将请求转发给CNAME。

负载均衡器位于 Amazon EC2 实例的前面,这些实例是 Auto Scaling 组的一部分。Amazon A EC2 uto Scaling 会自动启动额外的亚马逊EC2实例,以适应应用程序不断增加的负载。如果您的应用程序负载减少,Amazon A EC2 uto Scaling 会停止实例,但始终让至少一个实例保持运行。

在 Amazon EC2 实例上运行的软件堆栈取决于容器类型。容器类型定义的是将在该环境中使用的基础设施拓扑和软件栈。例如,包含 Apache Tomcat 容器的 Elastic Beanstalk 环境使用 Amazon Linux 操作系统、Apache Web 服务器和 Apache Tomcat 软件。有关所支持的容器类型的列表,请参阅 Elastic Beanstalk 支持的平台。运行您的应用程序的每个 Amazon EC2 实例都使用其中一种容器类型。此外,每个 Amazon EC2 实例上都运行一个名为主机管理器 (HM) 的软件组件。主机管理器负责以下内容:

  • 部署应用程序

  • 聚合事件和指标,以便通过控制台API、或命令行进行检索

  • 生成实例级事件

  • 监控应用程序日志文件中是否有关键错误

  • 监控应用程序服务器

  • 修补实例组件

  • 交替您的应用程序日志文件,并将它们发布到 Amazon S3

主机管理器报告指标、错误和事件以及服务器实例状态,这些指标可通过 Elastic Beanstal APIs k 控制台获得,以及。CLIs

图中显示的 Amazon EC2 实例属于一个安全组。安全组定义实例的防火墙规则。默认情况下,Elastic Beanstalk 会定义一个安全组,该组允许所有人使用端口 80 () 进行连接。HTTP您可以定义一个以上的安全组。例如,您可以为您的数据库服务器定义一个安全组。有关亚马逊EC2安全组以及如何为您的 Elastic Beanstalk 应用程序配置安全组的更多信息,请参阅。安全组