配額與限制

本文列出 Media CDN 適用的配額和系統限制。

  • 「配額」會指定您可使用的可計數共用資源數量。配額是由 Google Cloud 服務 (例如 Media CDN) 定義。
  • 系統限制為固定值,無法變更。

Google Cloud 會使用配額來確保公平性,並減少資源使用量和可用性的尖峰情形。配額會限制 Google Cloud 專案可使用的Google Cloud 資源數量。配額適用於多種資源類型,包括硬體、軟體和網路元件。舉例來說,配額可以限制向服務發出的 API 呼叫數、專案並行使用的負載平衡器數量,或可建立的專案數量。限制配額可預防服務超載,進而保障Google Cloud 使用者社群的權益。配額也能協助您管理自己的 Google Cloud 資源。

Cloud 配額系統會執行以下作業:

在大多數情況下,如果您嘗試使用的資源超過配額限制,系統會封鎖對該資源的存取權,而您要執行的任務也會失敗。

配額通常會套用至 Google Cloud 專案層級。您在一個專案中使用資源,不會影響其他專案的可用配額。在 Google Cloud 專案中,所有應用程式和 IP 位址都會共用配額。

Media CDN 資源也有系統限制。系統限制無法變更。

限制

以下限制適用於 Media CDN。

設定

項目 限制 附註
EdgeCacheService 的數量上限 每項專案 20 個 如要提高這項上限,請與 Google Cloud 銷售團隊聯絡。
EdgeCacheOrigin 的數量上限 每項專案 30 個 如要提高這項上限,請與 Google Cloud 銷售團隊聯絡。
EdgeCacheKeyset 的數量上限 每項專案 10 個 如要提高這項上限,請與 Google Cloud 銷售團隊聯絡。
每個 EdgeCacheServiceRouteRules 數量上限 2000

每個 EdgeCacheService 最多可定義 10 個 PathMatchers,而每個 PathMatcher 最多可定義 200 個 RouteRules

這項上限無法提高。

每項服務的 SSL 憑證數量上限 5 此上限無法提高。請參閱 SSL 憑證的每個專案配額
每個 EdgeCacheKeyset 的公開金鑰數量上限 3 此上限無法提高。Keyset 中的多個金鑰設計用於啟用金鑰輪替:您應隨著時間移除較舊和未使用的金鑰。
每個 EdgeCacheKeyset 的驗證共用金鑰數量上限 3 此上限無法提高。Keyset 中的多個金鑰設計用於啟用金鑰輪替:您應隨著時間移除較舊和未使用的金鑰。

HTTP 標頭、要求和回應

項目 限制 附註
要求標頭大小上限 約 11 KiB 此上限無法提高。

要求網址加上要求標頭的總資料量不得超過 15 KiB。

系統會拒絕要求,並傳送 HTTP 431 回應,以便處理 HTTP/1.1 連線。

關閉 HTTP/2 連線時,系統不會寫入回應代碼。

如果啟用記錄功能,這些要求會以 headers_too_longstatusDetails 記錄。

要求主體大小上限 16 KiB 如果要求主體超過此限制,系統會拒絕並傳回 HTTP 413 Content Too Large 狀態碼。
回應標頭大小上限 約 128 KiB 此上限無法提高。

如果來源回應的標頭超出此限制,就會傳送 HTTP 502 至用戶端。如果啟用記錄功能,這些事件會以 statusDetailsbackend_response_headers_too_long 記錄。

可快取物件大小上限 100 GiB 此上限無法提高。

這是 Media CDN 可快取來源物件大小的上限。較大的物件會視為無法快取。

不可快取的回應大小上限 500 MiB 此上限無法提高。

這是在物件無法快取時,Media CDN 代理程式回應主體的位元組數量上限。達到上限後,系統會截斷無法快取的回應。

標頭的小寫轉換 對於 Media CDN,一律為是 Media CDN 的要求和回應標頭大小寫會遵循 HTTP/2 慣例。

無論使用何種通訊協定,系統都會將所有標頭轉換為小寫格式。

舉例來說,Host 會變成 hostKeep-Alive 會變成 keep-alive

標頭值的大小寫不會變更。

API 要求頻率限制

如要提高 API 要求的頻率限制,您可以查看目前的使用量,並申請提高限制。

項目 限制
撤銷 EdgeCacheService 每分鐘 10 次
所有不在 networkservices 命名空間中的呼叫 每項專案每分鐘 1,200 個呼叫
唯讀:GetEdgeCache*ListEdgeCache* 每項專案每分鐘 100 次
讀取/寫入:networkservices 命名空間中未標示為唯讀的所有內容 每項專案每分鐘 100 次

用戶端逾時

逾時 時間長度上限 回應碼 說明
Maximum request duration 5 分鐘 HTTP 408 (Request Timeout) 單一要求-回應的最大時間長度。
Header timeout 10 秒 HTTP 408 (Request Timeout) 用戶端傳送完整要求標頭所需的時間。

來源逾時

  • connectTimeoutmaxAttemptsTimeout 會限制 Media CDN 尋找可用回應所需的時間。

    這兩個逾時時間都包含來源所需的時間,用於傳回標頭,以及判斷是否要使用備援或重新導向。connectTimeout 會個別套用至每個來源嘗試,而 maxAttemptsTimeout 則包含所有來源嘗試 (包括容錯移轉和重新導向) 連線所需的時間。遵循重新導向計數為額外嘗試連線至來源,並計入已設定來源的 maxAttempts 集合。

    當 Media CDN 遇到非重新導向回應 (例如來自重新導向或備援來源) 時,就會套用 readTimeoutresponseTimeout 值。重新導向的來源會使用針對遇到重新導向的 EdgeCacheOrigin 設定的 connectTimeoutreadTimeoutresponseTimeout 值。

  • responseTimeoutreadTimeout 可控制串流回應的處理時間。在 Media CDN 判斷要使用上游回應後,connectTimeoutmaxAttemptsTimeout 都不再重要。此時,readTimeoutresponseTimeout 就會生效。

無論每個 EdgeCacheOrigin 設定的 maxAttempts 為何,Media CDN 最多會針對所有來源嘗試四次來源。Media CDN 會使用主要 EdgeCacheOriginmaxAttemptsTimeout 值。每項嘗試的逾時值 (connectTimeoutreadTimeoutresponseTimeout) 會針對每項嘗試的 EdgeCacheOrigin 進行設定。

下表說明逾時欄位:

欄位 預設 說明
connectTimeout 5 秒

從 Media CDN 開始向原始來源發出要求,到 Media CDN 判斷回應是否可用,所需的時間上限。實際上,connectTimeout 涵蓋的時間從建立要求開始,然後執行 DNS 查詢,再執行 TLS 握手、TCP/QUIC 連線建立作業,並取得包含 HTTP 狀態碼的回應標頭。

逾時時間的值必須介於 1 秒至 15 秒之間。

maxAttemptsTimeout 15 秒

在錯誤傳回用戶端之前,所有嘗試連線至來源 (包含容錯移轉來源) 的作業最多可以持續多久。如果在傳回回應之前達到逾時時間,系統會傳回 HTTP 504。

逾時時間的值必須介於 1 秒至 30 秒之間。

這項設定會定義所有來源連線嘗試 (包括容錯移轉來源) 的持續時間,以便限制用戶端等待內容開始串流的總時間。系統只會使用第一個 maxAttemptsTimeout 值,其中「第一個」是由為指定路線所設定的來源定義。

readTimeout 15 秒

單一 HTTP 回應讀取作業之間的等待時間上限。readTimeout 的上限為 responseTimeout。所有 HTTP 回應讀取作業都必須在 responseTimeout 設定的期限內完成。逾時時間的值必須介於 1 秒至 30 秒之間。如果在回應完成前就達到這個逾時時間,系統會截斷回應並記錄。

responseTimeout 30 秒

回應完成的時間上限。

逾時時間值必須介於 1 秒至 120 秒之間。

時間長度是從接收第一個內容位元組的時間起算。如果在回應完成前就達到這個逾時時間,系統會截斷回應並記錄。

管理配額

Media CDN 會基於多種原因,對資源用量實施配額限制。舉例來說,限制配額可以預防用量突然暴增的情況,進而保障 Google Cloud 使用者社群的權益。採用 Google Cloud 免費方案探索的使用者也能透過配額,確保不會超出試用範圍。

所有專案最初的配額均相同,您可以要求額外配額來變更配額數量。某些配額可能會依據您使用產品的狀況而自動增加。

權限

如要查看配額或要求增加配額,身分與存取權管理 (IAM) 主體需要具有下列其中一種角色。

工作 必要角色
查看專案的配額 下列任一項:
修改配額,要求額外配額 下列任一項:
  • 專案業主 (roles/owner)
  • 專案編輯器 (roles/editor)
  • 配額管理員 (roles/servicemanagement.quotaAdmin)
  • 具備 serviceusage.quotas.update 權限的自訂角色

查看配額

控制台

  1. 前往 Google Cloud 控制台的「Quotas」(配額) 頁面。

    前往「配額」頁面

  2. 使用篩選表格搜尋要更新的配額。 如果不知道配額名稱,請改用本頁面上的連結。

gcloud

請使用 Google Cloud CLI 執行下列指令,查看配額。使用您自己的專案 ID 替換 PROJECT_ID

    gcloud compute project-info describe --project PROJECT_ID

如要查看特定區域的配額用量,請執行下列指令:

    gcloud compute regions describe example-region
    

超出配額時產生錯誤

一旦超出 gcloud 指令的配額上限,gcloud 就會輸出 quota exceeded 錯誤訊息並傳回結束代碼 1

如果您是在傳送 API 要求時超出配額, Google Cloud 會傳回下列 HTTP 狀態碼:413 Request Entity Too Large

要求增加配額

如要調整大部分配額,請使用 Google Cloud 控制台。詳情請參閱「要求配額調整」。

資源可用性

如果特定類型的資源可以使用,則每項配額代表您能針對該資源建立的最大數量。請特別留意,配額「並不」保證資源可用性。即使您有可用的配額,如果資源無法提供使用,您也無法建立新的資源。

舉例來說,您可能有足夠的配額,可以在特定區域中建立全新區域性外部 IP 位址。不過,如果該區域沒有可用的外部 IP 位址,則無法建立。區域的資源可用性也會影響您建立新資源的能力。

整個區域的資源皆無法提供使用的狀況很罕見。然而,可用區內的資源有時可能會耗盡,不過一般來說並不會對該資源類型的服務水準協議 (SLA) 造成影響。如需更多資訊,請參閱與該資源相關的 SLA。