Neste documento, descrevemos os requisitos para a configuração de rede do Managed Service para Apache Spark.
Requisitos de sub-rede da nuvem privada virtual
Este documento descreve os requisitos de rede da nuvem privada virtual para cargas de trabalho em lote e sessões interativas do Managed Service para Apache Spark.
Acesso privado do Google
As cargas de trabalho em lote e as sessões interativas do Managed Service 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 Managed Service 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 uma 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, você pode configurar o Cloud NAT para permitir o tráfego de saída usando IPs internos na sua rede VPC.
Abrir conectividade de sub-rede
A sub-rede VPC da região selecionada para a carga de trabalho em lote ou sessão interativa do Managed Service para Apache Spark precisa permitir a comunicação interna em todas as portas entre as instâncias de VM na sub-rede.
Para evitar que scripts maliciosos em uma carga de trabalho afetem outras, o Managed Service 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 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
defaultem 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-65535eicmp 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, o Managed Service para cargas de trabalho em lote e sessões interativas do Apache Spark que usam a versão de tempo de execução 3.0 ou posterior cria 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 Managed Service for Apache Spark marcadas na mesma sub-rede. | 4 | INGRESS | PERMITIR |
srcSecureTag: valor da tag segura para esta sub-rede.targetSecureTags:valor da tag segura para esta sub-rede. |
tcp:0-65535, udp:0-65535, icmp protocols:ports |
dataproc-allow-internal-egress-rule-[subnetworkId] |
Permite que as VMs do Managed Service for 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 | EGRESS | PERMITIR |
destIpRanges: 0.0.0.0/0.targetSecureTags:valor da tag segura para esta sub-rede. |
tcp:0-65535, udp:0-65535, icmp protocols:ports |
Observações:
O Serviço gerenciado para Apache Spark provisiona um projeto de locatário associado ao projeto do usuário para armazenar tags seguras. O Managed Service for Apache Spark cria uma tag segura para a sub-rede no projeto de locatário e a anexa às VMs do Managed Service for Apache Spark. Isso garante que a política de firewall do sistema criada se aplique apenas às VMs do Managed Service for Apache Spark.
A política de firewall do sistema criada automaticamente não é compatível com a VPC compartilhada.
Serviço gerenciado 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 Managed Service for 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: Managed Service for Apache Spark.