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:
asia-east1
asia-east2
asia-northeast1
asia-northeast2
asia-northeast3
asia-south1
asia-southeast1
asia-southeast2
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
europe-west6
northamerica-northeast1
southamerica-east1
us-east1
us-east4
us-central1
us-west1
us-west2
us-west3
us-west4
Como escolher endpoints regionais
Especificar um endpoint regional em um job do Dataflow é obrigatório.
Segurança e compliance
É 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 conformidade 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 automática de zona ajuda a garantir que os workers sejam executados na melhor zona para seu job.
Como especificar 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.
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 |
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 |
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. |