Località di Cloud Functions

Cloud Functions è regionale, il che significa che l'infrastruttura che esegue una Cloud Function 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 funzioni Cloud Functions, le tue considerazioni principali devono essere latenza e disponibilità. Generalmente, puoi selezionare la regione più vicina agli utenti della funzione Cloud Function, ma devi considerare anche la località degli altri prodotti e servizi Google Cloud utilizzati dalla tua app. L'utilizzo di servizi in più località può influire sulla latenza dell'app e sui pricing.

Le regioni disponibili per Cloud Functions sono elencate di seguito. Le diverse versioni di Cloud Functions hanno una disponibilità regionale diversa. Vedi la colonna "Versioni di prodotto supportate" nelle tabelle.

Prezzi per il livello 1

Cloud Functions è disponibile nelle seguenti regioni con prezzi di Livello 1:

Regione Località Versioni del prodotto supportate Emissioni di CO2
asia-east1 Taiwan 1ª generazione, 2ª generazione.
asia-east2 Hong Kong 1ª generazione
asia-northeast1 Tokyo 1ª generazione, 2ª generazione.
asia-northeast2 Osaka 1ª generazione, 2ª generazione.
europe-north1 Finlandia 2ª generazione icona foglia A basse emissioni di CO2
europe-southwest1 Madrid 2ª generazione
europe-west1 Belgio 1ª generazione, 2ª generazione. icona foglia A basse emissioni di CO2
europe-west2 Londra 1ª generazione
europe-west4 Paesi Bassi 2ª generazione
europe-west8 Milano 2ª generazione
europe-west9 Parigi 2ª generazione icona foglia A basse emissioni di CO2
me-west1 Tel Aviv 2ª generazione
us-central1 Iowa 1ª generazione, 2ª generazione. icona foglia A basse emissioni di CO2
us-east1 Carolina del Sud 1ª generazione, 2ª generazione.
us-east4 Virginia del Nord 1ª generazione, 2ª generazione.
us-east5 Columbus 2ª generazione
us-south1 Dallas 2ª generazione
us-west1 Oregon 1ª generazione, 2ª generazione. icona foglia A basse emissioni di CO2

Prezzi per il livello 2

Cloud Functions è disponibile nelle seguenti regioni con prezzi di livello 2:

Regione Località Versioni del prodotto supportate Emissioni di CO2
asia-east2 Hong Kong 2ª generazione
asia-northeast3 Seul 1ª generazione, 2ª generazione.
asia-southeast1 Singapore 1ª generazione, 2ª generazione.
asia-southeast2 Giacarta 1ª generazione, 2ª generazione.
asia-south1 Mumbai 1ª generazione, 2ª generazione.
asia-south2 Delhi, India 2ª generazione
australia-southeast1 Sydney 1ª generazione, 2ª generazione.
australia-southeast2 Melbourne 2ª generazione
europe-central2 Varsavia 1ª generazione, 2ª generazione.
europe-west2 Londra 2ª generazione
europe-west3 Francoforte 1ª generazione, 2ª generazione. icona foglia A basse emissioni di CO2
europe-west6 Zurigo 1ª generazione, 2ª generazione. icona foglia A basse emissioni di CO2
europe-west10 Berlino 2ª generazione
europe-west12 Torino 2ª generazione
me-central1 Doha 2ª generazione
me-central2 Dammam 2ª generazione
northamerica-northeast1 Montreal 1ª generazione, 2ª generazione. icona foglia A basse emissioni di CO2
northamerica-northeast2 Toronto 2ª generazione icona foglia A basse emissioni di CO2
southamerica-east1 San Paolo 1ª generazione, 2ª generazione. icona foglia A basse emissioni di CO2
southamerica-west1 Santiago, Cile 2ª generazione
us-west2 Los Angeles 1ª generazione, 2ª generazione.
us-west3 Salt Lake City 1ª generazione, 2ª generazione.
us-west4 Las Vegas 1ª generazione, 2ª generazione.

Selezione della 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 FUNCTION_NAME --region=REGION ...

Dove REGION si trova in 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 di Cloud Functions.

    Vai alla pagina Panoramica di Cloud Functions

    Assicurati che sia selezionato il progetto per il quale hai abilitato Cloud Functions.

  2. Fai clic su Crea funzione.

  3. Nel campo Regione, seleziona una regione.

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

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

Impostazione di una regione predefinita

Puoi impostare una regione predefinita utilizzando Google Cloud CLI come segue:

gcloud config set functions/region REGION

Ad esempio:

gcloud config set functions/region europe-west1

Residenza dei dati

Cloud Functions offre una garanzia di residenza dei dati nell'ambito di esecuzione della funzione (Conformità di ambito A, esecuzione della funzione), in cui una determinata funzione fornisce la residenza dei dati per la chiamata/esecuzione della funzione.

Questa conformità si applica sia alle funzioni HTTP sia alle funzioni basate su eventi. Per le funzioni basate su eventi, Cloud Functions è conforme alla residenza dei dati dal momento in cui il prodotto upstream (che attiva il prodotto) consegna l'evento a Cloud Functions. Di conseguenza, è importante garantire che il prodotto upstream (come Cloud Storage o Pub/Sub) sia conforme alla residenza dei dati.

Best practice per la modifica della regione

Se devi modificare una regione in cui viene eseguito il deployment di una funzione, segui i suggerimenti riportati di seguito.

Funzioni HTTP

Per le funzioni HTTP, ti consigliamo innanzitutto di eseguire nuovamente il deployment della funzione HTTP nella regione di destinazione (può avere lo stesso nome) e poi di modificare la funzione originale in modo che reindirizzi la sua 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 eseguire il proxy della 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 clienti chiamino la nuova funzione.

Funzioni basate su eventi

Le funzioni basate su eventi adottano una semantica di distribuzione degli eventi atleast-once, il che significa che in alcune circostanze possono ricevere eventi duplicati, pertanto devono essere sempre implementate in modo che siano idempotenti. Se la funzione è già idempotente, puoi semplicemente eseguire nuovamente il deployment della funzione nella nuova regione con lo stesso trigger di evento e rimuovere la funzione precedente dopo aver verificato che la nuova funzione stia ricevendo correttamente il traffico. Durante questa transizione, entrambe le funzioni riceveranno degli eventi.

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