Neste documento, descrevemos os requisitos necessários para a configuração de rede do Google Cloud Serverless para Apache Spark.
Requisitos de sub-rede da nuvem privada virtual
Este documento explica os requisitos de rede da nuvem privada virtual para Google Cloud cargas de trabalho em lote e sessões interativas do Serverless para Apache Spark.
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) 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 à Internet ou a uma rede externa, por exemplo, para baixar recursos como modelos de ML do PyTorch Hub ou do Hugging Face, configure o Cloud NAT para permitir o tráfego de saída usando IPs internos na rede VPC.
Abrir conectividade de sub-rede
A sub-rede da VPC para a 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 da sub-rede em todas as portas entre instâncias de VM.
O seguinte comando da Google Cloud CLI anexa um firewall de rede a uma sub-rede que permite comunicações internas de entrada 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 firewalldefault-allow-internal
, que permite a comunicação de entrada em todas as portas (tcp:0-65535
,udp:0-65535
eicmp 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.
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.
Observe as seguintes estratégias ao usar redes VPC-SC com o Serverless para Apache Spark:
Crie uma imagem de contêiner personalizada que pré-instale dependências fora do perímetro da VPC-SC e envie uma carga de trabalho em lote do Spark que use sua imagem de contêiner personalizada.
Para mais informações, consulte VPC Service Controls: sem servidor para Apache Spark.