

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

# Elastic Beanstalk Web 服务器环境
<a name="concepts-webserver"></a>

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

![\[AWS Elastic Beanstalk Web 服务器层架构图。\]](http://docs.aws.amazon.com/zh_cn/elasticbeanstalk/latest/dg/images/aeb-architecture2.png)


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

每个环境有一个指向负载均衡器的别名记录(URL)。该环境有一个 URL，例如 `myapp.us-west-2.elasticbeanstalk.com`。通过使用别名记录，此 URL 在 [Amazon Route 53](https://aws.amazon.com/route53/) 中的别名为 Elastic Load Balancing URL（例如 `abcdef-123456.us-west-2.elb.amazonaws.com`）。[Amazon Route 53](https://aws.amazon.com/route53/) 是一种可用性高、可扩展性强的域名系统（DNS）Web 服务。它可以向您的基础设施提供安全可靠的路由。您通过 DNS 提供商注册的域名会将请求转发到别名记录。

负载均衡器位于 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 支持的平台](concepts.platforms.md)。运行您的应用程序的每个 Amazon EC2 实例都使用其中一种容器类型。此外，名为*主机管理器 (HM)* 的软件组件在每个 Amazon EC2 实例上运行。主机管理器负责以下内容：
+ 部署应用程序
+ 汇总事件和指标，以通过控制台、API 或命令行进行检索
+ 生成实例级事件
+ 监控应用程序日志文件中是否有关键错误
+ 监控应用程序服务器
+ 修补实例组件
+ 交替您的应用程序日志文件，并将它们发布到 Amazon S3

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

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