App Hosting 要求项目启用了 Firebase Blaze 定价方案。对于由 App Hosting 调用的 Google Cloud 产品,此方案的免费使用量限制如下:
产品 | 功能 | 免费 | 已结算 |
---|---|---|---|
App Hosting | 传出带宽 | 10 GiB / 月 | 0.15 美元 / 缓存的 GB 0.20 美元 / 未缓存的 GiB |
Artifact Registry | 存储 | 0.5 GB / 月 | 超出 0.5 GB 的部分:每月每 GB $0.10 |
出站 | 免费 | 如需查看出站流量价格的完整列表,请参阅 Artifact Registry 价格 | |
Cloud Run | CPU | 18 万 vCPU 秒 | 每 vCPU 秒 $0.00002400 |
内存 | 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 | 5000 | 每 1,000 次操作 $0.0050 | |
B 类操作2 | 5 万 | 每 1,000 次操作 $0.0004 | |
数据传输2 | 100 GB,从北美到各 Google Cloud 数据传输目的地(不包括中国和澳大利亚) | 北美:0.02 美元 / GB 欧洲:每 GB $0.02 亚洲:0.08 美元 / GB |
1Cloud Storage 仅在使用 Firebase CLI 从本地源代码部署时使用。
2Cloud Storage“始终免费”配额仅适用于 US-CENTRAL1 中的 App Hosting 后端。
免费用量按结算账号在多个项目间汇总,每月重置;您只需为超过用量上限的用量付费。
计算费用
自 2025 年 6 月 14 日起,如果您的 Firebase App Hosting 项目超出随用随付 Blaze 定价方案的配额,您将开始为其支付费用。您需要为以下 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 |
每 build 分钟数 | 8 |
日志保留 | 少于 30 天 |
密文版本 | 少于 6 个版本 |
Artifact Registry 映像大小 (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 美元 |
|
Secret Manager - 有效的 Secret 版本 | $0.06 |
版本 | 6.00 |
6.00 |
$0.00 |
6.00 |
$0.00 |
Secret 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 中只有一个映像,因为 App Hosting 会自动清理未使用的版本。只有在新版本发布期间,您才可能会短暂地看到两个图片。