Cloud 运行 + Firebase 托管区域重写问题

Cloud Run + Firebase Hosting region rewrites issue

我正在尝试将 Firebase 托管用于连接到云的 CDN 运行。昨天我在 eu-west1 地区测试了一些东西,一切顺利。今天,我尝试做同样的事情,但对于 eu-west4 区域,我收到错误消息,指出该区域不受支持。 我切换到 eu-west1 并且有效。

是这个错误还是不支持 eu-west4 区域?

=== Deploying to 'xxxxxxxx'...
i  deploying hosting
Error: HTTP Error: 400, Cloud Run region `europe-west4` is not supported.
    "rewrites": [
      {
        "source": "**",
        "run": {
          "serviceId": "web-client",
          "region": "europe-west4"
        }
      }
    ],

新的 asia-southeast1 区域也一样

Error: HTTP Error: 400, Cloud Run region `asia-southeast1` is not supported.

我实际上想出了一种“修复”这个问题的方法。我将区域更改为 europe-west4 而不是之前的 europe-west1 并且“修复”了我的部署问题。

从这个info这里是关于重写的详细信息:

Firebase 托管起源于 us-central1,因此在部署云 运行 时,建议在 select us-central1 地区获得较低的 First Contentful Paint 分数或快速加载您的网站,但会破坏您附近区域可用性目的的优势(对于 google 粉丝来说真的很不幸)。

示例:如果您的位置是印度,您最近的云 运行 可用是 asia-southeast1 新加坡我们不能 select 亚洲-东南1

请求路径是这样的:

你→印度(CDN)→美国(Firebase)→新加坡(Cloud运行+aync 调用 Firestore India)→美国→CDN→你(其中就延迟而言真的很糟糕)。

你→印度(CDN)→美国(Firebase)→美国us-central1(Cloud运行+aync调用Firestore India)→美国→CDN→你

(静态页面加载速度很快,但是 webapp 上的 Firestore 动态数据加载时延迟真的很差,我们应该 select us-central1 Firestore 也没有使用您当地的 GCP 产品,这真的很奇怪,Firebase 托管至少在美国欧洲 ASIA-PACIFIC 区域至少不可用。

结论(截至目前):

Cloud 运行 Firebase 托管的区域重写问题在许多区域都存在,但是,为了获得最佳的页面加载结果,我们应该 select us-central1不幸的是,与重写问题相比,这是真正的问题,为了避免非美国用户的网站 Firestore 延迟,我们应该使用云 run/cloud 功能缓存控制,以便数据将按区域 CDN 缓存在您的 local/near用于快速数据加载(我们不能使用 firebase web SDK,因为如果我们使用 SDK,则无法通过 CDN 缓存,我们应该在 firebase/cloud 运行 中使用云功能)

Firebase 云托管运行 重写可用性(截至 2020 年 8 月 31 日)

可用:

us-central1, 美国东部1, 亚洲东北1, 欧洲西部 1

不可用 亚洲东1, 欧洲北部1, 欧洲西部4, 美国东部4, 美国西部1, 亚洲-东南1

如果您所在的地区云 运行 和 Firebase 托管不可用,请提交 feature request 以获取 Firebase 重写可用性,至少在美国和欧洲 ASIA-PACIFIC 区域不可用。

仅供参考:如果使用 multi-region Firestore,Cloud Firestore multi-region 也不适用于亚洲地区-central1

Cloud Run availability region

(如果您获得对上述任何区域的重写权限,请发表评论)