在 AWS 上托管 WordPress 时,最常见的问题是,费用是多少? AWS 以其复杂的定价结构而臭名昭著。简单地阅读他们的定价页面并没有多大帮助,当你看到的是: 这就是 AWS 定价计算器派上用场的地方。它会询问您希望使用的组件并向您显示大概的成本 使用此计算器的挑战在于了解您需要使用 131 种 AWS 服务中的哪一种才能正确运行 WordPress。在本文中,我们将探讨您可以和应该与 WordPress 一起使用的 AWS 组件并计算每月成本 **假设** 托管是一个广泛的话题,根据您的工作量,有多种潜在的解决方案。出于本文的目的,我们将对您计划在 AWS 上托管的 WordPress 网站做出一些假设。在 Nestify,我们经常看到以下用例: - 在同一台服务器上托管 25-30 个小型 WordPress 站点 - 托管 1 个大型 WooCommerce 网站,每小时处理 10-15 笔交易 幸运的是,这两个用例都需要类似的基础架构来提供最佳性能和正常运行时间 大多数 AWS 组件按小时计费。我们假设您计划长期托管这些网站,并将每小时成本乘以 744(大约一个月的小时数)以获得每月成本 AWS 有一个免费套餐,如果您将使用量控制在一定限度内,您可以在 12 个月内免费使用不同的服务。由于我们计划托管比免费层使用更多资源的生产网站,因此我们不会在估算中考虑它。这也将确保对您最终托管的任何其他网站的可重复估计 由于 AWS 提供的产品范围广泛,您可以组合许多服务并将它们与 WordPress 集成。为了准确计算托管成本,让我们将估算分为强制性 AWS 组件和可选服务(必要时可以跳过) ## WordPress 的强制性 AWS 服务 这些是在 AWS 上正确托管 WordPress 绝对需要的服务 **1。服务器** 无论您使用什么名称,服务器都是设置中最重要的组件。在 AWS 上,虚拟服务器称为实例,由 EC2 服务提供。您也可以使用 AWS Lightsail 实例,但如本文所述,它们不是 WordPress 的理想选择 如果您熟悉 VPS 和专用服务器,则可以使用类似的标准来选择 EC2 实例。 AWS 提供了数百种不同类型的实例,它们的 CPU 容量和内存各不相同。您可以为这些实例单独分配存储 对于 WordPress,以下实例类型运行良好: - 通用实例 这些实例提供了 CPU 和内存的健康平衡。对于生产站点,M5 实例是理想的。您可以通过使用 T3 实例稍微降低成本,但它们具有 CPU 限制,这在您运行重要网站时是不受欢迎的。要托管 25-30 个小型 WordPress 网站或 1 个大型 WooCommerce 网站,我们建议使用 M5.Xlarge 实例。它带有 4 个 CPU 内核和 16 GB 内存 - CPU 优化实例 这些实例非常适合 CPU 密集型工作负载,例如拥有大量商品的 WooCommerce 商店。如果您的站点数据库繁重,那么这些实例将提供更快的响应时间和更少的超时。如果您托管多个小型 WordPress 站点,则在使用这些实例时您可能不会注意到太多差异。对于大型 WooCommerce 站点,我们建议使用 c5.Xlarge 实例类型。它带有 4 个 CPU 内核,但只有 8 GB 内存,而不是您从通用实例获得的 16 GB。如果您需要更多内存,您可以选择 c5.2Xlarge 实例,但需要支付一些额外费用 AWS 还提供内存优化和存储优化实例,但这些在托管 WordPress 网站时没有多大意义 **服务器成本** **m5.xlarge 0.192 美元 * 744 = 142.64 美元** 如果您使用计算优化实例,则需要为 c5.2xlarge 实例类型支付 252.96 美元 2. 储存 AWS 使您可以灵活地为实例分配所需的存储空间。虽然这让您可以根据需要自由使用尽可能多的磁盘空间,但它也会在 AWS 成本中增加另一个项目 在 AWS 上,存储是使用 EBS 服务提供的。对于 WordPress,以下类型的 EBS 卷运行良好: - 通用 SSD (gp2) 卷 这些卷或磁盘由 SSD 支持,并提供容量和速度的良好组合。读写速度 (iops) 取决于您创建的磁盘的大小。与较小的磁盘相比,较大的磁盘获得更多的 iops。在本文中,我们将使用 200 GB 的容量,这对于 25 个小型 WordPress 网站或大型 WooCommerce 网站来说应该足够了 - 通用 SSD (gp3) 卷 这些卷类似于 gp2 卷,但您可以灵活地自定义 iops 限制,只需支付少量费用。除非您有特定的用例,否则将 iops 保持在默认限制将为您的站点提供最佳性能。当使用默认的 iops 限制时,这些卷的成本比 gp2 略低,并且为较小的卷提供更快的速度 还有其他可用的卷类型,例如 io1、io2、st1 等。但是这些对 WordPress 意义不大,主要用于 io-heavy 应用程序,例如视频编辑或大数据 **存储成本** **200 GB gp3 容量:0.8 美元 * 200 = 16 美元** **3。 IP地址** AWS 为 EC2 实例分配随机 IP 地址。这些 IP 不是固定的,当服务器重新启动时,您将面临获得随机 IP 地址的风险。显然,这在托管 DNS 需要固定 IP 地址的 WordPress 站点时并不理想。要解决此问题,您需要弹性 IP 地址。对于每个 EC2 实例,您可以免费获得 1 个弹性 IP。如果您需要 1 个以上的 IP 地址,AWS 对每个 IP 每小时收费 0.005 美元 幸运的是,借助现代服务器堆栈,您可以在同一个 IP 地址上托管多个网站。出于此估计的目的,我们将坚持使用免费 IP 地址 **IP 地址费用:0 美元** **4。备份** 在运行生产网站时,备份是绝对必要的。在 AWS 上启用备份的最快方法是自动 EBS 快照。通过这些,AWS 实质上是对整个服务器进行时间点快照。此快照可用于数据丢失、磁盘故障甚至意外删除整个服务器的情况 EBS 快照的费用为每月每 GB 0.05 美元,但仅存储后续快照的增量更改。因此,如果您的数据没有太大变化,您可以期望为每日快照支付的费用比零售价低很多 根据我们的经验,200 GB 卷的每日快照(每天变化不超过 5%)的费用在 25-35 美元之间 **备份成本 EBS 快照)35 美元** **5。数据传输** AWS 上最大的可变成本之一是数据传输。任何时候有人访问您在 AWS 上托管的网站时,您都会产生数据传输费用。一些服务器提供商称之为带宽成本。每个月您最多可免费传输 9 GB 的数据。之后,您需要为从服务器到互联网的每 GB 传出数据传输付费 根据访客所在地区的不同,您将支付不同的接送费用。出于此估算的目的,我们假设大多数网站访问者来自北美,并且您每月使用 200 GB 的数据传输 **数据传输成本为每 GB 0.09 * 200 = 18 美元** **适用于 WordPress 的可选 AWS 服务** 现在让我们看看可以与 WordPress 一起使用以提高性能、安全性或可用性的可选 AWS 服务**托管数据库**AWS 提供托管的 MySQL 数据库,为您处理更新、性能优化和备份。这个叫RDS服务。RDS为您提供1台或多台运行在不同可用区的MySQL数据库服务器,以保证更高的可用性。您可以在 1 个 RDS 实例上创建多个数据库并在不同的 WordPress 站点上使用它们根据您的正常运行时间要求,您可以坚持使用 1 个 MySQL 实例或创建 2 个集群或在同一区域的不同区域中运行的 3 个实例与 EC2 类似,RDS 实例具有不同的 cpu 和内存限制。选择数据库实例类型时,您需要确保它的内存大于数据库的大小。如果你选择一个小于数据库的实例,那么你会遇到性能低下的情况,这违背了专用数据库的目的另一件要记住的事情是,如果你将数据库托管在与 EC2 实例不同的可用区中,您将需要为服务器和数据库之间的数据传输付费。虽然它可能看起来不多,但它可以在繁忙的 WooCommerce 网站上快速加起来对于本文的目的,我们我们假设 WooCommerce 站点有一个 4 GB 的数据库,并使用 db.t4g.large 实例类型**数据库成本**单个数据库实例 (db. t4g.large):0.258 美元 * 744 = 191.95 美元具有 2 个实例的高可用性数据库集群 (db.t4g.large):191.95 美元 * 2 = 383.90 美元**S3 对象存储**虽然 EBS 卷非常适合服务器端存储,但有时您需要将大量文件存储在云端。例如,WordPress 媒体、图像、PDF 和站点备份。这就是亚马逊 S3 服务派上用场的地方。S3 为单个文件提供近乎无限的存储空间。您可以使用 WordPress 上的各种备份插件在 S3 上存储站点数据要在 S3 上存储 WordPress 媒体文件,您需要一个插件,如 WP Offload Media。使用 S3 而不是本地存储媒体文件的优势之一是您永远不会用完磁盘空间。S3 只是按每月使用的存储向您收费S3 存储有不同的层级,例如不频繁访问和智能分层,但它们不这对媒体存储没有多大意义。尽管S3 还对文件操作(例如放置、复制、发布、列出和删除)收费,但您可以考虑将它们用于长期备份存储。虽然这些操作的成本非常低(每 1000 次操作 0.005 美元),但如果您拥有大型媒体库,这些成本可能会加起来出于此估算的目的,我们②将采用 S3 标准并假设每月使用 500 GB 的存储空间。由于文件操作的成本不到 1 美分,我们不会将它们包括在估算中S3 成本:每次 0.023 美元GB * 500 = $11.5**Cloudfront CDN**即使 AWS 在全球拥有数据中心,您的服务器仍将仅限于这些位置之一。如果您的客户位于多个国家或同一国家的不同地区,使用 CDN 可以为您的 WordPress 网站提供更好的性能。在 AWS 上,CDN 服务称为 Cloudfront。它类似于其他 CDN 提供商,例如 Cloudflare 和 Stackpath。Cloudfront 可以在全球 310 个位置缓存您的网站。当有人访问您的启用 CDN 的站点时,他们会从附近的 CDN 位置收到响应,而不是一路前往您的服务器即使您不这样做由于客户分布在全球,使用 Cloudfront CDN 可以提高站点性能并同时最大限度地降低数据传输成本在本文开头,我们决定不将 AWS 免费套餐节省的费用计入我们的估算中,但 Cloudfront 是一个例外。Cloudfront 每月提供 1 TB 的免费数据传输。如果您的站点使用少于 1 TB 的数据传输,那么使用 Cloudfront 是明智的选择对于超过 1 TB 的数据传输,您将根据地区按 GB 收费。这类似于 EC2 数据传输成本,但稍微便宜一些Cloudfront 成本:1 TB 数据传输 0 美元**WAF**WAF 代表 Web 应用程序防火墙。如今,在 WordPress 前面增加一层安全保护是绝对必要的。作为一项实验,我们查看了多个低流量 WordPress 网站的访问者日志。在启动后的几分钟内,这些站点显示出大量的暴力尝试和垃圾邮件注册因为这是我们生活的新现实,使用 WAF您的网站可以帮助确保它们的安全。亚马逊的 Web 应用程序防火墙 (WAF) 使您能够阻止恶意请求,防止机器人攻击您的网站并抵御一般威胁WAF 根据您添加到防火墙的规则数量计费。如果您启用机器人保护,它会每月增加固定费用。鉴于这是 AWS,还会根据您网站的访问次数收取可变费用。综上所述,WAF 是生产网站的一项重要投资 WAF成本: 每个防火墙 5 美元 + 10 条规则 10 美元 + 机器人保护 10 美元 + 100 万次访问 1 美元 = 每月 26 美元 **负载均衡** AWS 最大的吸引力之一是服务器的高可用性。认为在 AWS 上托管网站会自动使其高度可用是一种常见的误解。但事实是,虽然 AWS 为您提供了高可用性设置所需的所有组件,但您仍然需要自己构建它。此设置中的关键组件之一是负载均衡器。负载均衡器基本上将网站流量分配到两台或多台服务器上。这使您能够随着网站的增长而扩展和添加更多服务器。虽然这对于我们托管的 25 个 WordPress 站点来说可能没有多大意义,但负载均衡器对于跨多个服务器扩展 WooCommerce 站点很有用 AWS 提供不同类型的负载均衡器,包括应用程序和网络负载均衡器 对于 WooCommerce,建议使用应用程序负载均衡器 (ALB)。请记住,当您使用负载均衡器时,您基本上需要 2 个或更多 EC2 实例、一个专用数据库,以及一个使您的文件在这些实例之间保持同步的策略 Application Load Balancer 对平衡器本身收费,再加上它处理的流量的可变费用 负载均衡器成本: 负载均衡器每小时 0.0225 USD * 744 = 16.74 USD 每小时 0.008 USD(最多 25 个新连接)* 744 = 5.95 USD 总成本:22.69 美元 在负载均衡器后面运行 WordPress 所需的其他组件: 2 个 EC2 实例、1 个 RDS 实例、1 个用于媒体存储的 S3 存储桶 **Route53 DNS** 最重要且经常被忽视的服务之一是 DNS(域名系统)。此服务负责将您网站的域名翻译成服务器的 IP 地址。通常,此任务留给域注册商的 DNS 服务,该服务随域注册免费提供。虽然继续使用免费服务就足够了,但有时您需要更强大、更快速的解决方案。这就是 AWS Route53 的用武之地。Route53 使您能够注册域、控制 DNS 记录以及在 DNS 级别执行高级路由和故障转移 Route53 还提供 100% 的正常运行时间保证,这是重要网站梦寐以求的。当您将域名添加到 Route53 时,它会为您提供来自 4 个不同根域的 4 个不同名称服务器。这意味着即使所有 .com 域都离线,您的 DNS 服务器仍然可以从 .net、.co.uk 域访问 Route53 每个域每月收取少量费用,您猜对了,这是另一种基于 DNS 请求数量的可变费用 Route53 费用: 每个域 0.50 美元 + 每百万次查询 0.40 美元 = 每个域每月 0.90 美元或更少。如果您托管 25 个 WordPress 网站,您需要支付以下金额: 0.50 美元 * 25 + 0.40 美元(这 25 个域共享一百万个查询)= 6.65 美元 **其他间接费用** 在本文中,我们研究了正确运行 WordPress 网站所需的所有 AWS 组件。除了 AWS 成本外,还有其他费用需要牢记。一些不可避免的成本包括: - AWS 服务器维护: 尽管名字很花哨,但 EC2 服务器仍然是需要维护和保养的 Linux 服务器。每周预算 1/2 小时用于服务器维护可以为您提供更准确的估算 - 安全扫描和恶意软件清理: 各种与安全相关的任务,包括日志审查和 SSL 更新,对于生产网站来说是必不可少的。让我们为此每周再增加一个 ½ 小时 - 暂存和开发站点: 由于 AWS 不提供 GUI 来管理您的站点,因此设置暂存和开发站点是一个手动过程,可能会在这里或那里轻松地花费一个小时。让我们将此时间保持在每月 2 小时以供我们估算 - 学习曲线: 尽管大多数 AWS 服务都有详细的文档记录,但您在入门时可能会经历一段学习曲线。虽然这因人而异,但让我们以 5 小时的学习时间作为我们的估计 总花费时间:2 小时的服务器维护 + 2 小时的安全审查 + 2 小时的登台站点设置每月 = 6 小时每月 一次学习:5小时 考虑到所有因素,最初,您需要分配 10-12 个小时来开始使用 AWS,然后让站点顺利运行。将此乘以您的小时费率,您就会了解与该项目相关的间接费用 **总消耗** 在 AWS 上托管 25 个 WordPress 站点或 1 个 WooCommerce 并提供强制服务:211 美元/月 高可用性、CDN、安全性的可选服务:每月 191 至 450 美元 **自托管的经济高效替代方案** 如果所有这些移动部件让您望而生畏,或者成本有点高,那么还有更好的方法。在 Nestify,我们在 AWS 上大规模完善了 WordPress 托管,并构建了一个直观的站点管理仪表板。由于规模经济,我们以极低的成本为您提供完全托管的 WordPress 托管服务,并且没有学习曲线。使用 Nestify,您在 AWS 上托管 25 个 WordPress 网站或一个大型 WooCommerce 网站的总成本为每月 99 美元,没有可变成本或隐藏费用。如果您需要更个性化的解决方案或有复杂的托管需求,请与我们联系,我们将为您打造完美的解决方案。