App Hosting 需要使用采用随用随付 Blaze 定价方案的项目。采用此定价方案时,您的项目在使用 App Hosting 调用的 Google Cloud 产品时具有以下免费限额:
| 产品 | 功能 | 免费 | 付费 (针对超出免费限额的用量) |
|---|---|---|---|
| App Hosting | 传出带宽 | 10 GiB/月 | $0.15 / 缓存的 GiB $0.20/未缓存的 GiB |
| Artifact Registry | 存储 | 0.5 GB/月 | $0.10 / GB / 月(超出 0.5 GB 的部分) |
| 出站 | 免费 | 如需查看出站流量价格的完整列表,请参阅 Artifact Registry 价格 | |
| Cloud Run | CPU | 18 万 vCPU 秒 | $0.00002400 / vCPU 秒 |
| 内存 | 36 万 GiB 秒 | $0.00000250 / GiB 秒 | |
| 请求数 | 200 万次请求 | $0.40/百万个请求 | |
| Cloud Build | 构建分钟数 | 2,500 分钟的构建时间 | $0.006 / 构建分钟 |
| Cloud Logging | Logging 存储 | 每个项目每月 50 GiB | $0.50/GiB |
| 日志记录保留 | 免费使用 30 天 | 对于保留超过 30 天的日志,每月每 GiB 为 $0.01 | |
| Secret Manager | 活跃 Secret 版本 | 每月 6 个版本 | 每个位置每个版本 $0.06 |
| 访问操作 | 10,000 次操作/月 | 每 1 万次操作 $0.03 | |
| 轮替通知 | 每月 3 次轮换 | 每次轮替 $0.05 | |
| Cloud Storage1 | 标准存储2 | 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 或在 Firebase 控制台中上传压缩归档。
2Cloud Storage“始终免费”配额仅适用于 US-CENTRAL1 中的 App Hosting 后端。
免费用量按结算账号在各个项目中汇总,并每月重置;您只需为超出限额的用量付费。
计算费用
一旦超出随用随付 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
- Cloud Storage
您可以在我们的价格页面上查看这些订单项的确切价位。
结算示例
在 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 个版本 |
| 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.006 |
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 |
| Secrets 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 请求 | SSR 请求数(百万次)=(访问次数 * 每次访问的计费请求数 / 100 万)* (1 - 缓存命中率) |
| Cloud Build - 构建分钟数 | build-minute | 构建分钟数 = 构建次数 * 每次构建的分钟数 |
| Artifact Registry - 存储空间 1 | GiB(已存储) | GiB(已存储)= 2 * 映像大小 |
| App Hosting - 未缓存的带宽 | GiB | 未缓存的 GiB= (1 - 缓存命中率) *(访问次数 * 每次访问的计费请求数 * 每个请求的传出带宽) |
| App Hosting - 缓存带宽 | GiB | 缓存的 GiB = 缓存命中率 *(访问次数 * 每次访问的计费请求数 * 每个请求的传出带宽) |
1 App Hosting 会自动清理 Artifact Registry 中的旧映像,保留过去 14 天内成功构建的映像(并且始终至少保留最近 5 个成功构建的映像以及实时构建的映像)。请参阅构建清理政策。