Para que os recursos da VM estejam disponíveis quando os jobs do Dataflow precisarem deles, use as reservas do Compute Engine. As reservas fornecem um nível alto de garantia da capacidade dos recursos zonais do Compute Engine.
Para usar as reservas do Compute Engine com o Dataflow, siga estas etapas:
Crie uma reserva do Compute Engine. Pode ser uma reserva de projeto único ou compartilhada. Confira mais informações nestes documentos:
A reserva pode incluir aceleradores de GPU.
Ao enviar o job do Dataflow, transmita uma das seguintes opções de serviço, dependendo da versão do SDK do Beam que você estiver usando:
- Versão do Beam anterior à 2.29:
--experiments=skip_gce_quota_verification
- Versão do Beam 2.29 ou mais recente:
--dataflow_service_options=automatically_use_created_reservation
- Versão do Beam anterior à 2.29:
Para evitar que as cargas de trabalho de baixa prioridade no mesmo projeto concorram por
reservas com o Dataflow, defina a afinidade de reserva como
none
ao criar VMs para essas cargas de trabalho. Saiba mais em
Consumir instâncias reservadas.
Para usar a reserva, os workers do Dataflow precisam corresponder à configuração da reserva. Talvez seja necessário definir o tipo de máquina do worker para o job. Saiba mais em Workers.
Limitações
Todas as limitações das reservas do Compute Engine se aplicam quando os workers do Dataflow consomem as reservas. Veja Como funcionam as reservas.
O Dataflow depende da ordem de consumo padrão no Compute Engine. Como resultado, as seguintes limitações se aplicam:
- O Dataflow não consome uma reserva criada com a
sinalização
--require-specific-reservation
. - Outras cargas de trabalho no mesmo projeto ou organização que não especificarem a sinalização
--reservation
podem competir com as cargas de trabalho do Dataflow por reservas compartilhadas ou específicas do projeto.
- O Dataflow não consome uma reserva criada com a
sinalização
Os jobs do Dataflow Prime não consomem reservas do Compute Engine.
Preços
As VMs reservadas do Compute Engine são cobradas pelo Dataflow enquanto o job dele está em execução. Quando as VMs não estão sendo usadas pelo Dataflow, elas são faturadas pelo Compute Engine.
Se você usar as reservas do Compute Engine com o Dataflow, esses recursos reservados não estarão qualificados para descontos por uso contínuo do Compute Engine. O uso é cobrado usando o modelo de preços do Dataflow.
A seguir
Saiba mais sobre as reservas do Compute Engine em Reservas de recursos zonais do Compute Engine.