Cloud Run functions (第 1 代) 位置

Cloud Run functions 具有區域性,這表示執行 Cloud 函式的基礎架構位於特定區域,並由 Google 負責管理,實現該區域內所有可用區之間的備援可用性。

選擇執行 Cloud Run functions 的區域時,主要考量重點在於延遲時間和可用性。原則上可以選擇距離 Cloud Run 函式使用者最近的地區,但也應考慮應用程式所用其他 Google Cloud 產品和服務的位置。如果跨多個位置使用服務,可能會影響應用程式的延遲時間和定價

以下列出 Cloud Run functions 的適用區域。不同版本的 Cloud Run functions 的供應情形依區域而異。

級別 1 價格

Cloud Run Functions 適用於下列級別 1 價格區域:

區域 位置 CO2 排放量
asia-east1 台灣
asia-east2 香港
asia-northeast1 東京
asia-northeast2 大阪
europe-west1 比利時 節能綠葉圖示 低 CO2 區域
europe-west2 倫敦
us-central1 愛荷華州 節能綠葉圖示 低 CO2 區域
us-east1 南卡羅來納州
us-east4 北維吉尼亞州
us-west1 奧勒岡州 節能綠葉圖示 低 CO2 區域

級別 2 價格

Cloud Run Functions 適用於下列級別 2 價格區域:

區域 位置 CO2 排放量
asia-northeast3 首爾
asia-southeast1 新加坡
asia-southeast2 雅加達
asia-south1 孟買
australia-southeast1 雪梨
europe-central2 華沙
europe-west3 法蘭克福
europe-west6 蘇黎世 節能綠葉圖示 低 CO2 區域
northamerica-northeast1 蒙特婁 節能綠葉圖示 低 CO2 區域
southamerica-east1 聖保羅 節能綠葉圖示 低 CO2 區域
us-west2 洛杉磯
us-west3 鹽湖城
us-west4 拉斯維加斯

選取區域

您可以在部署期間為函式選取區域。

gcloud

如果使用 Google Cloud CLI,則可透過 --region 旗標指定區域:

gcloud functions deploy --no-gen2 FUNCTION_NAME --region=REGION ...

其中 REGION 即是上述其中一個區域。

控制台

如果使用 Google Cloud 控制台,可在建立及部署函式時選取區域。

  1. 前往 Google Cloud 控制台的「Cloud Run functions Overview」(Cloud Run functions 總覽) 頁面。

    前往「Cloud Run functions Overview」(Cloud Run functions 總覽) 頁面

    請確保選取的是已啟用 Cloud Run functions 的專案。

  2. 按一下「Create Function」(建立函式)

  3. 在「Region」(區域) 欄位中選取區域。

您可以將函式部署至專案內的不同區域,但函式的區域選定之後,就無法再變更。

在同一專案內的特定區域中,函式名稱不可重複 (區分大小寫),但在不同地區或專案之間,函式可共用相同名稱。

設定預設區域

您可以使用 Google Cloud CLI 設定預設區域,方法如下:

gcloud config set functions/region REGION

例如:

gcloud config set functions/region europe-west1

資料落地

Cloud Run Functions 在函式執行範圍 (範圍 A 法規遵循 - 函式執行作業) 提供資料落地保證,也就是確保特定函式的叫用/執行作業皆符合資料落地要求。

這項法規遵循要求適用於 HTTP 函式和事件導向函式。若為事件導向函式,自上游產品 (即觸發來源產品) 將事件傳遞至 Cloud Run functions 的那一刻起,即符合資料落地要求。因此,請務必確保上游產品 (例如 Cloud Storage 或 Pub/Sub) 本身遵循資料落地規定。

變更區域的最佳做法

如需變更部署函式的區域,請按照下列建議操作。

HTTP 函式

針對 HTTP 函式,建議先將其重新部署至目標區域 (可使用相同名稱),然後變更原始函式,將其 HTTP 要求重新導向至新函式。如果 HTTP 函式的用戶端支援重新導向,則只需變更原始函式,使其傳回 HTTP 重新導向狀態碼 (301) 以及新函式網址即可。如果用戶端無法妥善處理重新導向,則可從原始函式向新函式發起新要求,經由 Proxy 將要求傳送至新函式。最後一步是確保所與用戶端都會呼叫新函式。

事件導向函式

事件導向函式採用「至少一次」的事件傳遞語意,亦即在特定情況下可能收到重複的事件,因此應一律實作為冪等。如果函式已具備冪等性,則只需使用相同事件觸發條件,在新區域重新部署函式,並在確認新函式正確接收流量之後移除舊函式。在這個轉換過程中,兩個函式都會收到事件。

如果函式目前並非冪等,或其冪等未延伸到區域之外,則建議先實作冪等性,然後再移動函式。