這份文件列出 Managed Service for Apache Airflow 適用的配額和系統限制。
- 「配額」有預設值,但通常可以申請調整。
- 「系統限制」是固定值,無法變更。
Google Cloud 使用配額來確保公平性,並減少資源使用量和可用性出現劇烈波動的情況。配額會限制 Google Cloud 專案可使用的Google Cloud 資源數量,且適用多種資源類型,包括軟硬體和網路元件。舉例來說,配額可能會限制能向特定服務發出的 API 呼叫次數、專案可同時使用的負載平衡器數量,或是可建立的專案數量。配額機制可防止服務過載,保障Google Cloud 使用者社群的權益,同時也有助於您管理自己的 Google Cloud 資源。
Cloud Quotas 系統具備以下功能:
如果嘗試使用的資源量超過配額限制,系統通常會阻擋該資源的存取活動,您所執行的工作就會失敗。
配額的計算通常是以 Google Cloud 專案為基準。在某個專案中使用資源,不會影響另一個專案的可用配額。在同一個 Google Cloud 專案內,所有應用程式和 IP 位址會共用配額。
詳情請參閱「Cloud Quotas 總覽」。
如要調整大部分配額,請使用 Google Cloud 控制台。詳情請參閱「要求調整配額」。
Managed Airflow 資源也有「系統限制」,而且無法變更。
Managed Airflow 配額
本節的配額僅適用於 Cloud Composer API,以及使用 Cloud Composer API 的工具:
- Google Cloud 主控台中的 Managed Airflow 介面
gcloud composer和gcloud beta composer指令- Managed Airflow REST API
- Managed Airflow RPC API
- Terraform,適用於 Managed Airflow 環境的作業
本節的配額不適用於您在 Airflow DAG 中使用的任何服務。這類服務會使用自己的配額。
Managed Airflow 的 API 配額如下:
| 配額名稱 | 限制 |
|---|---|
| 每專案讀取要求數 | 每分鐘 1,000 個配額單位 |
| 每專案寫入要求數 | 每天 25,000 個配額單位 |
| 每專案寫入要求數 | 每分鐘 1,500 個配額單位 |
| 每項專案的快照儲存要求數 | 每日 5,000 個配額單位 |
| 每項專案的快照儲存要求數 | 每分鐘 250 個配額單位 |
| 每個環境的每個專案可儲存的快照要求數 | 每日 2,600 個配額單位 |
| 每項專案的快照載入要求數 | 每日 2,500 個配額單位 |
| 每項專案的快照載入要求數 | 每分鐘 150 個配額 |
| 每項專案/每個環境的快照載入要求數 | 每日 700 個配額單位 |
Cloud Composer API 呼叫的費用如下 (以配額單位計價):
| 作業 | 配額單位費用 | 要求類型 |
|---|---|---|
| 所有作業 | 1 | 讀取 |
| environments.create | 100 | 寫入 |
| environments.patch | 100 | 寫入 |
| environments.delete | 100 | 寫入 |
| environments.databaseFailover | 100 | 寫入 |
| environments.restartWebServer | 100 | 寫入 |
| environments.checkUpgrade | 100 | 寫入 |
| environments.executeAirflowCommand | 25 | 寫入 |
| environments.stopAirflowCommand | 25 | 寫入 |
| environments.saveSnapshot | 50 | 儲存快照 |
| environments.loadSnapshot | 50 | 載入快照 |
配額計算範例
每發出一次
environments.create要求,就會耗用 Write 配額的 100 個配額單位。寫入要求有兩種配額:
- 每項專案每日寫入要求數
- 每項專案每分鐘的寫入要求數
這項作業會耗用每個配額的 100 個配額單位。
如果您之後執行
environments.restartWebServer要求,系統會從相同配額再消耗 100 個配額單位,因為environments.restartWebServer與environments.create要求共用配額。一項
environments.saveSnapshot要求會耗用三個配額的 50 個配額單位:- 每項專案每日儲存快照要求數
- 每項專案每分鐘的儲存快照要求數
- 每項專案每天每個環境的快照要求數
這三項配額會限制要求數量上限。
environments.saveSnapshot但做法各不相同。每個專案每天的儲存快照要求配額上限為 2,500 個配額單位。每個專案每天最多可執行 50 項
environments.saveSnapshot要求。每項專案每分鐘的儲存快照要求數配額上限為 150 個配額單位。在專案中,您每分鐘最多只能執行三項
environments.saveSnapshot要求。最後,每個專案、每個環境每天的快照儲存要求配額限制為 750 個配額單位。每個環境每天最多可執行 15 項
environments.saveSnapshot要求。如果特定環境的配額單位全數用盡,您仍可為專案中的其他環境執行environments.saveSnapshot要求。
其他服務的配額
Managed Airflow 會使用其他 Google Cloud 服務。這些服務都有專案層級配額,適用於使用 Managed Airflow 時。
舉例來說,Cloud Storage 的配額適用於專案中與環境相關聯的所有值區。舉例來說,環境的叢集使用 Google Kubernetes Engine,因此 GKE 的配額會套用至專案中與環境相關聯的所有叢集。
Managed Airflow 使用的服務配額
Managed Airflow 會使用下列服務。這些服務有各自的配額限制:
- Cloud Deployment Manager 配額
- Google Kubernetes Engine 配額
- Compute Engine 配額
- Cloud Storage 配額
- Pub/Sub 配額
- Cloud Logging 配額
- Cloud Monitoring 配額
- Cloud Build 配額 (適用於使用自訂 PyPI 套件的環境)
- Artifact Registry 配額
- 身分與存取權管理配額
- 虛擬私有雲配額 (不適用於使用 Private Service Connect 的環境)
- Resource Manager 配額
- Service Directory 配額
選用服務的配額
您可以將 Airflow 運算子與 Google Cloud 服務搭配使用。您在 DAG 中使用的任何服務,均會受到該項服務適用配額的限制。