La configurazione di una rete Virtual Private Cloud (VPC) per Managed Service for Apache Spark consente di connettere in modo sicuro i workload alle risorse di progetto interne e alle API di Google. Queste impostazioni di subnet e firewall aiutano i driver e gli esecutori Spark a comunicare direttamente, rispettando al contempo le policy di sicurezza della tua organizzazione.
Requisiti della rete VPC
Questo documento descrive i requisiti della rete VPC per i workload batch e le sessioni interattive di Managed Service for Apache Spark.
Accesso privato Google
I workload batch e le sessioni interattive di Managed Service for Apache Spark vengono eseguiti su VM con solo indirizzi IP interni e su una subnet regionale con accesso privato Google (PGA) attivato automaticamente sulla subnet.
Se non specifichi una subnet, Managed Service for Apache Spark seleziona la subnet default nella regione del workload o della sessione batch come subnet per un workload o una sessione batch.
Se il tuo workload richiede l'accesso alla rete esterna o a internet, ad esempio per scaricare risorse come modelli di ML da PyTorch Hub o Hugging Face, puoi configurare Cloud NAT per consentire il traffico in uscita utilizzando gli IP interni della tua rete VPC.
Connettività subnet aperta
La subnet VPC per la regione selezionata per il workload batch o la sessione interattiva di Managed Service for Apache Spark deve consentire la comunicazione interna su tutte le porte tra le istanze VM all'interno della subnet.
Per evitare che script dannosi in un workload influiscano su altri workload, Managed Service for Apache Spark implementa misure di sicurezza predefinite.
Il seguente comando Google Cloud CLI collega un firewall di rete a una subnet che consente le comunicazioni in entrata interne tra le VM utilizzando tutti i protocolli su tutte le porte:
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
Note:
SUBNET_RANGES: Vedi Consenti connessioni in ingresso interne tra VM. La rete VPC
defaultin un progetto con la regola firewalldefault-allow-internal, che consente la comunicazione in entrata su tutte le porte (tcp:0-65535,udp:0-65535eicmp protocols:ports), soddisfa il requisito di connettività della subnet aperta. Tuttavia, questa regola consente anche il traffico in entrata da qualsiasi istanza VM sulla rete.
Policy del firewall di sistema regionale creata automaticamente
Per soddisfare il requisito di connettività della subnet aperta, i workload batch e le sessioni interattive di Managed Service for Apache Spark che utilizzano la versione di runtime 3.0 o successiva creano automaticamente una policy del firewall di sistema regionale dataproc-firewall-policy-[network-id]-region o dataproc-fw-[network-id]-region nella subnet VPC batch o di sessione.
Questa policy contiene le seguenti regole in entrata e in uscita.
| Nome | Finalità | Priorità | Direzione | Azione | Origine e destinazione | Protocollo e porte |
|---|---|---|---|---|---|---|
dataproc-allow-internal-ingress-rule-[subnetworkId] |
Consente tutte le comunicazioni interne necessarie solo da altre VM Managed Service for Apache Spark con tag all'interno della stessa subnet. | 4 | INGRESS | CONSENTI |
srcSecureTag: il valore del tag sicuro per questa subnet.targetSecureTags:il valore del tag sicuro per questa subnet. |
tcp:0-65535, udp:0-65535, icmp protocolli:porte |
dataproc-allow-internal-egress-rule-[subnetworkId] |
Consente alle VM di Managed Service for Apache Spark di scaricare pacchetti, ad esempio pip e apt-get, e di accedere alle API di Google utilizzando l'accesso privato Google. | 5 | EGRESS | CONSENTI |
destIpRanges: 0.0.0.0/0.targetSecureTags:il valore del tag sicuro per questa subnet. |
tcp:0-65535, udp:0-65535, icmp protocolli:porte |
Note:
Managed Service for Apache Spark esegue il provisioning di un progetto tenant associato al progetto utente per archiviare i tag sicuri. Managed Service for Apache Spark crea un tag sicuro per la subnet nel progetto tenant e lo collega alle VM di Managed Service for Apache Spark, assicurando che la policy del firewall di sistema creata si applichi solo alle VM di Managed Service for Apache Spark.
La policy del firewall di sistema creata automaticamente non è supportata per il VPC condiviso.
Managed Service for Apache Spark e reti VPC-SC
Con i Controlli di servizio VPC, gli amministratori di rete possono definire un perimetro di sicurezza intorno alle risorse dei servizi gestiti da Google per controllare le comunicazioni con quei servizi.
Quando utilizzi le reti VPC-SC con Managed Service for Apache Spark, tieni conto delle seguenti strategie:
Crea un'immagine container personalizzata che preinstalli le dipendenze all'esterno del perimetro dei Controlli di servizio VPC, quindi invia un workload batch Spark che utilizzi l'immagine container personalizzata.
Per saperne di più, consulta Controlli di servizio VPC - Managed Service for Apache Spark.