Configuração de rede do Serverless para Apache Spark

Este documento descreve os requisitos para a configuração de rede do Google Cloud Serverless para Apache Spark.

Requisitos de sub-rede da nuvem privada virtual

Este documento descreve os requisitos de rede da nuvem privada virtual para Google Cloud Serverless para Apache Spark cargas de trabalho em lote e sessões interativas.

Acesso privado do Google

As cargas de trabalho em lote e as sessões interativas do Serverless para Apache Spark são executadas em VMs com apenas endereços IP internos e em uma sub-rede regional com o Acesso privado do Google (PGA, na sigla em inglês) ativado automaticamente na sub-rede.

Se você não especificar uma sub-rede, o Serverless para Apache Spark vai selecionar a sub-rede default na região da carga de trabalho em lote ou da sessão como a sub-rede para uma carga de trabalho em lote ou sessão.

Se a carga de trabalho exigir acesso à rede externa ou à Internet, por exemplo, para fazer o download de recursos, como modelos de ML do PyTorch Hub ou do Hugging Face, você pode configurar o Cloud NAT para permitir o tráfego de saída usando IPs internos na rede VPC.

Conectividade de sub-rede aberta

A sub-rede VPC da região selecionada para a carga de trabalho em lote ou sessão interativa do Serverless para Apache Spark precisa permitir a comunicação interna em todas as portas entre instâncias de VM na sub-rede.

Para evitar que scripts maliciosos em uma carga de trabalho afetem outras cargas de trabalho, o Serverless para Apache Spark implanta medidas de segurança padrão.

O comando da Google Cloud CLI a seguir anexa um firewall de rede a uma sub-rede que permite comunicações de entrada internas entre VMs usando todos os protocolos em todas as portas:

gcloud compute firewall-rules create allow-internal-ingress \
    --network=NETWORK_NAME \
    --source-ranges=SUBNET_RANGES \
    --destination-ranges=SUBNET_RANGES \
    --direction=ingress \
    --action=allow \
    --rules=all

Observações:

  • SUBNET_RANGES: consulte Permitir conexões de entrada internas entre VMs. A rede VPC default em um projeto com a regra de firewall default-allow-internal, que permite a comunicação de entrada em todas as portas (tcp:0-65535, udp:0-65535, e icmp protocols:ports), atende ao requisito de conectividade de sub-rede aberta. No entanto, essa regra também permite a entrada de qualquer instância de VM na rede.

Política de firewall do sistema regional criada automaticamente

Para atender ao requisito de conectividade de sub-rede aberta, as cargas de trabalho em lote e as sessões interativas do Serverless para Apache Spark que usam a versão de ambiente de execução 3.0 ou mais recente criam automaticamente uma política de firewall do sistema regional dataproc-firewall-policy-[network-id]-region ou dataproc-fw-[network-id]-region na sub-rede VPC em lote ou de sessão. Essa política contém as seguintes regras de entrada e saída.

Nome Finalidade Prioridade Direção Ação Origem e destino Protocolo e portas
dataproc-allow-internal-ingress-rule-[subnetworkId] Permite toda a comunicação interna necessária apenas de outras VMs do Serverless para Apache Spark marcadas na mesma sub-rede. 4 ENTRADA PERMITIR
  • srcSecureTag: valor da tag segura para essa sub-rede.
  • targetSecureTags:valor da tag segura para essa sub-rede.
  • tcp:0-65535, udp:0-65535, icmp protocols:ports
    dataproc-allow-internal-egress-rule-[subnetworkId] Permite que as VMs do Serverless para Apache Spark façam o download de pacotes, por exemplo, pip e apt-get, e acessem as APIs do Google usando o Acesso privado do Google. 5 SAÍDA PERMITIR
  • destIpRanges: 0.0.0.0/0.
  • targetSecureTags:valor da tag segura para essa sub-rede.
  • tcp:0-65535, udp:0-65535, icmp protocols:ports

    Observações:

    • O Serverless para Apache Spark provisiona um projeto de locatário associado ao projeto do usuário para armazenar tags seguras. O Serverless para Apache Spark cria uma tag segura para a sub-rede no projeto de locatário e a anexa às VMs do Serverless para Apache Spark, o que garante que a política de firewall do sistema criada seja aplicada apenas às VMs do Serverless para Apache Spark.

    • A política de firewall do sistema criada automaticamente não é compatível com a VPC compartilhada.

    Serverless para Apache Spark e redes VPC-SC

    Com o VPC Service Controls, os administradores de rede podem definir um perímetro de segurança em torno dos recursos dos serviços gerenciados pelo Google para controlar a comunicação entre esses serviços.

    Considere as seguintes estratégias ao usar redes VPC-SC com o Serverless para Apache Spark:

    Para mais informações, consulte VPC Service Controls: Serverless para Apache Spark.