配額與限制

本頁提供 Cloud SQL 配額與限制的相關資訊。配額適用於專案層級;限制則視本身特性,可能適用於執行個體,也可能適用於專案層級。

配額

配額會限制 Google Cloud 專案可使用的 Google Cloud 資源數量。Cloud SQL 就是這類資源的範例。

在 Cloud SQL 中,配額是系統的一部分,可執行下列操作:

  • 監控 Cloud SQL 執行個體的使用情形
  • 限制這些執行個體的用量,原因包括確保公平性和減少用量激增
  • 維護可自動強制執行規定限制的設定
  • 提供變更或要求變更配額的方法

在多數情況下,一旦超出配額,系統會立即封鎖相關執行個體的存取權,而您要執行的作業也會失敗。配額限制適用於每項 Google Cloud 專案,且使用同一項專案的所有執行個體會共用這些配額。

檢查及提高配額的權限

如要查看及增加配額,您必須具備下列權限:

根據預設,「編輯者」和「擁有者」這些基本 IAM 角色,以及預先定義的「配額管理員」角色,都具備這些權限。如需其他權限,請與配額管理員聯絡。

查看配額

如要查看專案目前的資源配額,請前往Google Cloud 控制台的「配額」頁面,並篩選「Cloud SQL Admin API」。這些配額僅適用於 API 呼叫,不包括資料庫查詢。

提高配額

隨著 Google Cloud 使用量隨時間增加,配額也可能會隨之增加。如果您預期用量將大幅攀升,請提前幾天提出要求,確保系統可以妥善調整您的配額。

申請提高配額不會產生任何費用。除非您使用更多資源,否則費用不會增加。

如要提高配額,請按照下列步驟操作:

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

    前往「配額」頁面

  2. 篩選 Cloud SQL Admin API 服務。

    如果找不到這項服務,請啟用 Cloud SQL Admin API

  3. 找出要變更的配額,勾選旁邊的核取方塊,然後按一下「編輯配額」

  4. 針對您選取的每個配額,在「New limit」(新增限制) 欄位中輸入所需限制的值。

  5. 在「Reason description」欄位中輸入要求提高配額的原因,然後按一下「Done」

  6. 點按「Next」

  7. 輸入您的姓名、電子郵件地址和電話號碼,然後按一下「提交要求」

    如果無法順利增加配額,請提交客服案件

資源配額的補充方式

系統會在太平洋時間凌晨 12 點補足每日配額。

配額與資源可用性

在資源供應無虞的前提下,資源配額指的是您能夠建立特定類型資源的數量上限。配額機制並無法保證您隨時可以使用這些資源。如果您的區域無法順利供應某項資源,即使您的專案仍有配額,您也無法新建該類型的資源。

頻率配額

Cloud SQL 支援頻率配額 (也稱為頻率限制或 API 配額)。頻率配額會定義您可以向 Cloud SQL Admin API 提出的要求數。

每個頻率配額都對應至一或多個 Cloud SQL Admin API 方法的類別,用於處理所有要求。頻率配額會在 Cloud SQL 專屬的時間間隔 (例如每分鐘 API 要求數) 過後重設。

使用 gcloud CLI 或 Google Cloud 控制台時,您會向 Cloud SQL 管理員 API 提出要求,這些要求會計入您的頻率配額。如果您使用服務帳戶存取 API,這些要求也會計入頻率配額中。

Cloud SQL 會在 60 秒間隔內自動強制執行及補充費率配額。如果您的專案在 60 秒內達到費率配額上限,就必須等到該配額重新填滿,才能在該類別中提出更多要求。如果專案超過此限制,您會收到 HTTP 429 狀態碼,並顯示 rateLimitExceeded 為原因。

Cloud SQL Admin API 可分為下列類別:

  • 連線:查詢連線至 Cloud SQL 資料庫所需的值。
  • Get:擷取資源的相關資訊 (例如執行個體、作業或備份)。
  • List:列出資源。
  • 變異:建立、修改及刪除資源。
  • 每個地區的預設值:不連線、擷取、列出或變更 Cloud SQL 執行個體,即可與其互動。
  • 預設:列出 Cloud SQL 執行個體的資料庫旗標和機器類型 (層級)。這個類別中的 API 是全球通用的。

Cloud SQL 會針對每個類別的每分鐘、每位使用者和每個區域設定頻率配額。對於這些屬性的每個不重複組合,Cloud SQL 都會設下個別的頻率限制。

Cloud SQL Admin API 會產生詳細指標,協助您追蹤 API 使用情形、監控 Cloud SQL 執行個體和 API 的效能,以及找出執行個體和 API 之間的問題。詳情請參閱「監控 API 用量」。

下表提供每個類別的指標、API 和預設限制:

類別 指標 API 預設限制
連線

sqladmin.googleapis.com/connect

每個使用者在每個區域每分鐘使用這個類別的 API 所提出的要求數。

1000
取得

sqladmin.googleapis.com/get

每個使用者在每個區域每分鐘使用此類別 API 的要求數。

500
清單

sqladmin.googleapis.com/list

每個使用者在每個區域每分鐘使用此類別 API 的要求數。

500
修改

sqladmin.googleapis.com/mutate

每個使用者在每個區域每分鐘使用此類別 API 的要求數。

180
每個區域的預設值

sqladmin.googleapis.com/
default_per_region

每個使用者在每個區域中,每分鐘使用此類別 API 時提出的預設區域要求數量。

180
預設

sqladmin.googleapis.com/default

每位使用者每分鐘使用這個類別的 API 時,提出的預設要求數量。

180

限制

系統針對部分 Cloud SQL 資源設有限制。這些資源的配額不會定期補充,也不會列於 Google Cloud 控制台的「配額」頁面中。您可以要求放寬某些資源的限制,但有些限制無法更動。

可調整的限制

每項專案的執行個體數

單一專案可擁有的執行個體數量上限取決於這些執行個體的網路架構

  • 新 SQL 網路架構:每個專案最多可有 1000 個執行個體。
  • 舊版 SQL 網路架構:每個專案最多可有 100 個執行個體。
  • 使用兩種架構:限制值介於 100 到 1000 之間,具體取決於兩種架構中執行個體的分布情形。

提交客服案件要求增加執行個體數量。唯讀備用資源會計為執行個體。

建議您將執行個體數量分散到多個專案,以減少對配額提高要求的依賴。這有助於避免任何潛在的封鎖。

並行連線數上限

您可以使用 max_connections 旗標設定連線數量限制。在建立 PostgreSQL 適用的 Cloud SQL 執行個體時, 機器類型設定會根據您選取的核心數量自動調整可用的記憶體大小範圍。這也會決定執行個體的初始預設連線限制。

如要查看執行個體的連線限制,您可以連線至資料庫並執行以下指令:SELECT * FROM pg_settings WHERE name = 'max_connections';

備用資源中的值不能小於主要執行個體中的值。主要執行個體的變更會推送到符合下列條件的備用資源:備用資源的值低於主要執行個體的新值,或者備用資源的值仍舊保有預設值。

如果主要執行個體的值為 default,則備援資源的值就無法變更。如要變更備用資源的值,請先將主要執行個體的值設為整數。

注意事項

Cloud SQL 連接器的配額使用情形

Cloud SQL Auth Proxy 和其他 Cloud SQL 連接器會使用 Cloud SQL Admin API 配額。Cloud SQL 連接器會大約每小時執行一次重新整理作業。這個重新整理作業會發出兩個 API 呼叫。一個呼叫會擷取執行個體中繼資料,另一個則會擷取暫時憑證。

配額用量計算方式如下:

Quota usage = connector processes running * instances * 2 API calls per hour

舉例來說,如果有三個程序在執行連接器,且連接器已設定為連線至兩個 Cloud SQL 執行個體,且在一個小時內發出兩次 API 呼叫,則配額消耗量為 12 (3 個程序 * 2 個執行個體 * 2 個 API 呼叫)。

如果您是 Cloud SQL 新手,請留意上述公式,並注意以下事項:

  • 擴充新資料庫用戶的速度

  • 新增更多執行個體的速度

  • 為每個應用程式使用不同的服務帳戶

Cloud SQL IAM 資料庫驗證

每個執行個體都有每分鐘登入配額,包括成功和失敗的登入。一旦超過配額,系統就會暫時無法登入。建議您避免頻繁登入,並使用授權網路限制登入。登入授權的配額為每個例項每分鐘 12,000 次。

轉送規則配額

每個 Cloud SQL 執行個體都包含轉送規則和負載平衡器。轉送規則的配額限制取決於其所指向的負載平衡器類型。每種轉送規則、每個專案、每個網路對等互連群組都有多個配額。針對 Cloud SQL,我們也提供每個網路配額和每個對等群組配額的覆寫規則。也就是說,當我們為生產者聯播網調高每個聯播網配額時,每個對等群組的配額也會調高至相同值。

Cloud SQL 供應商虛擬私有雲會與客戶的虛擬私有雲對等互連,因此我們經常會達到 Cloud SQL 供應商虛擬私有雲的每個網路配額,以及客戶虛擬私有雲的每個對等互連群組配額。

達到配額時,某些作業可能會失敗,包括:

  • 建立作業:建立新例項時,我們需要新的轉送規則。

  • 更新作業:我們允許客戶切換執行個體的網路,因此需要在新網路中建立新的轉送規則。

  • 維護作業:重新建立轉送規則。

為避免發生任何問題,建議您將每個網路的執行個體總數限制在 500 以下。

如果遇到問題,請提交支援案件,我們會為您提高相關配額。

固定限制

IOPS

IOPS 是指磁碟每秒可處理的輸入/輸出作業 (或讀取/寫入) 作業數量。

Cloud SQL 會使用搭載永久儲存磁碟的 Compute Engine 虛擬機器 (VM)。如要進一步瞭解特定 VM 效能特徵,請參閱「永久磁碟效能」頁面中的最大持續 IOPS 表格。

作業限制

Micro 和 small 等級機器類型會限制並行作業數量。超過這些限制會導致 Too many operations 錯誤。

db-custom-1-3840 (單一 CPU) 機器類型的限制為 50 個並行作業。

f1-micro (共用核心 CPU) 機器類型的限制為 20 個並行作業。

指標收集限制

最多可收集 500 個 PostgreSQL 資料庫的 PostgreSQL 指標。如果資料庫超過 500 個,系統只會納入特定指標的前 500 個。這些資料庫的交易次數最多。

Cloud SQL 儲存空間限制

Cloud SQL 儲存空間選項

如要設定儲存空間選項,以獲得最佳效能,請務必瞭解您的工作負載,並選擇適當的磁碟類型和大小。如要進一步瞭解我們為 Cloud SQL 提供的各種選擇,請參閱執行個體設定的相關說明。

App Engine 限制

以 App Engine 標準環境來說,當中運作的執行個體與其他執行個體之間的並行連線數不得超過 100 個。如果是以 PHP 5.5 編寫而成的應用程式,則上限為 60 個並行連線

App Engine 應用程式必須符合要求時間限制,實際情況則視用量和環境而定。詳情請參閱 App Engine 標準環境 標準 彈性環境中執行個體管理方式的相關說明。

App Engine 應用程式也必須符合其他 App Engine 配額與限制的規定,詳情請參閱 App Engine 配額頁面。

Cloud Run 限制

如果您在 Cloud Run 上使用內建的 Cloud SQL 連線,Cloud Run 容器執行個體的連線數上限為每個 Cloud SQL 資料庫 100 個。

Cloud Run 服務或工作的每個執行個體可與資料庫建立 100 個連線,如果擴充服務或工作,每項部署作業的總連線數可隨之增加。

使用其他連線方式 (例如附加在附屬機器中的 Cloud SQL Auth Proxy、Cloud SQL 語言連接器),或是直接連線至 Cloud SQL 執行個體的 IP 位址時,這項限制不適用

Cloud Run functions 限制

Cloud Run 函式 (第 1 代) 會將每個執行個體的並行執行數限制為 1。單一第 1 代函式執行個體同時處理兩個要求的情況永遠不會發生。在多數情況下,您只需要一個資料庫連線。

Cloud Run 函式 (第 2 代) 以 Cloud Run 為基礎,每個執行個體的資料庫連線數上限為 100 個。