App Hosting 需要启用 Firebase Blaze 定价方案的项目。 此方案针对由 App Hosting 调用的 Google Cloud 产品具有以下免费使用量限制:
产品 | 功能 | 免费 | 已结算 (超出免费限额的使用量) |
---|---|---|---|
App Hosting | 传出带宽 | 10 GiB / 月 | $0.15 / 缓存 GiB $0.20 / 未缓存的 GiB |
Artifact Registry | 存储 | 0.5 GB / 月 | 每月每 GB $0.10(超出 0.5 GB 的部分) |
出站 | 免费 | 如需查看完整的出站流量价格列表,请参阅 Artifact Registry 价格 | |
Cloud Run | CPU | 18 万 vCPU 秒 | $0.00002400 / vCPU 秒 |
内存 | 36 万 GiB 秒 | $0.00000250 / GiB 秒 | |
请求数 | 200 万次请求 | $0.40 / 100 万个请求 | |
Cloud Build | 构建分钟数 | 2,500 构建分钟数 | $0.006 / 构建分钟 |
Cloud Logging | 日志记录存储 | 每个项目每月 50 GiB | $0.50/GiB |
日志保留 | 30 天免费 | 对于保留超过 30 天的日志,每月每 GiB 为 $0.01 | |
Secret Manager | 有效密文版本 | 每月 6 个版本 | 每个位置每个版本 $0.06 |
访问操作 | 每月 10,000 次操作 | 每 1 万次操作 $0.03 | |
轮替通知 | 每月 3 次轮替 | 每次轮替 $0.05 | |
Cloud Storage1 | Standard Storage2 | 5 GB/月 | 每月每 GB $0.020 |
A 类操作2 | 5,000 | 每 1,000 次操作 $0.0050 | |
B 类操作2 | 5 万 | 每 1,000 次操作 $0.0004 | |
数据转移2 | 从北美到各 Google Cloud 数据传输目的地(不包括澳大利亚和中国),100 GB 的数据传输量 | 北美地区:$0.02 / GB 欧洲:$0.02 / GB 亚洲:$0.08 / GB |
1Cloud Storage 仅在通过 Firebase CLI 从本地来源进行部署时使用。
2Cloud Storage“始终免费”配额仅适用于 US-CENTRAL1 中的 App Hosting 后端。
免费用量按结算账号在多个项目间汇总,每月重置;您只需为超过限额的用量付费。
计算费用
从 2025 年 8 月 1 日起,一旦您超出随用随付 Blaze 定价方案的限额,Firebase App Hosting 项目就会开始产生费用。您需要为以下 Firebase App Hosting 订单项付费:
未缓存的出站带宽是指直接从 Firebase App Hosting 服务的源服务器传输的数据,用于满足用户请求。源服务器位于 App Hosting 后端的 Cloud Run 服务与 Cloud CDN 之间。当请求的内容尚未存储在 Cloud CDN 缓存中(即未缓存)时,就会发生这种情况。因此,源服务器必须提取数据并将其发送给用户。
此过程会产生费用,主要有两个原因:
- 填充 Cloud CDN 缓存:当用户请求未缓存的内容时,系统会触发一个流程,从源服务器提取相应数据,并在 Cloud CDN 缓存中存储一份副本,以用于将来的请求。从源站到 CDN 的初始数据传输会增加总费用。
- 将数据传输给最终用户:内容可用后(直接来自源服务器或来自 CDN [在初始缓存填充后]),必须将其传输到最终用户设备上的请求目标位置。此数据传输也会产生费用。
缓存的出站带宽是指从 Cloud CDN 的缓存传输到最终用户设备(位于请求的目标位置)的数据量(以吉比字节为单位)。
如需了解如何使用 Cloud CDN 优化性能,请参阅缓存应用内容。
您还需要为后端使用的底层 Google Cloud 产品的用量付费:
- Cloud Run
- Cloud Build
- Artifact Registry
- Secret Manager
- Cloud Logging
如需查看这些订单项的确切价格,请访问我们的价格页面。
结算示例
在 App Hosting 上运行动态 Web 应用的费用可能会因流量、运行时设置和响应大小等因素而有很大差异。我们示例中的费用是基于对这些因素的某些假设计算得出的。
流量和响应大小
当您的应用达到每月免费配额后,每次访问您的网站都会产生费用。这些费用并非固定不变,而是取决于多种因素,例如每次访问触发的后台请求数量、生成响应所需的计算能力以及响应大小。有些请求的费用就是比其他请求高。例如,与简单的 HTML 文件相比,提供包含大量图片或复杂数据的网页可能会花费更多费用。同样,在服务器上动态生成网页通常比从 CDN 提供缓存版本更昂贵。
为了有效估算应用的费用,您需要考虑以下几个关键指标:
- 每次访问的请求数:典型用户访问会触发多少个单独的请求?(请注意,一次“网页加载”通常涉及许多对图片、CSS 和 JavaScript 等素材资源的底层请求。)
- 平均响应大小:针对每个请求发送回的数据的典型大小是多少?
- 平均响应延迟时间:您的应用平均需要多长时间来响应请求?
您可以在 Google Cloud 控制台中检查应用的请求日志,从而估算这些值。我们的费用计算示例基于以下假设:
流量特征 | |
---|---|
~单次访问的付费请求数 | 10 |
平均响应大小 (KiB) | 400 |
平均响应延迟时间(毫秒) | 1000 |
缓存命中率 | 50% |
运行时设置
Cloud Run 设置1 | |
---|---|
CPU 上限 (vCPU) | 1 |
内存限制 (MiB) | 512 |
并发(请求) | 80 |
minInstances | 0 |
maxInstances | 100 |
1 这些是 App Hosting 提供的默认值。您可以查看 Cloud Run 修订版本详细信息,以检查每次发布时的 Cloud Run 配置。 在 Firebase 控制台的发布标签页中,将光标悬停在某个发布版本上,然后选择三点状菜单,再选择“查看 Cloud Run 版”。
其他假设
项目使用情况 | |
---|---|
部署方法 | GitHub |
每月构建次数 | 20 |
每次构建的分钟数 | 8 |
日志保留 | < 30 天 |
密文版本 | < 6 个版本 |
制品注册表映像大小 (MB) | 380 |
示例账单
根据这些假设,我们可以针对此示例场景推断出以下费用。在 1 万次访问的级别,几乎没有费用;当访问次数达到 100 万次时,才会开始产生任何有意义的费用,其中访问是指用户向您的应用发起的请求。
SKU | 价格 | 单元 | 免费层级 | 1 万次访问用量 | 1 万次访问的费用 | 100 万次访问使用量 | 100 万次访问的费用 |
---|---|---|---|---|---|---|---|
Cloud Run - CPU | $0.00 |
vCPU 秒 | 180,000.00 |
1250 |
$0.00 |
125000 |
$0.00 |
Cloud Run - 内存 | $0.00 |
GiB 秒 | 360,000.00 |
625 |
$0.00 |
62500 |
$0.00 |
Cloud Run - 请求 | $0.40 |
M 个 SSR 请求 | 2.00 |
0.05 |
$0.00 |
5 |
1.20 美元 |
Cloud Build - 构建分钟数 | $0.01 |
build-minute | 2,500.00 |
160 |
$0.00 |
160 |
$0.00 |
Artifact Registry - 存储空间 | $0.10 |
GiB(存储) | 0.50 |
0.6 |
$0.01 |
0.6 |
$0.01 |
App Hosting - 未缓存的传出带宽 | $0.20 |
GiB | 10 |
2 |
$0.00 |
200 |
39.00 美元 |
App Hosting - 缓存的传出带宽 | $0.15 |
GiB | 2 |
$0.00 |
200 |
29.25 美元 |
|
Secrets Manager - 有效的 Secret 版本 | $0.06 |
版本 | 6.00 |
6.00 |
$0.00 |
6.00 |
$0.00 |
Secrets Manager - 访问操作 | $0.03 |
1 万次操作 | 1.0 |
0.10 |
$0.00 |
5.00 |
$0.12 |
Secret Manager - 轮替通知 | $0.05 |
轮换 | 3.00 |
0.00 |
$0.00 |
0.00 |
$0.00 |
Cloud Logging - 日志存储 | $0.50 |
GiB | 50.00 |
0.50 |
$0.00 |
50.00 |
$0.00 |
Cloud Logging - 日志保留 | $0.01 |
GiB / 月 | 30 天 | $0.00 |
$0.00 |
||
总计 | $0.01 |
$69.58 |
计算
SKU | 单位 | 如何计算用量 |
---|---|---|
Cloud Run - CPU | vCPU 秒 | vCPU 秒数 = 每个实例的 vCPU 数 * 每个请求的平均响应延迟时间 * 访问次数 * 每次访问的结算请求数 / 并发请求数 |
Cloud Run - 内存 | GiB 秒 | GiB 秒 = 每个实例的 GiB * 每个请求的平均响应延迟时间 * 访问次数 * 每次访问的结算请求数 / 并发请求数 |
Cloud Run - 请求 | M 个 SSR 请求 | M SSR 请求数 =(访问次数 * 每次访问的结算请求数 / 100 万)*(1 - 缓存命中率) |
Cloud Build - 构建分钟数 | build-minute | 构建分钟数 = 构建次数 * 每次构建的分钟数 |
Artifact Registry - 存储空间 1 | GiB(存储) | GiB(存储)= 2 * 图片大小 |
App Hosting - 未缓存的带宽 | GiB | 未缓存的 GiB=(1 - 缓存命中率)*(访问次数 * 每次访问的付费请求数 * 每次请求的传出带宽) |
App Hosting - 缓存带宽 | GiB | 缓存的 GiB = 缓存命中率 *(访问次数 * 每次访问的结算请求数 * 每次请求的传出带宽) |
1 您的应用在 Artifact Registry 中通常只有一个映像,因为应用托管会自动清理未使用的版本。您可能只会在新版本发布期间短暂看到两个映像。