Usar as reservas do Compute Engine com o Dataflow

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:

  1. 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.

  2. 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

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.

Além disso, 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.
  • 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.

A seguir

Saiba mais sobre as reservas do Compute Engine em Reservas de recursos zonais do Compute Engine.