Località di Cloud Run Functions (1ª gen.)
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 Cloud Run Functions, le considerazioni principali devono essere la latenza e la disponibilità. In genere puoi selezionare la regione più vicina agli utenti della funzione Cloud Run, ma devi anche considerare la posizione degli altri prodotti e servizi Google Cloud utilizzati dall'app. L'utilizzo di servizi in più località può influire sulla latenza dell'app, nonché sui prezzi.
Di seguito sono elencate le regioni disponibili per Cloud Run Functions. Le diverse versioni di Cloud Run Functions hanno una disponibilità regionale diversa.
Prezzi del livello 1
Cloud Run Functions è disponibile nelle seguenti regioni con prezzi del livello 1:
| Regione | Località | Emissioni di CO2 |
|---|---|---|
asia-east1 |
Taiwan | |
asia-east2 |
Hong Kong | |
asia-northeast1 |
Tokyo | |
asia-northeast2 |
Osaka | |
europe-west1 |
Belgio |
|
europe-west2 |
Londra | |
us-central1 |
Iowa |
|
us-east1 |
Carolina del Sud | |
us-east4 |
Virginia del Nord | |
us-west1 |
Oregon |
|
Prezzi del livello 2
Cloud Run Functions è disponibile nelle seguenti regioni con prezzi del 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 |
|
northamerica-northeast1 |
Montreal |
|
southamerica-east1 |
San Paolo |
|
us-west2 |
Los Angeles | |
us-west3 |
Salt Lake City | |
us-west4 |
Las Vegas |
Seleziona la regione
Puoi selezionare una regione per la 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 una funzione e ne esegui il deployment.
Nella console Google Cloud , vai alla pagina Panoramica di Cloud Run Functions.
Vai alla pagina Panoramica di Cloud Run Functions
Assicurati che sia selezionato il progetto per il quale hai attivato Cloud Run Functions.
Fai clic su Crea funzione.
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 progetto specifico devono avere nomi univoci (sensibili alle maiuscole), ma le funzioni in regioni o progetti diversi possono condividere lo stesso nome.
Impostazione di 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 delle funzioni (conformità all'ambito A: esecuzione della funzione), in cui una determinata funzione prevede la residenza dei dati per la chiamata o l'esecuzione della funzione.
Questa conformità si applica sia alle funzioni HTTP sia alle funzioni basate su eventi. Per queste ultime, Cloud Run Functions è conforme alla residenza dei dati dal momento in cui il prodotto upstream (prodotto di trigger) invia l'evento a Cloud Run Functions. È perciò 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 rieseguire il deployment della funzione HTTP
nella regione di destinazione (può avere lo stesso nome), per poi modificare la funzione originale
in modo da reindirizzare la richiesta HTTP alla nuova funzione. Se i client della
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 client non gestiscono bene i reindirizzamenti, puoi delegare la
richiesta dalla funzione originale alla nuova funzione avviando una nuova
richiesta dalla funzione originale alla nuova funzione. Il passaggio finale consiste
nell'assicurarsi 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 funzione è già idempotente, basta rieseguirne il deployment nella nuova regione con lo stesso trigger di eventi e rimuovere la vecchia funzione, dopo aver verificato che quella nuova riceve correttamente il traffico. Durante questa transizione, entrambe le funzioni riceveranno eventi.
Se la funzione non è attualmente idempotente o la sua idempotenza non si estende oltre la regione, ti consigliamo di implementare l'idempotenza prima di spostare la funzione.