מכסות של פעולות בו-זמניות ב-Compute Engine

במסמך הזה מוסבר על מכסות של פעולות בו-זמניות ב-Compute Engine.

מכסות לפעולות בו-זמניות

מכסות של פעולות בו-זמניות מגדירות את מספר הפעולות הפעילות או בו-זמניות שיכולות להתרחש בכל נקודת זמן. כל בקשת API שיוצרת, משנה או מוחקת משאב של Compute Engine כפופה לבדיקה של מגבלת פעולות בו-זמניות, כדי לוודא שהמספר הכולל של פעולות בתהליך בכל נקודת זמן לא חורג מהמגבלה שצוינה לאותה פעולה.

שגיאה: חריגה ממגבלת הפעולות בו-זמנית

אם בפרויקט חורגים מהמגבלה של פעולות בו-זמניות עבור פעולה כלשהי שנמצאת בתהליך, מוצגת השגיאה 403 עם הסיבה rateLimitExceeded.

תגובת ה-API של השגיאה אמורה להיראות כך:

    "error": {
      "code": 403,
      "message": "Rate Limit Exceeded",
      "errors": [
        {
          "message": "Rate Limit Exceeded",
          "domain": "usageLimits",
          "reason": "rateLimitExceeded",
        ...
        ...
        }
      ],
      "details": [
        {
          "@type": "type.googleapis.com/google.rpc.ErrorInfo",
          "reason": "CONCURRENT_OPERATIONS_QUOTA_EXCEEDED",
          "domain": "compute.googleapis.com",
          "metadata": {
            "containerType": "PROJECT",
            "containerId": "PROJECT_ID",
            "quotaMetric": "QUOTA_METRIC",
            "quotaLimit": "QUOTA_LIMIT",
            "operationType": "OPERATION_TYPE",
            "location": "global | REGION"
          }
        },
        {
          "@type": "type.googleapis.com/google.rpc.Help",
          "links": [
            {
              "description": "Concurrent operations quota documentation.",
              "url": "https://cloud.google.com/compute/operations-quota#concurrent_operation_limits"
            }
          ]
        },
      ...
      ... 

פרטי השגיאה מכילים את הערכים הבאים:

  • PROJECT_ID: מזהה הפרויקט שבו המכסה חורגת מהמגבלה.

  • QUOTA_METRIC: המדד של המכסה המקבילה שחורגת מהמגבלה. הערך יכול להיות אחד מהבאים:

    • compute.googleapis.com/global_concurrent_operations
    • compute.googleapis.com/regional_concurrent_operations
  • QUOTA_LIMIT: שם המגבלה של המכסה המקבילה. הערך יכול להיות אחד מהבאים:

    • GlobalConcurrentOperationsPerProject
    • GlobalConcurrentOperationsPerProjectOperationType
    • RegionalConcurrentOperationsPerProject
    • RegionalConcurrentOperationsPerProjectOperationType
  • OPERATION_TYPE: הפעולה הגלובלית או האזורית שחורגת מהמכסה. רשימת הפעולות מופיעה במאמר בנושא קבוצות מכסות של פעולות מקבילות.

  • הערך location יכול להיות אחד מהערכים הבאים:

    • global: מציין שהמגבלה חרגה ממכסת הפעולות הגלובלית
    • REGION: מציין את האזור שבו חרגתם מהמכסה של הפעולה

יומני השגיאות המפורטים מוחזרים רק דרך תגובת ה-API. שגיאה ב-Logs Explorer שדומה לזו:

   "protoPayload":{
    "@type": "type.googleapis.com/google.cloud.audit.AuditLog",
    "status": {
      "message": "Rate Limit Exceeded"
    }
    "serviceName": "compute.googleapis.com",
    "methodName": "METHOD_NAME",
    ...
    ...
    "response": {
      "error": {
        "message": "Rate Limit Exceeded",
        "code": 403,
        "errors": [
          {
            "message": "Rate Limit Exceeded",
            "reason": "rateLimitExceeded",
            "domain": "usageLimits"
          }
        ]
      },
      "@type": "type.googleapis.com/error"
    },
    ...
    ... 

התו METHOD_NAME בשגיאה מייצג את שיטת ה-API שהייתה חריגה ממגבלת הקצב. לדוגמה, v1.compute.instances.stop.

קבוצות של מכסות פעולות בו-זמניות

בקטע הזה מתוארות ההגבלות על פעולות שונות ב-Compute Engine שמתבצעות בזמן אמת או בו-זמנית.

מכסות גלובליות של פעולות

פעולות גלובליות בו-זמניות צורכות מגבלה גלובלית שמוגדרת לסוגי פעולות לכל פרויקט. בטבלה הבאה מפורטות המכסות הגלובליות לפעולות שמתבצעות והמדדים התואמים.

אפשר לראות את המכסה של פעולות גלובליות באמצעות Google Cloud המסוף, Google Cloud CLI ו-Service Usage API. איך רואים את המכסות והמגבלות של פעולות מקבילות

שם המכסה
תיאור
שם המדד שיטות שצורכות את המכסה הזו
Concurrent global operations per project
מגביל את המספר הכולל של פעולות גלובליות בו-זמניות בפרויקט.

הצגת המכסה הזו במסוף Google Cloud

compute.googleapis.com/global_concurrent_operations

כל השיטות הגלובליות.

כתובת ה-URL של בקשת ה-HTTP מכילה global עבור השיטות האלה. לדוגמה, השיטה networks.insert:
POST /compute/v1/projects/{project}/global/networks

Concurrent global operations per project operation type
מגביל את מספר הפעולות בו-זמנית לכל פרויקט לכל סוג פעולה.

הצגת המכסה הזו במסוף Google Cloud

compute.googleapis.com/global_concurrent_operations

כל השיטות הגלובליות.

מכסת ברירת המחדל של פעולות מקבילות היא 500 פעולות בתהליך לכל פרויקט, למעט השיטות הבאות, שיש להן מגבלות שונות כברירת מחדל:

globaladdresses.move

firewalls.delete

firewalls.insert

images.delete

images.deprecate

images.insert

images.patch

images.setLabels

images.setIamPolicy

licenses.insert

machineimages.delete

machineimages.insert

networks.addPeering

networks.removePeering

networks.updatePeering

projects.setCommonInstaneMetadata

publicAdvertisedPrefixes.delete

publicAdvertisedPrefixes.insert

routes.delete

routes.insert

securityPolicies.patchRule

snapshots.delete

snapshots.insert

snapshots.setLabels

snapshots.setIamPolicy

snapshotSettings.patch

מכסות אזוריות

פעולות אזוריות בו-זמניות צורכות מכסה אזורית שמוגדרת לסוגי פעולות לכל פרויקט באזור נתון.

בטבלה הבאה מפורטות המכסות האזוריות לפעולות בתהליך והמדדים המתאימים.

אפשר לראות את המכסה של פעולות אזוריות באמצעות Google Cloud המסוף, Google Cloud CLI ו-Service Usage API. איך רואים את המכסות והמגבלות של פעולות מקבילות

שם המכסה
תיאור
שם המדד שיטות שצורכות את המכסה הזו
Concurrent regional operations per project
מגבילה את המספר הכולל של פעולות אזוריות מקבילות בפרויקט.

הצגת המכסה הזו במסוף Google Cloud

compute.googleapis.com/regional_concurrent_operations

כל השיטות האזוריות.

כתובת ה-URL של בקשת ה-HTTP מכילה regions או zones עבור השיטות האלה.
לדוגמה, השיטה instances.insert:
POST /compute/v1/projects/{project}/zones/{zone}/instances

Concurrent regional operations per project operation type
מגביל את מספר הפעולות האזוריות בו-זמנית לכל פרויקט לכל סוג פעולה.

הצגת המכסה הזו במסוף Google Cloud

compute.googleapis.com/regional_concurrent_operations

כל השיטות האזוריות.

מכסת ברירת המחדל של פעולות מקבילות היא 500 פעולות בתהליך לכל פרויקט לכל אזור, למעט השיטות הבאות, שיש להן מגבלות שונות כברירת מחדל:

addresses.move

disks.insert

instances.delete

instances.insert

instances.simulateMaintenanceEvent

networkEndpointGroups.attachNetworkEndpoints

networkEndpointGroups.detachNetworkEndpoints

publicDelegatedPrefixes.delete

publicDelegatedPrefixes.insert

צפייה במכסות ובמגבלות של פעולות בו-זמניות

כדי לראות את מכסת השימוש והמגבלות בפרויקט:

המסוף

  1. נכנסים לדף Quotas במסוף Google Cloud .

    לפתיחת הדף Quotas

    בדף Quotas מפורטות כל המגבלות ומכסות השימוש בפרויקט שלכם. כברירת מחדל, הרשימה ממוינת לפי תדירות השימוש במכסות. המכסות שאתם הכי משתמשים בהן מוצגות קודם, כדי שתוכלו לראות מה המגבלות ולא לחרוג מהן.

  2. כדי לסנן את הרשימה ולראות את השימוש ואת המגבלה של מכסה ספציפית, בוחרים באפשרות Quota או Metric בשדה Filter.

    לדוגמה, בוחרים במכסה Concurrent global operations per project operation type כדי לראות את השימוש במכסה לשיטות גלובליות לפי סוג פעולה.

    כדי לסנן את המכסה של פעולה ספציפית, מוסיפים Dimensions לשאילתת הסינון ובוחרים באפשרות operation_type. לדוגמה, בוחרים באפשרות firewalls_insert כדי לראות את השימוש במכסה ואת המגבלה של פעולת firewalls.insert.

gcloud

אפשר להשתמש ב-Google Cloud CLI כדי לראות את השימוש במכסות של פעולות מקבילות ואת המגבלות שלהן.

כדי לעשות את זה, צריך לוודא שהתקנתם את הרכיב פקודות אלפא. אם אתם משתמשים ב-Cloud Shell לאינטראקציה עם Google Cloud, כבר מותקן אצלכם Google Cloud CLI.

כדי לראות את המכסה, משתמשים בפקודה הבאה:

gcloud alpha services quota list \
    --service=compute.googleapis.com \
    --consumer=projects/PROJECT_ID

מחליפים את PROJECT_ID במזהה הפרויקט שאת המכסה שלו רוצים לראות.

שיטות מומלצות

רשימת המשימות הבאה מסכמת את השיטות המומלצות לצמצום השגיאות שקשורות למגבלת הפעולות המקבילות:

המאמרים הבאים