扩展 Web 层 - WordPress 上的最佳实践 AWS

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

扩展 Web 层

要将单服务器架构演变为多服务器、可扩展的架构,必须使用五个关键组件:

  • 亚马逊EC2实例

  • Amazon 系统映像 (AMIs)

  • 负载均衡器

  • 自动扩缩

  • 运行状况检查

AWS提供多种EC2实例类型,让您能够根据性能和成本选择最佳服务器配置。一般而言,计算优化(例如 C4)实例类型可能是 Web 服务器的不错选择。 WordPress 您可以跨AWS区域内的多个可用区部署实例,以提高整体架构的可靠性。

由于您可以完全控制自己的EC2实例,因此您可以使用 root 权限登录,以安装和配置运行 WordPress 网站所需的所有软件组件。完成后,您可以将该配置另存为AMI,用它来启动具有您所做的所有自定义项的新实例。

要将最终用户请求分发到多个 Web 服务器节点,您需要一个负载平衡解决方案。AWS通过 Elastic Load Bal ancing 提供此功能,这是一项高度可用的服务,可将流量分配到多个EC2实例。由于您的网站通过HTTP或向用户提供内容HTTPS,因此我们建议您使用 Application Load Balancer,这是一种具有内容路由功能的应用程序层负载均衡器,并且能够在需要时在不同的域上运行多个 WordPress 网站。

Elastic Load Balancing 支持在一个AWS区域内的多个可用区之间分配请求。您还可以配置运行状况检查,以便 Application Load Balancer 自动停止向出现故障(例如,由于硬件问题或软件崩溃)的单个实例发送流量。AWS建议使用 WordPress 管理员登录页面 (/wp-login.php) 进行运行状况检查,因为该页面既确认 Web 服务器正在运行,也确认 Web 服务器已配置为正确提供PHP文件。

您可以选择构建一个自定义运行状况检查页面,用于检查其他依赖资源,例如数据库和缓存资源。有关更多信息,请参阅《App lication Load Balancer 指南》中的目标群体的健康检查

弹性是AWS云的关键特征。您可以在需要时启动更多的计算容量(例如 Web 服务器),而在不需要时可以减少运行的容量。Amazon A EC2 uto Scaling 是一项 AWS 服务,可帮助您自动进行此配置,从而根据您定义的条件向上或向下扩展您的 Amazon EC2 容量,无需手动干预。您可以配置 Amazon A EC2 uto Scaling,使您使用的EC2实例数量在需求高峰期间无缝增加以保持性能,并在流量减少时自动减少,从而最大限度地降低成本。

Elastic Load Balancing 还支持在负载平衡轮EC2换中动态添加和移除亚马逊主机。Elastic Load Balancing 本身还可以动态增加和减少负载平衡容量,以适应流量需求,无需人工干预。