La regione Dataflow archivia e gestisce i metadati relativi al tuo job Dataflow ed esegue il deployment e il controllo dei tuoi worker Dataflow.
I nomi delle regioni seguono una convenzione standard basata sui
nomi delle regioni di Compute Engine.
Ad esempio, il nome della regione Stati Uniti centrali è us-central1
.
Questa funzionalità è disponibile in tutte le regioni in cui è supportato Dataflow. Per conoscere le località disponibili, consulta le località di Dataflow.
Linee guida per la scelta di una regione
Utilizza le seguenti linee guida per scegliere una regione appropriata per il tuo job.
Sicurezza e conformità
Potresti dover limitare l'elaborazione dei job Dataflow a una regione geografica specifica per supportare 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 di rete eseguendo un job Dataflow dalla stessa regione delle relative origini, sink, posizioni dei file di staging e posizioni dei file temporanei. Se utilizzi origini, destinazioni, posizioni dei file di staging o posizioni dei file temporanei che si trovano al di fuori della regione del job, i tuoi dati potrebbero essere inviati tra regioni diverse.
Durante l'esecuzione di una pipeline, i dati utente vengono gestiti solo dal pool di worker Dataflow e il movimento dei dati è limitato ai percorsi di rete che collegano i worker Dataflow nel pool.
Sebbene i dati utente vengano gestiti rigorosamente dai worker Dataflow nella regione geografica assegnata, i messaggi di log della pipeline vengono archiviati in Cloud Logging, che ha una sola presenza globale inGoogle Cloud.
Se hai bisogno di un maggiore controllo sulla posizione dei messaggi di log della pipeline, puoi:
- Crea un filtro di esclusione
per il sink del router dei log
_Default
per impedire l'esportazione dei log Dataflow nel bucket dei log_Default
. - Crea un bucket di log nella regione che preferisci.
- Configura un nuovo sink del router di log che esporti i log di Dataflow nel nuovo bucket di log.
Per scoprire di più sulla configurazione del logging, consulta Panoramica su routing e archiviazione e Panoramica del routing dei log.
Note sulle origini comuni dei job Dataflow:
- 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 vengono pubblicati nell'endpoint Pub/Sub globale, vengono archiviati nella regione Google Cloud più vicina. Tuttavia, puoi modificare il criterio di archiviazione degli argomenti in una regione o in un insieme di regioni specifici. Analogamente, gli argomenti Pub/Sub Lite supportano solo lo spazio di archiviazione a livello di zona.
Resilienza e separazione geografica
Potresti voler isolare le normali operazioni di Dataflow dalle interruzioni che potrebbero verificarsi in altre regioni geografiche. In alternativa, potresti dover pianificare siti alternativi per la continuità aziendale in caso di disastro a livello regionale.
Nei tuoi piani di ripristino di emergenza e continuità operativa, ti consigliamo di includere i dettagli delle origini e dei sink utilizzati con i tuoi job Dataflow. Il team di vendita può aiutarti a soddisfare i requisiti.Google Cloud
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:
- Maggiore disponibilità delle risorse: i job Dataflow sono più resilienti agli errori di disponibilità delle risorse a livello di zona, perché i worker possono continuare a essere creati in altre zone con disponibilità rimanente.
- Affidabilità migliorata: 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 regionale.
- Il posizionamento regionale si applica solo alle VM e non alle risorse di backend.
- Le VM non vengono replicate in più zone. Se una VM non è più disponibile, ad esempio, i relativi elementi di lavoro vengono considerati persi e vengono rielaborati da un'altra VM.
- Se si verifica un esaurimento delle scorte a livello regionale, il servizio Dataflow non può creare altre VM.
- Se si verifica un esaurimento delle scorte a livello di zona in una o più zone della regione configurata, il servizio Dataflow potrebbe non riuscire ad avviare un job.
Visualizzare le zone di risorse di lavoro
I job Dataflow dipendono dalle risorse interne. Alcune di queste risorse di job di backend sono zonali. Se una singola zona ha esito negativo e una risorsa di zona necessaria per il job Dataflow si trova in quella zona, il job potrebbe non riuscire.
Per capire se un job non è andato a buon fine a causa di un'interruzione zonale, esamina le zone di servizio utilizzate dalle risorse di backend del job. Questa funzionalità è disponibile solo per i job di Streaming Engine.
Per visualizzare le zone di servizio nella consoleGoogle Cloud , utilizza il campo Zone di servizio nel riquadro Informazioni sul job.
Per utilizzare l'API per esaminare le zone di servizio, utilizza il campo
ServiceResources
.
I valori in questo campo vengono aggiornati per tutta la durata del job, perché le risorse utilizzate dal job cambiano durante l'esecuzione.
Posizionamento automatico della zona
Per i job non supportati per il posizionamento regionale, la zona migliore all'interno della regione viene selezionata automaticamente in base alla capacità della zona disponibile al momento della richiesta di creazione del job. La selezione automatica della zona consente di garantire che i worker del job vengano eseguiti nella zona migliore per il tuo job.
Poiché il job è configurato per essere eseguito in una singola zona, l'operazione potrebbe non riuscire
con un errore di
disponibilità delle risorse di zona
se non sono disponibili risorse di Compute Engine sufficienti.
Se si verifica un esaurimento delle scorte in una regione, potresti visualizzare un errore
ZONE_RESOURCE_POOL_EXHAUSTED
. Puoi implementare un ciclo di nuovi tentativi per avviare il job quando le risorse sono
disponibili.
Inoltre, quando una zona non è disponibile, anche il backend di streaming può diventare non disponibile, il che potrebbe comportare la perdita di dati.
Specifica una regione
Per specificare una regione per il job, imposta l'opzione --region
su una delle regioni supportate.
L'opzione --region
sostituisce la regione predefinita impostata nel server di metadati, nel client locale o nelle variabili di ambiente.
L'interfaccia a riga di comando Dataflow
supporta anche l'opzione --region
per specificare le regioni.
Eseguire l'override della regione o della zona del lavoratore
Per impostazione predefinita, quando invii un job con l'opzione --region
,
i worker vengono assegnati automaticamente
alle zone 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 tuo job Dataflow vengano eseguiti rigorosamente in una zona specifica, puoi specificare la zona utilizzando la seguente opzione pipeline. Questo pattern di utilizzo è insolito per i job Dataflow.
Questa opzione controlla solo la zona utilizzata per i worker Dataflow. ma non si applica alle risorse di backend. Le risorse di backend potrebbero essere create in qualsiasi zona all'interno della regione del job.
Java
--workerZone
Python
--worker_zone
Vai
--worker_zone
Per tutti gli altri casi, non consigliamo di ignorare la posizione del lavoratore. La tabella degli scenari comuni contiene consigli sull'utilizzo per queste situazioni.
Poiché il job è configurato per essere eseguito in una singola zona, l'operazione potrebbe non riuscire con un errore di disponibilità delle risorse di zona se non sono disponibili risorse di Compute Engine sufficienti.
Puoi eseguire il comando gcloud compute regions list
per visualizzare un elenco delle
regioni e delle zone disponibili per il deployment dei worker.
Scenari comuni
La seguente tabella contiene consigli sull'utilizzo per scenari comuni.
Scenario | Consiglio |
---|---|
Voglio utilizzare una regione supportata e non ho preferenze per la zona all'interno della regione. In questo caso, la zona migliore viene selezionata automaticamente in base alla capacità disponibile. | Utilizza --region per specificare una regione del job.
In questo modo, Dataflow gestisce il job ed elabora
i dati all'interno della regione specificata. |
Ho bisogno che l'elaborazione dei worker avvenga in una zona specifica di una regione. | Specifica sia --region che --workerZone o
--worker_zone .Utilizza |