Località Cloud Functions (2ª generazione.)
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 tue funzioni Cloud Functions, le tue considerazioni principali devono essere la latenza e la disponibilità. Generalmente puoi selezionare la regione più vicina agli utenti della funzione Cloud Function, ma devi anche considerare 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. Consulta la colonna "Versioni dei prodotti supportate" nelle tabelle.
Prezzi del livello 1
Cloud Functions è disponibile nelle seguenti regioni con prezzi di livello 1:
Regione | Località | Emissioni di CO2 |
---|---|---|
asia-east1 |
Taiwan | |
asia-northeast1 |
Tokyo | |
asia-northeast2 |
Osaka | |
europe-north1 |
Finlandia |
|
europe-southwest1 |
Madrid | |
europe-west1 |
Belgio |
|
europe-west4 |
Paesi Bassi | 2ª generazione |
europe-west8 |
Milano | |
europe-west9 |
Parigi |
|
me-west1 |
Tel Aviv | |
us-central1 |
Iowa |
|
us-east1 |
Carolina del Sud | |
us-east4 |
Virginia del Nord | |
us-east5 |
Columbus | |
us-south1 |
Dallas | |
us-west1 |
Oregon |
|
Prezzi del livello 2
Cloud Functions è disponibile nelle seguenti regioni con prezzi di 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 |
|
europe-west6 |
Zurigo |
|
europe-west10 |
Berlino | |
europe-west12 |
Torino | |
me-central1 |
Doha | |
me-central2 |
Dammam | |
northamerica-northeast1 |
Montreal |
|
northamerica-northeast2 |
Toronto |
|
southamerica-east1 |
San Paolo |
|
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 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 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 Functions.
Vai alla pagina Panoramica di Cloud Functions
Assicurati che il progetto per cui hai abilitato Cloud Functions sia selezionato.
Fai clic su Crea funzione.
Nel campo Regione, seleziona una regione.
Puoi eseguire il deployment delle funzioni in diverse regioni all'interno di un progetto, ma dopo aver selezionato la regione per una funzione, non puoi modificarla.
Le funzioni in una determinata regione in un determinato progetto devono avere nomi univoci (sensibili alle maiuscole), ma le funzioni in regioni o 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 dell'esecuzione della funzione (Conformità ambito A, esecuzione della funzione), in cui una determinata funzione fornisce la residenza dei dati per la chiamata/l'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 (prodotto di attivazione) invia l'evento a Cloud Functions. Pertanto, è importante garantire che il prodotto upstream (come Cloud Storage o Pub/Sub) sia di per sé conforme alla residenza dei dati.
Best practice per cambiare 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 rieseguire il deployment della funzione HTTP nell'area geografica 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 funzione HTTP supportano i reindirizzamenti, puoi semplicemente modificare la funzione originale per restituire uno stato di reindirizzamento HTTP (301
) insieme all'URL della nuova funzione. Se i tuoi client non gestiscono correttamente 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'assicurarti
che tutti i client chiamino la nuova funzione.
Funzioni basate su eventi
Le funzioni basate su eventi adottano una semantica di consegna degli eventi "at-least-once", il che significa che in alcune circostanze possono ricevere eventi duplicati e quindi devono essere sempre implementate per essere idempotenti. Se la tua funzione è già idempotente, puoi semplicemente rieseguire il deployment della funzione nella nuova regione con lo stesso trigger di evento e rimuovere la vecchia funzione dopo aver verificato che la nuova funzione stia ricevendo 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.