Questa pagina illustra i requisiti di configurazione di rete del cluster Dataproc e opzioni.
Requisiti di connettività Dataproc
Il cluster Dataproc deve trovarsi in una rete VPC in linea con la route e firewall per accedere in sicurezza alle API di Google e ad altre risorse.
Requisiti delle route
Agente Dataproc in esecuzione sulle VM del cluster necessita di una route a internet per accedere all'API di controllo Dataproc per ottenere offerte di lavoro e segnalare lo stato. Una volta create, le reti VPC contengono una route predefinita generata dal sistema a internet. Non è consigliabile eliminare la route predefinita a internet. usa invece firewall per controllare l'accesso alla rete. Tieni presente che cluster interni solo IP richiedi questa route predefinita a internet per accedere alle API di controllo di Dataproc e altri servizi Google, come Cloud Storage, ma il loro traffico non lasciano i data center di Google.
Requisiti del firewall
Macchine virtuali (VM) del cluster Dataproc devono poter comunicare tra loro tramite ICMP, TCP (tutte le porte) e UDP (tutte le porte).
La rete VPC default
Firewall di default-allow-internal
soddisfa i requisiti di connettività dei cluster Dataproc
e consente il traffico in entrata dall'intervallo di origine 10.128.0.0/9
da
tutte le VM sulla rete VPC come segue:
Regola | Rete | Direzione | Priorità | Intervallo di origine | Protocolli:Porte |
---|---|---|---|---|---|
default-allow-internal |
default |
In entrata | 65534 |
10.128.0.0/9 |
tcp:0-65535 ,udp:0-65535 ,icmp |
Se elimini la regola firewall
default-allow-internal
, il traffico in entrata su la retedefault
è bloccata regola di negazione in entrata implicita.Se elimini la regola firewall
default-allow-internal
o non utilizzano la rete VPCdefault
, devi creare una tua regola che soddisfi i requisiti di connettività di Dataproc e lo applichi alla rete VPC del cluster.
Best practice: crea una regola firewall in entrata per la rete VPC del cluster che consente la connettività in entrata solo tra le VM del cluster utilizzando un intervallo IP di origine o identificando le VM del cluster tag di rete o account di servizio.
Crea una regola firewall in entrata
Se tu o l'amministratore di rete o dell'amministratore della sicurezza create Una regola firewall in entrata da applicare a una rete VPC di cluster Dataproc, deve avere le seguenti caratteristiche:
Il parametro sources specifica le origini dei pacchetti. Tutte le VM del cluster Dataproc devono poter comunicare tra loro. Puoi identificare le VM cluster per intervallo di indirizzi IP, tag di origine o account di servizio associati le VM.
Il target per la regola deve identificare alle VM del cluster. La destinazione può essere tutte le VM nella rete VPC puoi identificare le VM in base all'intervallo di indirizzi IP, al tag o al servizio di destinazione .
La regola deve includere quanto segue protocolli e porte:
- TCP (tutte le porte, da 0 a 65535)
- UDP (tutte le porte, da 0 a 65535)
- ICMP
Dataproc utilizza servizi che vengono eseguiti su più porte. Specificare tutte le porte consentono l'esecuzione corretta dei servizi.
Diagnosticare le regole firewall VPC
Per controllare i pacchetti non elaborati da regole firewall con priorità più elevata, può creare due regole firewall di negazione a bassa priorità (65534). A differenza dell'interfaccia implicita, regole firewall, puoi abilitare il logging delle regole firewall su ciascuna di queste regole a bassa priorità:
Una regola di negazione in entrata (origini
0.0.0.0/0
, tutti i protocolli, tutte le destinazioni alla rete VPC)Una regola di negazione in uscita (destinazioni
0.0.0.0/0
, tutti i protocolli, tutte le destinazioni nella rete VPC)
Con il logging delle regole a bassa priorità e firewall, puoi registrare di pacchetti non elaborati da una priorità più alta e potenzialmente più specifici, le regole del firewall. Queste due regole a bassa priorità si allineano anche con le best practice mediante l'implementazione di "pacchetti finali di eliminazione" strategia.
Esamina i log delle regole firewall per individuare queste regole determinare se è necessario creare o modificare regole di priorità più elevata per e pacchetti. Ad esempio, se i pacchetti vengono inviati tra un cluster Dataproc le VM vengono eliminate, questo può indicare che le regole firewall devono essere modificato.
Crea una rete VPC
Anziché utilizzare la rete VPC default
, puoi creare la tua
modalità automatica
o un VPC personalizzato
in ogni rete. Quando crei il cluster, associ la tua rete
in un cluster Kubernetes.
Ambiente Assured Workloads: quando utilizzi un oggetto Ambiente Assured Workloads per conformità normativa, il cluster, la rete VPC e i Cloud Storage I bucket devono essere contenuti nell'ambiente Assured Workloads.
Crea un cluster che utilizza la tua rete VPC
Google Cloud CLI
Utilizza le funzionalità di
gcloud dataproc clusters create
con ‑‑network
o ‑‑subnet
per creare un cluster su una subnet nella tua rete.
Se usi il flag ‐‐network, il cluster utilizzerà una subnet con
lo stesso nome della rete specificata nella regione in cui viene creato il cluster.
--network example
. Poiché vengono create reti automatiche
con subnet in ogni regione, con ogni subnet in base al nome di rete,
Passa il nome della rete VPC in modalità automatica al flag ‑‑network
.
Il cluster utilizzerà la subnet VPC in modalità automatica
regione specificata con il flag ‐‐region.
gcloud dataproc clusters create CLUSTER_NAME \ --network NETWORK_NAME \ --region=REGION \ ... other args ...
--subnet example
. Puoi utilizzare ‑‑subnet
per creare un cluster che utilizza una modalità automatica o una subnet di rete VPC personalizzata
nella regione del cluster Kubernetes. Specifica il percorso completo della risorsa della subnet.
gcloud dataproc clusters create CLUSTER_NAMEW \ --subnet projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --region=REGION \ ... other args ...
API REST
Puoi specificare
networkUri o subnetUri
GceClusterConfig
nell'ambito di un
clusters.create
richiesta.
Esempio
POST /v1/projects/my-project-id/regions/us-central1/clusters/ { "projectId": "PROJECT_ID", "clusterName": CLUSTER_NAME, "config": { "configBucket": "", "gceClusterConfig": { "subnetworkUri": SUBNET_NAME, }, ...
Console
Seleziona la tua rete nella sezione Rete configurazione nel riquadro Personalizza cluster. Dopo aver scelto il selettore Subnet mostra le subnet disponibili nella regione selezionata per il cluster.
Crea un cluster che utilizza una rete VPC in un altro progetto
Un cluster Dataproc può utilizzare un'istanza rete VPC condivisa definita in un progetto host. Il progetto in cui viene creato il cluster Dataproc è chiamato progetto di servizio.
Trova il numero di progetto del cluster Dataproc:
- Apri la sezione IAM e Amministratore nella pagina Impostazioni nella console Google Cloud. Seleziona il progetto in cui creerai di un cluster Dataproc. Copia l'ID progetto.
Un'entità con Ruolo Amministratore VPC condiviso è necessario seguire questi passaggi. Consulta: istruzioni per la configurazione di un VPC condiviso per informazioni di base.
Assicurati che il progetto host del VPC condiviso è abilitata.
Collega il progetto al cluster Dataproc al progetto host.
Segui le istruzioni in questo passaggio secondario per configurare entrambi i seguenti in modo che l'utente di rete per il progetto host:
- Account di servizio dell'agente di servizio Dataproc:
service-[project-number]@dataproc-accounts.iam.gserviceaccount.com
- Account di servizio API di Google:
[project-number]@cloudservices.gserviceaccount.com
Apri la sezione IAM e Amministratore nella console Google Cloud.
Utilizza il selettore di progetti per selezionare il nuovo progetto host.
Fai clic su Concedi l'accesso.
Compila il modulo Concedi l'accesso. Ripeti questi passaggi per aggiungere entrambi gli account di servizio:
Aggiungi entità: inserisci l'account di servizio.
Assegna ruoli: inserisci "Rete Compute" Nella casella di filtro, seleziona il ruolo Utente di rete Compute.
Fai clic su Salva.
- Account di servizio dell'agente di servizio Dataproc:
Quando entrambi gli account di servizio hanno il ruolo
Network User
per il progetto host, crea un cluster che utilizza la rete VPC condivisa.
Crea un cluster che utilizza una subnet VPC in un altro progetto
Un cluster Dataproc può utilizzare un'istanza subnet VPC condivisa definita in un progetto host. Il progetto in cui viene creato il cluster Dataproc è chiamato progetto di servizio.
Trova il numero di progetto del cluster Dataproc:
- Apri la sezione IAM e Amministratore nella pagina Impostazioni nella console Google Cloud. Seleziona il progetto in cui creerai di un cluster Dataproc. Copia l'ID progetto.
Un'entità con Ruolo Amministratore VPC condiviso è necessario seguire questi passaggi. Consulta: istruzioni per la configurazione di un VPC condiviso per informazioni di base.
Assicurati che il progetto host del VPC condiviso è abilitata.
Collega il progetto al cluster Dataproc al progetto host.
Segui le istruzioni di questo passaggio per configurare entrambi i seguenti in modo che l'utente di rete per il progetto host:
- Account di servizio dell'agente di servizio Dataproc:
service-[project-number]@dataproc-accounts.iam.gserviceaccount.com
- Account di servizio API di Google:
[project-number]@cloudservices.gserviceaccount.com
Apri le reti VPC nella console Google Cloud.
Utilizza il selettore di progetti per selezionare il progetto host.
Fai clic sulla rete che contiene la subnet che utilizzerà il cluster Dataproc.
Nella pagina Dettagli rete VPC, fai clic sulla casella di controllo accanto al della subnet che verrà utilizzata dal cluster.
Se il riquadro Informazioni non è aperto, fai clic su Mostra riquadro informazioni.
Svolgi i seguenti passaggi per ogni account di servizio:
Nel riquadro delle informazioni, fai clic su Aggiungi entità.
Compila il modulo Concedi accesso:
Aggiungi entità: inserisci l'account di servizio.
Assegna ruoli: inserisci "Rete Compute" Nella casella di filtro, seleziona il ruolo Utente di rete Compute.
Fai clic su Salva.
- Account di servizio dell'agente di servizio Dataproc:
Quando entrambi gli account di servizio hanno il ruolo
Network User
per il progetto host, crea un cluster che utilizza la subnet VPC condivisa.
Crea un cluster Dataproc solo con indirizzi IP interni
Puoi creare un cluster Dataproc isolato dalla internet pubblico le cui istanze VM comunicano su una subnet IP privata (alle VM cluster non vengono assegnati indirizzi IP pubblici). Per fare ciò, la subnet deve avere Accesso privato Google abilitato per consentire ai nodi dei cluster di accedere alle API e ai servizi Google, come Cloud Storage, da IP interni.
Interfaccia a riga di comando gcloud
Puoi creare un cluster Dataproc solo con indirizzi IP interni
utilizzando
gcloud dataproc clusters create
con il flag ‑‑no-address
.
Utilizza i flag ‐‐no-address e ‐‐network:
Usa il flag ‑‑no-address
con
‑‑network
per creare un cluster che utilizzerà
una subnet con lo stesso nome della rete nella regione
in cui viene creato il cluster.
gcloud dataproc clusters create CLUSTER_NAME \ --no-address \ --network NETWORK_NAME \ --region=REGION \ ... other args ...
Ad esempio, poiché le reti automatiche vengono create con subnet in ogni
regione con lo stesso nome della rete automatica, puoi passare la rete
nome al ‑‑network flag
per creare un cluster che utilizzerà la subnet automatica nella regione del cluster.
Utilizza i flag ‐‐no-address e ‐‐subnet:
Usa il flag ‑‑no-address
con
‑‑subnet
per creare un'istanza
che utilizzerà una subnet automatica o personalizzata nella regione
in cui verrà creato il cluster. Supera la bandiera ‑‑subnet
l'intero percorso di risorsa della subnet.
gcloud dataproc clusters create cluster-name \ --no-address \ --subnet projects/project-id/regions/region/subnetworks/subnetwork-name \ --region=region \ ... other args ...
API REST
Puoi impostare GceClusterConfig
internalIpOnly
su true
nell'ambito di un
clusters.create
di abilitare solo gli indirizzi IP interni.
Esempio:
POST /v1/projects/my-project-id/regions/us-central1/clusters/ { "projectId": "my-project-id", "clusterName": "example-cluster", "config": { "configBucket": "", "gceClusterConfig": { "subnetworkUri": "custom-subnet-1", "zoneUri": "us-central1-b", "internalIpOnly": true }, ...
Console
Puoi creare un cluster Dataproc con accesso privato Google abilitato da Dataproc Crea un cluster nella console Google Cloud. Fai clic su Solo IP interno su il pulsante Personalizza cluster per abilitare questa funzionalità per il tuo cluster.
Poiché, per impostazione predefinita, i cluster solo IP interni non hanno accesso a internet, job che scaricano dipendenze da internet, ad esempio job che scaricano I pacchetti di dipendenze Spark di Maven Central avranno esito negativo. Esistono diversi soluzioni alternative per evitare il problema:
Utilizza Cloud NAT per abilitare l'accesso del cluster a internet.
Creare un'immagine personalizzata che include le dipendenze (ad esempio, pacchetti di dipendenze Spark in
/usr/lib/spark/jars/
).Carica le dipendenze in un bucket Cloud Storage, quindi utilizza azione di inizializzazione per scaricare le dipendenze dal bucket durante la creazione del cluster.
Reti Dataproc e Controlli di servizio VPC
Con Controlli di servizio VPC, gli amministratori possono definire un perimetro di sicurezza intorno alle risorse dei servizi gestiti da Google controllare le comunicazioni con e tra tali servizi.
Tieni presente le limitazioni e le strategie riportate di seguito quando utilizzi reti di Controlli di servizio VPC con Cluster Dataproc:
Per installare componenti al di fuori del perimetro dei Controlli di servizio VPC, crea un immagine personalizzata che preinstalla i componenti e poi crea il cluster utilizzando l'immagine personalizzata.
Consulta i passaggi speciali di Dataproc per la protezione con Controlli di servizio VPC.