Regioni Dataflow

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 su 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 conoscere le località disponibili, consulta le località di Dataflow.

Linee guida per la scelta di una regione

Segui le linee guida riportate di seguito 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à di dati

Puoi ridurre al minimo la latenza e i costi di trasporto di rete eseguendo un job Dataflow dalla stessa regione delle origini, delle destinazioni, delle posizioni dei file di staging e delle posizioni dei file temporanei. Se utilizzi origini, destinazioni, posizioni dei file di staging o posizioni dei file temporanei situate al di fuori della regione del tuo job, i dati potrebbero essere inviati tra regioni.

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

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

Se hai bisogno di un maggiore controllo sulla posizione dei messaggi di log della pipeline, puoi procedere nel seguente modo:

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

Per scoprire di più sulla configurazione del logging, consulta la panoramica su routing e archiviazione e la panoramica sul 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.
  • Argomenti Pub/Sub, quando pubblicati in tutto il mondo sono archiviati nella regione Google Cloud più vicina. Tuttavia, puoi modificare il criterio di archiviazione dell'argomento in un criterio una regione o un insieme di regioni. Analogamente, Pub/Sub Lite supportano solo l'archiviazione a livello di zona.

Resilienza e separazione geografica

Potresti voler isolare le normali operazioni Dataflow e che potrebbero verificarsi in altre regioni geografiche. In alternativa, potresti dover pianificare siti alternativi per la continuità aziendale. di una calamità a livello regionale.

Nei tuoi piani di ripristino di emergenza e continuità aziendale, ti consigliamo di includere i dettagli relativi alle fonti e ai sink utilizzati con il tuo di job Dataflow. Il team di vendita di Google Cloud può per aiutarti a soddisfare i 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 delle zone 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ù resiliente a disponibilità delle risorse a livello di zona perché è possibile continuare a creare worker in altre zone con la disponibilità rimanente.
  • Affidabilità migliorata: in caso di errore a livello di zona, Dataflow i job possono continuare a essere eseguiti perché i worker vengono ricreati in altre zone.

Si applicano le seguenti limitazioni:

  • Il posizionamento a livello di regione è supportato solo per i job che utilizzano Streaming Engine oppure Dataflow Shuffle. Job che hanno disattivato Streaming Engine oppure Dataflow Shuffle non può usare il posizionamento a livello di regione.
  • Il posizionamento regionale si applica solo alle VM e non alle risorse di backend.
  • Le VM non vengono replicate in più zone. Ad esempio, se una VM non è più disponibile, i relativi elementi di lavoro vengono considerati persi e vengono sottoposti a nuovo trattamento da un'altra VM.
  • Se si verifica uno stockout a livello di regione, il servizio Dataflow non può per creare altre VM.

Visualizza zone risorse job

I job Dataflow dipendono dalle risorse interne. Alcuni di questi Le risorse del job di backend sono a livello di zona. Se si verifica un errore in una singola zona e occorre una risorsa di zona del job Dataflow si trova in quella zona, il job potrebbe non riuscire.

Per capire se un job non è riuscito a causa di un'interruzione a livello di zona, Rivedi le zone di servizio utilizzate dalle risorse di backend del tuo job. Questa funzionalità è disponibile solo per i job di Streaming Engine.

  • Per visualizzare le zone di servizio nel nella console Google Cloud, utilizza il campo Zone di servizio Riquadro Informazioni job.

  • Per utilizzare l'API al fine di rivedere le zone di servizio, utilizza ServiceResources .

I valori in questo campo vengono aggiornati per tutta la durata del job, poiché le risorse utilizzate dal job cambiano durante l'esecuzione.

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. Selezione automatica della zona contribuisce a 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 disponibilità delle risorse a livello di zona se non sono disponibili risorse Compute Engine sufficienti.

Inoltre, quando una zona non è disponibile, anche il backend di streaming può non essere 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 dei 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.

Sostituire la regione o la 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.

Se 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 della pipeline. Questo pattern di utilizzo non è comune per i job Dataflow.

Questa opzione controlla solo la zona utilizzata per i worker Dataflow. Non si applica alle risorse di backend. Le risorse di backend possono 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 eseguire l'override della posizione del lavoratore. La La tabella degli scenari comuni contiene suggerimenti sull'utilizzo per queste situazioni.

Poiché il job è configurato per essere eseguito in una singola zona, l'operazione potrebbe non riuscire con un disponibilità delle risorse a livello di zona se non sono disponibili risorse 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 tabella seguente contiene consigli per l'utilizzo per scenari comuni.

Scenario Consiglio
Voglio utilizzare una regione supportata e non ho preferenze per le zone all'interno della regione. In questo caso, la zona migliore viene selezionate in base alla capacità disponibile. Utilizza --region per specificare una regione di 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 --region per specificare la regione del job. Utilizza uno dei due --workerZone o --worker_zone per specificare zona specifica all'interno di quella regione.