Panoramica dell'API Cloud Quotas

L'API Cloud Quotas ti consente di modificare in modo programmatico le quote a livello di progetto e di automatizzare le richieste di adeguamento delle quote a livello di progetto. Ad esempio, puoi utilizzare l'API Cloud Quotas per:

  • Automatizza gli aggiustamenti delle quote: puoi utilizzare l'API Cloud Quotas per richiedere aggiustamenti delle quote in base ai tuoi criteri. Ad esempio, per evitare errori di quota superata, puoi utilizzare l'API per richiedere programmaticamente un aggiustamento della quota quando le risorse Compute Engine raggiungono l'80% della quota disponibile.

  • Riutilizza le configurazioni delle quote tra i progetti: l'API Cloud Quotas può clonare le configurazioni delle quote da un progetto all'altro. Se esiste un insieme noto di quote che devono essere aumentate per ogni nuovo progetto Google Cloud, puoi utilizzare l'API Cloud Quotas per automatizzare questa operazione nella logica di creazione del progetto. Le richieste di adeguamento delle quote sono soggette all'approvazione di Google Cloud.

  • Gestire le richieste di quota dei clienti: se sei un fornitore SaaS integrato con Google Cloud, potresti ricevere richieste di aumento della quota tramite un portale rivolto ai clienti diverso dalla console Google Cloud. Queste richieste devono essere inoltrate a Google Cloud per l'elaborazione. L'API Cloud Quotas può inoltrare automaticamente le richieste dei clienti.

  • Abilita il controllo della versione della configurazione del client: l'API Cloud Quotas è declarative. Puoi trattare le configurazioni delle quote come codice e archiviarle nel tuo sistema con controllo della versione per la cronologia e il rollback.

Limitazioni

Le quote Cloud presentano le seguenti limitazioni:

  • Nella maggior parte dei casi, gli aggiustamenti per l'aumento della quota devono essere apportati a livello di progetto. Un numero limitato di prodotti supporta gli aggiustamenti dell'aumento della quota a livello di organizzazione. Per sapere se un prodotto Google Cloud supporta gli aggiustamenti dell'aumento della quota a livello di organizzazione, consulta la documentazione relativa al prodotto.

  • Puoi richiedere aggiustamenti di riduzione delle quote per le quote a livello di progetto, organizzazione e cartella.

  • L'API Cloud Quotas supporta solo le operazioni a livello di progetto. Le operazioni a livello di cartella e di organizzazione non sono supportate.

  • Nella console Google Cloud, la pagina Quote e limiti di sistema non supporta la selezione di regioni o zone per le richieste di aggiustamento delle quote dal pulsante Modifica. Per modificare le quote a livello regionale o zonale nella console Google Cloud, consulta le istruzioni su come richiedere una quota più alta.

Endpoint di servizio

L'endpoint di servizio è un URL di base che specifica l'indirizzo di rete di un servizio API. Un servizio può avere più endpoint. Il servizio API Cloud Quotas ha il seguente endpoint e tutti gli URI sono relativi a questo:

https://cloudquotas.googleapis.com

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per accedere alle risorse cloudquotas_quotaPreferences e cloudquotas_quotaInfos, chiedi all'amministratore di concederti il ruolo IAM Amministratore delle quote Cloud (cloudquotas.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per accedere alle risorse cloudquotas_quotaPreferences e cloudquotas_quotaInfos. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per accedere alle risorse cloudquotas_quotaPreferences e cloudquotas_quotaInfos sono necessarie le seguenti autorizzazioni:

  • cloudquotas.quotas.update
  • cloudquotas.quotas.get
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Modello di risorse API

Il modello di risorse dell'API Cloud Quotas è costituito da due risorse:QuotaPreference e QuotaInfo.

Preferenza quota

La risorsa QuotaPreference rappresenta la tua preferenza per la quota per una determinata combinazione di dimensioni. Utilizza questa risorsa per modificare le quote nei progetti, nelle cartelle o nelle organizzazioni.

Impostare un valore preferito per una regione

L'esempio seguente mostra una risorsa QuotaPreference in un metodo CreateQuotaPreference.

{
    "service": "compute.googleapis.com",
    "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region",
    "quotaConfig": {
        "preferredValue": 100
    },
    "dimensions": {
        "region": "us-central1"
    }
}

Il valore preferredValue pari a 100 indica che il richiedente vuole che la quota GPUS-PER-GPU-FAMILY-per-project-region sia impostata su quel valore. Il campo delle dimensioni indica che la preferenza si applica solo alla regione us-central1.

Verificare il valore concesso

L'esempio seguente mostra una risorsa QuotaPreference in un metodo GetQuotaPreference.

{
    "name": "projects/PROJECT_NUMBER/locations/global/quotaPreferences/compute_googleapis_com-gpus-us-central1",
    "service": "compute.googleapis.com",
    "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region",
    "quotaConfig": {
        "preferredValue": 100,
        "grantedValue": 100,
        "traceId": "123acd-345df23",
        "requestOrigin": "ORIGIN_UNSPECIFIED"
    },
    "dimensions": {
        "region": "us-central1"
    },
    "createTime": "2023-01-15T01:30:15.01Z",
    "updateTime": "2023-01-16T02:35:16.01Z"
}

Questo output include i seguenti valori:

  • PROJECT_NUMBER: un identificatore unico generato automaticamente per il progetto.

La risposta mostra un valore grantedValue pari a 100, il che significa che il preferredValue dell'esempio precedente è stato approvato e soddisfatto. Le preferenze per dimensioni diverse sono risorse QuotaPreference diverse. Ad esempio, QuotaPreference per la CPU nelle regioni us-central1 e us-east1 sono due risorse distinte.

La preferenza per le quote è obbligatoria

Le risorse QuotaPreference vengono utilizzate per indicare il valore preferito per una quota specifica. Il valore corrente di una determinata quota si basa su:

  • QuotaPreference richieste da te.

  • Richieste di aumento della quota approvate da Google Cloud.

  • Modifiche alle quote avviate da Google Cloud.

La possibilità di eliminare un QuotaPreference non è supportata. Tuttavia, puoi impostare un valore di quota preferito inferiore a quello approvato da Google Cloud per aggiungere ulteriori barriere di sicurezza.

Per ulteriori informazioni sulla risorsa QuotaPreference, consulta la documentazione di riferimento dell'API Cloud Quotas.

Per ulteriori informazioni sulle query QuotaPreference, consulta Implementare casi d'uso comuni.

Informazioni sulla quota

QuotaInfo è una risorsa di sola lettura che fornisce informazioni su una determinata quota per un determinato progetto, una cartella o organizzazioni. Mostra le informazioni relative alle quote definite dai servizi Google Cloud e a eventuali aggiustamenti delle quote soddisfatte avviati dai clienti. La risorsa QuotaInfo contiene informazioni come metadati, tipo di contenitore e dimensione.

Impostare valori di quota diversi per regione

Il seguente esempio di risorsa QuotaInfo mostra che la quota CPU per il progetto è pari a 200 per la regione us-central1 e a 100 per tutte le altre regioni.

{
    "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/CPUS-per-project-region",
    "quotaId": "CPUS-per-project-region",
    "metric": "compute.googleapis.com/cpus",
    "containerType": "PROJECT",
    "dimensions": [
        "region"
    ],
    "isPrecise": true,
    "quotaDisplayName": "CPUs per project per region",
    "metricDisplayName": "CPUs",
    "dimensionsInfo": [
        {
            "dimensions": {
                "region": "us-central1"
            },
            "details": {
                "quotaValue": 200,
                "resetValue": 200
            },
            "applicableLocations": [
                "us-central1",
            ]
        },
        {
            "details": {
                "quotaValue": 100,
                "resetValue": 100
            },
            "applicableLocations": [
                "us-central2",
                "us-west1",
                "us-east1"
            ]
        }
    ]
}

Questo output include i seguenti valori:

  • PROJECT_NUMBER: un identificatore unico generato automaticamente per il progetto.

Impostare una quota globale

Il seguente esempio di risorsa QuotaInfo mostra una quota tariffaria con un intervallo di aggiornamento minuto. Le dimensioni sono vuote, il che indica che si tratta di una quota globale. Tutte le quote senza una dimensione di regione o zona sono globali.

{
    "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/ReadRequestsPerMinutePerProject",
    "quotaId": "ReadRequestsPerMinutePerProject",
    "metric": "compute.googleapis.com/read_requests",
    "refreshInterval": "minute",
    "containerType": "PROJECT",
    "dimensions": [],
    "isPrecise": false,
    "quotaDisplayName": "Read Requests per Minute",
    "metricDisplayName": "Read Requests",
    "dimensionsInfo": [
        {
            "details": {
                "quotaValue": 100,
                "resetValue": 200
            },
            "applicableLocations": [
                "global"
            ]
        }
    ]
}

Questo output include i seguenti valori:

  • PROJECT_NUMBER: un identificatore unico generato automaticamente per il progetto.

Per ulteriori dettagli sulla risorsa QuotaInfo, consulta la documentazione di riferimento dell'API Cloud Quotas.

Per ulteriori dettagli sulle query QuotaPreference, consulta Implementare casi d'uso comuni.

Nomi delle risorse

Le risorse sono entità denominate e sono identificate dai relativi nomi. I nomi delle risorse vengono utilizzati in tutte le richieste e le risposte e ogni risorsa deve avere un nome univoco. Ogni nome della risorsa è codificato da un insieme di campi.

Risorsa preferenza quota

La convenzione di denominazione per una risorsa QuotaPreference utilizza il seguente pattern:

projects/PROJECT_NUMBER/locations/global/quotaPreferences/QUOTA_PREFERENCE_ID

Puoi impostare quotaPreferenceId quando crei una preferenza di quota, altrimenti viene generato un ID. È consigliabile che uno schema di denominazione quotaPreferenceId codifichi il nome del servizio, l'ID quota, la località e altre dimensioni. quotaPreferenceId deve essere univoco per il progetto, la cartella o le organizzazioni.

Ad esempio, quotaPreference un pattern per codificare l'ID preferenza quota è il seguente:

SERVICE_LOCATION_DIMENSION1-VALUES-IN-ORDER

L'esempio seguente mostra questo pattern:

compute_us-central1_nvidia-200

Con un nome della risorsa, devi utilizzare il metodo GET per recuperare un QuotaPreference. Puoi anche chiamare il metodo UPDATE con l'opzione allow_missing attivata per creare o aggiornare un QuotaPreference.

Risorsa di informazioni sulla quota

La convenzione di denominazione per una risorsa QuotaInfo utilizza il seguente pattern:

projects/PROJECT_NUMBER/locations/global/services/SERVICE_NAME/quotaInfos/QUOTA_ID

Passaggi successivi