Endpoints regionais

Um endpoint regional armazena e manipula metadados sobre o job do Dataflow, além de implantar e controlar os workers do Dataflow.

Os nomes dos endpoints regionais seguem uma convenção padrão baseada nos nomes das regiões do Compute Engine. Por exemplo, o nome da região central dos EUA é us-central1. Atualmente, o Dataflow fornece endpoints regionais para as seguintes regiões:

  • us-west1
  • us-central1
  • us-east1
  • us-east4
  • northamerica-northeast1
  • europe-west2
  • europe-west1
  • europe-west4
  • europe-west3
  • asia-southeast1
  • asia-east1
  • asia-northeast1
  • australia-southeast1

Por que especificar um endpoint regional?

Em algumas situações, pode ser útil especificar um ponto de extremidade regional para seu job no Dataflow.

Segurança e compliance

Talvez seja necessário restringir o processamento de jobs no Dataflow a uma região geográfica específica em apoio às necessidades de segurança e compliance do projeto.

Localidade dos dados

Minimize os custos de latência de rede e de transporte de rede executando um job do Dataflow na mesma região que suas fontes, coletores e locais de armazenamento temporário/de teste de arquivo. É importante observar que, se você usar fontes, coletores ou locais de armazenamento temporário/de teste de arquivo que estejam localizados fora da região do job, seus dados poderão ser enviados entre regiões.

Observações sobre fontes comuns de jobs no Dataflow:

  • Buckets do Cloud Storage podem ser recursos regionais ou multirregionais. Para utilizar qualquer um deles como fonte, recomendamos a execução de operações de leitura na mesma região.
  • Os tópicos do Pub/Sub são recursos globais e não têm considerações regionais.

Resiliência e separação geográfica

Isole suas operações normais do Dataflow de interrupções que poderiam ocorrer em outras regiões geográficas ou planeje sites alternativos para a continuidade do negócio em caso de um desastre em escala regional.

Colocação em zona automática

Por padrão, um endpoint regional seleciona automaticamente a melhor zona na região com base na capacidade da zona disponível no momento da solicitação de criação do job. A seleção de zona automática ajuda a garantir que os workers sejam executados na melhor zona para seu job.

Como usar endpoints regionais

Observação: a configuração de endpoints regionais exige a versão 2.0.0 ou posterior do SDK do Apache Beam.

Para especificar um endpoint regional para o job, defina a opção --region como um dos endpoints regionais compatíveis. Se você não especificar um endpoint regional, o Dataflow usará a região de computação padrão e os workers do job serão iniciados em zonas dentro dela. Se o endpoint regional não estiver na região padrão, será preciso especificar a região em todos os comandos do Cloud Dataflow nesse job para evitar erros.

A Interface de linha de comando do Cloud Dataflow também é compatível com a opção --region para especificar endpoints regionais.

Como substituir a região ou a zona do worker

Por padrão, quando você envia um job com o parâmetro --region, o endpoint regional atribui workers automaticamente à melhor zona dentro da região. No entanto, pode ser necessário especificar uma região ou uma zona específica (usando --worker_region ou --worker_zone, respectivamente) para suas instâncias de worker.

Modifique o local do worker nos seguintes casos:

  • Os workers estão em uma região ou zona que não tem um endpoint regional, e você quer usar um endpoint regional mais próximo dessa região ou zona.

  • É recomendável garantir que o processamento de dados do job do Dataflow ocorra estritamente em uma região ou zona específica.

Para os demais casos, não recomendamos modificar o local do worker. A tabela de cenários comuns contém recomendações de uso para essas situações.

Execute o comando gcloud compute regions list para ver uma lista de regiões e zonas disponíveis para implantação do worker.

Cenários comuns

A tabela a seguir contém recomendações de uso para cenários comuns.

Cenário Recomendação
Quero usar um ponto de extremidade regional aceito e não tenho preferência de zona na região. Nesse caso, o endpoint regional seleciona automaticamente a melhor zona com base na capacidade disponível. Use --region para especificar um endpoint regional. Isso garante que o Dataflow gerencie seu job e processe os dados na região especificada.
Preciso que o processamento do worker ocorra em uma zona específica de uma região que tenha um endpoint regional. Especifique --region e --worker_zone.

Use --region para especificar o endpoint regional. Use --worker_zone para especificar a zona dentro dessa região.

Preciso que o processamento do worker ocorra em uma região específica que não tenha um endpoint regional. Especifique --region e --worker_region.

Use --region para especificar o endpoint regional compatível mais próximo da região em que o processamento do worker precisa ocorrer. Use --worker_region para especificar uma região em que o processamento do worker precisa ocorrer.

Preciso usar o Dataflow Shuffle. Use --region para especificar um endpoint regional que aceite o Dataflow Shuffle. Alguns endpoints regionais podem não ser compatíveis com esse recurso. Consulte a documentação do recurso para ver uma lista de regiões compatíveis.