Località di Cloud Run Functions (1ª generazione.)

Cloud Run Functions è regionale, il che significa che l'infrastruttura che esegue una funzione Cloud Run si trova in una regione specifica ed è gestita da Google per essere disponibile in modo ridondante in tutte le zone all'interno di quella regione.

Quando selezioni una regione in cui eseguire le tue Cloud Run Functions, le considerazioni principali devono essere la latenza e la disponibilità. In genere puoi selezionare la regione più vicina agli utenti della tua funzione Cloud Run, ma devi anche considerare la posizione degli altri prodotti e servizi che la tua app utilizza. Google Cloud L'utilizzo di servizi in più località può influire sulla latenza della tua app, nonché sui prezzi.

Di seguito sono elencate le regioni disponibili per le funzioni Cloud Run. Le diverse versioni delle funzioni Cloud Run hanno una disponibilità regionale diversa.

Prezzi di Livello 1

Le funzioni Cloud Run sono disponibili nelle seguenti regioni con prezzi per il livello 1:

Regione Località Emissioni di CO2
asia-east1 Taiwan
asia-east2 Hong Kong
asia-northeast1 Tokyo
asia-northeast2 Osaka
europe-west1 Belgio icona foglia Bassi livelli di CO2
europe-west2 Londra
us-central1 Iowa icona foglia Bassi livelli di CO2
us-east1 Carolina del Sud
us-east4 Virginia del Nord
us-west1 Oregon icona foglia Bassi livelli di CO2

Prezzi di Livello 2

Le funzioni Cloud Run sono disponibili nelle seguenti regioni con prezzi per il livello 2:

Regione Località Emissioni di CO2
asia-northeast3 Seul
asia-southeast1 Singapore
asia-southeast2 Giacarta
asia-south1 Mumbai
australia-southeast1 Sydney
europe-central2 Varsavia
europe-west3 Francoforte
europe-west6 Zurigo icona foglia Bassi livelli di CO2
northamerica-northeast1 Montreal icona foglia Bassi livelli di CO2
southamerica-east1 San Paolo icona foglia Bassi livelli di CO2
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Seleziona la regione

Puoi selezionare una regione per la tua funzione durante il deployment.

gcloud

Se utilizzi Google Cloud CLI, puoi specificare la regione utilizzando il flag --region:

gcloud functions deploy --no-gen2 FUNCTION_NAME --region=REGION ...

Dove REGION è una delle regioni elencate sopra.

Console

Se utilizzi la console Google Cloud , puoi selezionare la regione quando crei ed esegui il deployment di una funzione.

  1. Nella console Google Cloud , vai alla pagina Panoramica delle funzioni di Cloud Run.

    Vai alla pagina Panoramica di Cloud Run Functions

    Assicurati che sia selezionato il progetto per il quale hai attivato le funzioni Cloud Run.

  2. Fai clic su Crea funzione.

  3. Nel campo Regione, seleziona una regione.

Puoi eseguire il deployment delle funzioni in regioni diverse all'interno di un progetto, ma una volta selezionata la regione per una funzione, non può essere modificata.

Le funzioni in una determinata regione di un determinato progetto devono avere nomi univoci (con distinzione tra maiuscole e minuscole), ma le funzioni in regioni o progetti diversi possono condividere lo stesso nome.

Impostare una regione predefinita

Puoi impostare una regione predefinita utilizzando Google Cloud CLI nel seguente modo:

gcloud config set functions/region REGION

Ad esempio:

gcloud config set functions/region europe-west1

Residenza dei dati

Cloud Run Functions fornisce una garanzia di residenza dei dati nell'ambito di esecuzione della funzione (conformità all'ambito A: esecuzione della funzione), in cui una determinata funzione prevede la residenza dei dati per l'invocazione/esecuzione della funzione.

Questa conformità si applica sia alle funzioni HTTP sia alle funzioni basate su eventi. Per le funzioni basate sugli eventi, Cloud Run Functions è conforme alla residenza dei dati dal momento in cui il prodotto upstream (prodotto di attivazione) invia l'evento a Cloud Run Functions. Pertanto, è importante assicurarsi che il prodotto upstream (come Cloud Storage o Pub/Sub) sia conforme alla residenza dei dati.

Best practice per il cambio di regione

Se devi modificare una regione in cui è implementata una funzione, segui i suggerimenti riportati di seguito.

Funzioni HTTP

Per le funzioni HTTP, ti consigliamo di eseguire prima di nuovo il deployment della funzione HTTP nella regione di destinazione (può avere lo stesso nome), quindi di modificare la funzione originale per reindirizzare la richiesta HTTP alla nuova funzione. Se i client della tua funzione HTTP supportano i reindirizzamenti, puoi semplicemente modificare la funzione originale in modo che restituisca uno stato di reindirizzamento HTTP (301) insieme all'URL della nuova funzione. Se i tuoi client non gestiscono bene i reindirizzamenti, puoi proxy la richiesta dalla funzione originale alla nuova funzione avviando una nuova richiesta dalla funzione originale alla nuova funzione. Il passaggio finale consiste nel verificare che tutti i client chiamino la nuova funzione.

Funzioni basate su eventi

Le funzioni basate su eventi adottano una semantica di distribuzione degli eventi almeno una volta, il che significa che in alcune circostanze possono ricevere eventi duplicati e quindi devono sempre essere implementate in modo da essere idempotenti. Se la tua funzione è già idempotente, puoi semplicemente eseguirne nuovamente il deployment nella nuova regione con lo stesso trigger di eventi e rimuovere la vecchia funzione dopo aver verificato che la nuova funzione riceve correttamente il traffico. Durante questa transizione, entrambe le funzioni riceveranno eventi.

Se la tua funzione non è attualmente idempotente o la sua idempotenza non si estende oltre la regione, ti consigliamo di implementare prima l'idempotenza prima di spostare la funzione.