Este documento descreve os requisitos necessários para a configuração de rede do Google Cloud Serverless for Apache Spark.
Requisitos da sub-rede da nuvem virtual privada
Este documento explica os requisitos da rede da nuvem virtual privada para Google Cloud workloads em lote e sessões interativas do Apache Spark sem servidor.
Acesso privado do Google
O processamento sem servidor para cargas de trabalho em lote do Apache Spark e sessões interativas é executado em VMs apenas com endereços IP internos e numa sub-rede regional com o acesso privado à Google (PGA) ativado automaticamente na sub-rede.
Se não especificar uma sub-rede, o Serverless para Apache Spark seleciona a sub-rede default
na carga de trabalho em lote ou na região da sessão como a sub-rede para uma carga de trabalho em lote ou uma sessão.
Se a sua carga de trabalho exigir acesso à rede externa ou à Internet, por exemplo, para transferir recursos como modelos de ML do PyTorch Hub ou do Hugging Face, pode configurar o Cloud NAT para permitir o tráfego de saída através de IPs internos na sua rede VPC.
Abrir conetividade de sub-rede
A sub-rede da VPC para a região selecionada para a carga de trabalho em lote ou a sessão interativa do Serverless for Apache Spark tem de permitir a comunicação interna da sub-rede em todas as portas entre instâncias de VMs.
O seguinte comando da CLI do Google Cloud anexa uma firewall de rede a uma sub-rede que permite comunicações de entrada internas entre VMs através de 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
Notas:
SUBNET_RANGES: Consulte o artigo Permita ligações de entrada internas entre VMs. A rede VPC num 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
eicmp protocols:ports
), cumpre o requisito de conetividade de sub-rede aberta.default
No entanto, esta regra também permite a entrada de qualquer instância de VM na rede.
Sem servidor para Apache Spark e redes VPC-SC
Com os VPC Service Controls, os administradores de rede podem definir um perímetro de segurança em torno dos recursos dos serviços geridos pela Google para controlar a comunicação com e entre esses serviços.
Tenha em atenção as seguintes estratégias quando usar redes do VPC-SC com o Serverless para Apache Spark:
Crie uma imagem de contentor personalizada que pré-instale dependências fora do perímetro do VPC-SC e, em seguida, envie uma carga de trabalho em lote do Spark que use a sua imagem de contentor personalizada.
Para mais informações, consulte o artigo VPC Service Controls: Serverless para Apache Spark.