Regioni Dataflow

La regione Dataflow archivia e gestisce i metadati relativi al tuo job Dataflow, oltre a eseguire il deployment e il controllo dei worker Dataflow.

I nomi delle regioni seguono una convenzione standard basata sui nomi delle regioni di Compute Engine. Ad esempio, il nome della regione degli Stati Uniti centrali è us-central1.

Questa funzionalità è disponibile in tutte le regioni in cui è supportato Dataflow. Per visualizzare le località disponibili, consulta Località Dataflow.

Linee guida per la scelta di una regione

È obbligatorio specificare una regione in un job Dataflow.

Sicurezza e conformità

Potrebbe essere necessario limitare l'elaborazione dei job di Dataflow a una regione geografica specifica per soddisfare le esigenze di sicurezza e conformità del tuo progetto.

Località dei dati

Puoi ridurre al minimo la latenza di rete e i costi di trasporto della rete eseguendo un job Dataflow dalla stessa regione delle origini, dei sink, delle posizioni dei file temporanei e delle posizioni dei file temporanei. Se utilizzi origini, sink, posizioni dei file temporanei o posizioni dei file temporanei che si trovano all'esterno della regione del job, i dati potrebbero essere inviati tra regioni.

Durante l'esecuzione di una pipeline, i dati utente vengono gestiti solo dal pool di worker Dataflow e lo spostamento dei dati è limitato ai percorsi di rete che connettono i worker Dataflow nel pool.

Sebbene i dati utente vengano gestiti rigorosamente dai worker di Dataflow nella regione geografica loro assegnata, i messaggi di log della pipeline vengono archiviati in Cloud Logging, che ha un'unica presenza globale in Google Cloud.

Se hai bisogno di un maggiore controllo sulla località dei messaggi di log della pipeline, puoi:

  1. Crea un filtro di esclusione per il sink del router dei log _Default per impedire l'esportazione dei log di Dataflow nel bucket di log _Default.
  2. Crea un bucket di log nella regione che preferisci.
  3. Configura un nuovo sink del router dei log che esporta i log di Dataflow nel nuovo bucket di log.

Per saperne di più sulla configurazione del logging, consulta Panoramica del routing e dell'archiviazione e Panoramica del routing dei log.

Note sulle origini dei job Dataflow comuni:

  • Quando utilizzi un bucket Cloud Storage come origine, ti consigliamo di eseguire operazioni di lettura nella stessa regione del bucket.
  • Gli argomenti Pub/Sub, quando pubblicati nell'endpoint Pub/Sub globale, vengono archiviati nella regione Google Cloud più vicina. Tuttavia, puoi modificare il criterio di archiviazione dell'argomento in una specifica regione o un insieme di regioni. Analogamente, gli argomenti Pub/Sub Lite supportano solo l'archiviazione a livello di zona.

Resilienza e separazione geografica

Potrebbe essere opportuno isolare le normali operazioni di Dataflow da interruzioni che potrebbero verificarsi in altre regioni geografiche. In alternativa, potrebbe essere necessario pianificare siti alternativi per la continuità aziendale in caso di emergenza a livello di regione.

Nei tuoi piani di ripristino di emergenza e continuità aziendale, ti consigliamo di incorporare i dettagli per le origini e i sink utilizzati con i job Dataflow. Il team di vendita di Google Cloud può aiutarti a impegnarti per soddisfare i tuoi requisiti.

Posizionamento regionale

Per impostazione predefinita, la regione selezionata configura il pool di worker Dataflow in modo da utilizzare tutte le zone disponibili all'interno della regione. La selezione della zona viene calcolata per ogni worker al momento della creazione, ottimizzando l'acquisizione delle risorse e l'utilizzo delle prenotazioni inutilizzate.

Il posizionamento regionale offre vantaggi quali:

  • Disponibilità delle risorse migliorata: i job Dataflow sono più resistenti agli errori di disponibilità a livello di zona delle risorse, poiché è possibile creare worker in altre zone mantenendo la disponibilità rimanente.
  • Maggiore affidabilità: in caso di errore a livello di zona, i job Dataflow possono continuare a essere eseguiti, perché i worker vengono ricreati in altre zone.

Si applicano le seguenti limitazioni:

  • Il posizionamento regionale è supportato solo per i job che utilizzano Streaming Engine o Dataflow shuffle. I job che hanno disattivato Streaming Engine o Dataflow Shuffle non possono utilizzare il posizionamento a livello di regione.
  • Il posizionamento a livello di regione si applica solo alle VM e non si applica alle risorse correlate a Streaming Engine e Dataflow Shuffle.
  • Le VM non vengono replicate in più zone. Se una VM non è più disponibile, ad esempio, i suoi elementi di lavoro vengono considerati persi e vengono rielaborati da un'altra VM.
  • In caso di disponibilità di magazzino a livello di regione, il servizio Dataflow non può creare altre VM.

Posizionamento automatico della zona

Per i job non supportati per il posizionamento a livello di regione, viene selezionata automaticamente la zona migliore all'interno della regione, in base alla capacità della zona disponibile al momento della richiesta di creazione del job. La selezione automatica della zona aiuta a garantire che i worker del job vengano eseguiti nella zona migliore per il tuo job.

Poiché il job è configurato per l'esecuzione in una singola zona, l'operazione potrebbe non riuscire con un errore di disponibilità a livello di zona delle risorse se non sono disponibili risorse Compute Engine sufficienti.

Specifica una regione

Per specificare una regione per il job, imposta l'opzione --region su una delle regioni supportate. L'opzione --region esegue l'override della regione predefinita impostata nel server di metadati, nel client locale o nelle variabili di ambiente.

L'interfaccia a riga di comando di Dataflow supporta anche l'opzione --region per specificare le regioni.

Esegui l'override della regione o della zona del worker

Per impostazione predefinita, quando invii un job con l'opzione --region, i worker vengono assegnati automaticamente a zone all'interno della regione o alla singola zona migliore all'interno della regione, a seconda del tipo di job.

Nei casi in cui vuoi assicurarti che i worker per il job Dataflow vengano eseguiti rigorosamente in una zona specifica, puoi specificare la zona utilizzando la seguente opzione di pipeline. Questo pattern di utilizzo è raro per i job Dataflow.

Java

--workerZone

Python

--worker_zone

Go

--worker_zone

In tutti gli altri casi, non consigliamo di sostituire la posizione del lavoratore. La tabella degli scenari comuni contiene suggerimenti sull'utilizzo per queste situazioni.

Poiché il job è configurato per l'esecuzione in una singola zona, l'operazione potrebbe non riuscire con un errore di disponibilità a livello di zona delle risorse se non sono disponibili risorse Compute Engine sufficienti.

Puoi eseguire il comando gcloud compute regions list per visualizzare un elenco delle aree geografiche e delle zone disponibili per il deployment dei worker.

Scenari comuni

La tabella seguente contiene suggerimenti sull'utilizzo per scenari comuni.

Scenario Consiglio
Voglio utilizzare una regione supportata e non ho una preferenza di zona all'interno della regione. In questo caso, la zona migliore viene selezionata automaticamente in base alla capacità disponibile. Usa --region per specificare una regione del job. In questo modo, Dataflow gestisce il tuo job ed elabora i dati all'interno della regione specificata.
L'elaborazione dei worker deve avvenire in una zona specifica di una regione. Specifica sia --region sia --workerZone o --worker_zone.

Usa --region per specificare la regione del job. Usa --workerZone o --worker_zone per specificare la zona specifica all'interno della regione.