Località delle funzioni Cloud Run
Le funzioni Cloud Run sono regionali, il che significa che l'infrastruttura che esegue una funzione Cloud Run si trova in una regione specifica ed è gestita da Google in modo da essere disponibile in modo ridondante in tutte le zone all'interno di quella regione.
Quando selezioni una regione in cui eseguire le funzioni Cloud Run, 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 Google Cloud utilizzati dalla tua app. 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. Consulta la colonna "Versioni dei prodotti supportate" nelle tabelle.
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-northeast1 |
Tokyo | |
asia-northeast2 |
Osaka | |
europe-north1 |
Finlandia | Bassi livelli di CO2 |
europe-southwest1 |
Madrid | |
europe-west1 |
Belgio | Bassi livelli di CO2 |
europe-west4 |
Paesi Bassi | |
europe-west8 |
Milano | |
europe-west9 |
Parigi | Bassi livelli di CO2 |
me-west1 |
Tel Aviv | |
us-central1 |
Iowa | Bassi livelli di CO2 |
us-east1 |
Carolina del Sud | |
us-east4 |
Virginia del Nord | |
us-east5 |
Columbus | |
us-south1 |
Dallas | |
us-west1 |
Oregon | Bassi livelli di CO2 |
Prezzi di Livello 2
Le funzioni Cloud Run sono disponibili nelle seguenti regioni con prezzi del livello 2:
Regione | Località | Emissioni di CO2 |
---|---|---|
asia-east2 |
Hong Kong | |
asia-northeast3 |
Seul | |
asia-southeast1 |
Singapore | |
asia-southeast2 |
Giacarta | |
asia-south1 |
Mumbai | |
asia-south2 |
Delhi, India | |
australia-southeast1 |
Sydney | |
australia-southeast2 |
Melbourne | |
europe-central2 |
Varsavia | |
europe-west2 |
Londra | |
europe-west3 |
Francoforte | Bassi livelli di CO2 |
europe-west6 |
Zurigo | Bassi livelli di CO2 |
europe-west10 |
Berlino | |
europe-west12 |
Torino | |
me-central1 |
Doha | |
me-central2 |
Dammam | |
northamerica-northeast1 |
Montreal | Bassi livelli di CO2 |
northamerica-northeast2 |
Toronto | Bassi livelli di CO2 |
southamerica-east1 |
San Paolo | Bassi livelli di CO2 |
southamerica-west1 |
Santiago, Cile | |
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 FUNCTION_NAME --region=REGION ...
dove REGION
è una delle regioni sopra elencate.
Console
Se utilizzi la console Google Cloud, puoi selezionare la regione quando crei ed esegui il deployment di una funzione.
Nella console Google Cloud, vai alla pagina Panoramica delle funzioni Cloud Run.
Vai alla pagina Panoramica di Cloud Run Functions
Assicurati che sia selezionato il progetto per cui hai attivato le funzioni Cloud Run.
Fai clic su Crea funzione.
Nel campo Regione, seleziona una regione.
Puoi eseguire il deployment di funzioni in regioni diverse 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 determinato progetto devono avere nomi univoci (sensibili alle maiuscole), ma le funzioni in più regioni o in più 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
Le funzioni Cloud Run forniscono una garanzia di residenza dei dati nell'ambito dell'esecuzione della funzione (conformità allo Spazio A: esecuzione della funzione), in cui una determinata funzione garantisce la residenza dei dati per l'invocazione/l'esecuzione della funzione.
Questa conformità si applica sia alle funzioni HTTP sia alle funzioni basate su eventi. Per le funzioni basate su eventi, le funzioni Cloud Run sono conformi alla residenza dei dati dal momento in cui il prodotto a monte (prodotto di attivazione) invia l'evento alle funzioni Cloud Run. Di conseguenza, è importante assicurarsi che il prodotto di upstream (come Cloud Storage o Pub/Sub) sia conforme alla residenza dei dati.
Best practice per cambiare regione
Se devi modificare una regione in cui è dispiegamento una funzione, segui i consigli riportati di seguito.
Funzioni HTTP
Per le funzioni HTTP, ti consigliamo di eseguire prima il redeployment della funzione HTTP nella regione di destinazione (che può avere lo stesso nome) e poi di modificare la funzione originale per reindirizzare la relativa 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 client chiamino la nuova funzione.
Funzioni basate su eventi
Le funzioni basate su eventi adottano una semantica di invio di eventi almeno una volta, il che significa che in alcune circostanze possono ricevere eventi duplicati e pertanto devono essere sempre implementate in modo da essere idempotenti. Se la funzione è già idempotente, puoi semplicemente reimplementarla nella nuova regione con lo stesso attivatore evento e rimuovere la vecchia funzione dopo aver verificato che la nuova funzione riceva correttamente il traffico. Durante questa transizione, entrambe le funzioni riceveranno eventi.
Se la tua funzione non è attualmente idempotente o se la sua idempotenza non si estende oltre la regione, ti consigliamo di implementare prima l'idempotenza prima di spostare la funzione.