Questa pagina descrive come connetterti ad applicazioni Software as a Service (SaaS) come Salesforce e a servizi cloud di terze parti come Amazon S3 da un'istanza privata di Cloud Data Fusion quando sviluppi una pipeline.
In questa guida vengono utilizzati i termini esodo e controllo di esodo:
In uscita si riferisce al traffico di rete in uscita da Google Cloud sul pubblico internet. Di solito, il traffico in uscita si verifica quando crei una pipeline che legge da o scrive in un servizio SaaS come Salesforce o in un servizio cloud pubblico come Amazon S3.
Il controllo in uscita definisce i guardrail per il traffico in uscita utilizzando una VM proxy, che consente il completamento del traffico in uscita verso un insieme di domini preconfigurati e l'interruzione di tutti gli altri. Consente un perimetro di sicurezza più elevato per il traffico in uscita e può impedire il traffico in uscita indesiderato da un'istanza privata.
Il seguente diagramma dell'architettura di sistema mostra come L'istanza Cloud Data Fusion si connette alla rete internet pubblica quando sviluppi una pipeline:
In questo scenario, quando progetti la pipeline, Cloud Data Fusion instrada traffico in uscita attraverso il progetto del cliente nell'anteprima di Cloud Data Fusion o Wrangler. Questa procedura utilizza le seguenti risorse:
Una route della rete VPC personalizzata: una rete VPC personalizzata instrada il traffico tramite una route personalizzata importata alle VM gateway, che vengono esportate in una VPC del progetto del tenant utilizzando il peering VPC.
Una VM gateway: una VM gateway instrada il traffico in uscita da Google Cloud da del progetto tenant di Cloud Data Fusion a un SaaS o cloud di terze parti nella rete internet pubblica. Gestisci questa VM nel progetto del cliente. Puoi configurarla in un ambiente ad alta disponibilità (HA) utilizzando un modello Bilanciatore del carico (ILB). Ti consigliamo di riutilizzare la VM per più con le istanze Cloud Data Fusion private nello stesso VPC.
Per informazioni sulla configurazione del controllo in uscita nella progettazione e nell'esecuzione ambienti, consulta Controllare il traffico in uscita in un'istanza privata.
Prima di iniziare
Puoi connetterti a un'origine pubblica da un'istanza privata in Cloud Data Fusion 6.4 o versioni successive. Per utilizzare una di queste versioni, puoi creare una nuova istanza Cloud Data Fusion privata o eseguire l'upgrade di un'istanza esistente alla versione 6.4.0.
Quando crei una connessione in peering di rete VPC per la tua istanza, seleziona Esporta route.
Configurazione della connessione a internet
I passaggi riportati di seguito descrivono come accedere a un bucket Amazon S3 da un'istanza Cloud Data Fusion privata in Wrangler. Gli stessi passaggi valgono per l'accesso a qualsiasi origine dati sulla rete internet pubblica quando progetti una pipeline in anteprima. o Wrangler.
In questa guida viene utilizzata una sola VM, ma per le applicazioni mission critical consigliamo di creare VM bilanciate in base al carico. Per saperne di più, consulta Configurare una VM ad alta disponibilità.
Crea un gateway NAT
Crea un gateway Cloud NAT nel la stessa regione e la stessa rete VPC della tua istanza privata di Cloud Data Fusion.
Crea un'istanza VM gateway e le regole firewall
Console
Vai alla pagina Istanze VM.
Fai clic su Crea istanza. È consigliabile utilizzare una VM senza IP esterno.
Usa lo stesso VPC per cui è configurato il peering di rete con il VPC dell'istanza di Cloud Data Fusion. Per ulteriori informazioni Peering di rete VPC in questo scenario, vedi Prima di iniziare.
Attiva l'IP forwarding per nella stessa rete dell'istanza Cloud Data Fusion.
Nel campo Script di avvio, inserisci il seguente script:
#! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -j MASQUERADE echo net.ipv4.ip_forward=1 > /etc/sysctl.d/11-gce-network-security.conf iptables-save
Per ulteriori informazioni, consulta la sezione Esecuzione degli script di avvio.
Per ottenere l'intervallo IP allocato per l'istanza Cloud Data Fusion, vai alla pagina Dettagli istanza di Cloud Data Fusion.
gcloud
Per creare la VM gateway e le regole firewall, esegui lo script seguente nella Google Cloud CLI:
export CDF_PROJECT=CDF_PROJECT export GATEWAY_VM=GATEWAY_VM_NAME export ZONE=VM_ZONE export SUBNET=SUBNET export VPC_NETWORK=VPC_NETWORK export COMPUTE_ENGINE_SA=COMPUTE_ENGINE_SA gcloud beta compute --project=$CDF_PROJECT instances create $GATEWAY_VM --zone=$ZONE --machine-type=e2-medium --subnet=$SUBNET --network-tier=PREMIUM --metadata=startup-script=\#\!\ /bin/bash$'\n'echo\ 1\ \>\ /proc/sys/net/ipv4/ip_forward$'\n'iptables\ -t\ nat\ -A\ POSTROUTING\ -s\ 0.0.0.0/0\ -j\ MASQUERADE$'\n'echo\ net.ipv4.ip_forward=1\ \>\ /etc/sysctl.d/11-gce-network-security.conf$'\n'iptables-save --can-ip-forward --no-address --maintenance-policy=MIGRATE --service-account=$COMPUTE_ENGINE_SA --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append --tags=http-server,https-server --image=debian-10-buster-v20210316 --image-project=debian-cloud --boot-disk-size=10GB --boot-disk-type=pd-balanced --boot-disk-device-name=$GATEWAY_VM --no-shielded-secure-boot --shielded-vtpm --shielded-integrity-monitoring --reservation-affinity=any gcloud compute --project=$CDF_PROJECT firewall-rules create egress-allow-http --direction=INGRESS --priority=1000 --network=$VPC_NETWORK --action=ALLOW --rules=tcp:80 --source-ranges=CDF_IP_RANGE --target-tags=http-server gcloud compute --project=$CDF_PROJECT firewall-rules create egress-allow-https --direction=INGRESS --priority=1000 --network=$VPC_NETWORK --action=ALLOW --rules=tcp:443 --source-ranges=CDF_IP_RANGE --target-tags=https-server
Sostituisci quanto segue:
- CDF_PROJECT: l'identificatore univoco personalizzabile per il tuo progetto
- GATEWAY_VM: il nome della VM che vuoi configurare
- ZONE: la zona della VM
- SUBNET: la subnet
- VPC_NETWORK: il nome della VM
- COMPUTE_ENGINE_SA: il nome del tuo servizio Compute Engine account
- CDF_IP_RANGE: l'intervallo IP allocato a l'istanza Cloud Data Fusion
Utilizzo di un VPC condiviso
Se utilizzi un VPC condiviso per connettere la tua istanza privata Cloud Data Fusion alle origini sulla rete internet pubblica, crea una VM gateway nel progetto host in cui Il peering di rete VPC viene configurato con il progetto tenant.
Crea una route personalizzata
Crea una route personalizzata per connetterti all'istanza VM gateway che hai creato.
Console
Per creare la route nella console Google Cloud, consulta Aggiunta di una route statica.
Quando configuri la route:
- Imposta il campo Priority (Priorità) su un valore maggiore o uguale a
1001
. Imposta il parametro all'intervallo IP allocato a Cloud Data Fusion in esecuzione in un'istanza Compute Engine. - Utilizza lo stesso progetto e VPC dell'istanza Cloud Data Fusion privata.
- Assicurati che la configurazione del peering di rete VPC consenta l'esportazione delle route, in modo che il VPC del progetto tenant di Cloud Data Fusion importa questa route personalizzata tramite peering di rete VPC.
gcloud
Per creare la route in gcloud CLI:
export ROUTE=ROUTE gcloud beta compute routes create $ROUTE --project=$CDF_PROJECT \ --network=$VPC_NETWORK --priority=1001 \ --destination-range=0.0.0.0/0 \ --next-hop-instance=$GATEWAY_VM \ --next-hop-instance-zone=$ZONE
Sostituisci quanto segue:
- ROUTE: il nome della route personalizzata.
Verificare la configurazione
Dopo aver eseguito i passaggi precedenti, verifica di poter accedere ai servizi dei bucket S3 (o ad altri servizi SaaS o cloud pubblico) in Anteprima e Wrangler.
Configura un gateway ad alta disponibilità
Consigliato: per le applicazioni mission critical, ti consigliamo di creare VM con bilanciamento del carico.
Crea regole firewall per i controlli di integrità
Crea regole firewall per consentire:
- Porta 80 (HTTP) e porta 443 (HTTPS) da tutti gli intervalli di origine.
Traffico TCP, UDP e ICMP proveniente dal controllo di integrità gli indirizzi IP prober. Ad esempio:
130.211.0.0/22,35.191.0.0/16
.
Console
Crea regole firewall per consentire le porte di tutti gli intervalli di origine e le regole firewall per consentire il traffico TCP, UDP e ICMP dagli indirizzi IP del prober del controllo di integrità, ad esempio 130.211.0.0/22,35.191.0.0/16
.
Consulta Creazione di controlli di integrità.
gcloud
Crea una regola firewall per i controlli di integrità:
export CDF_PROJECT=PROJECT_ID export VPC_NETWORK=VPC_NETWORK gcloud compute --project=$CDF_PROJECT firewall-rules create vpc-allow-http \ --direction=INGRESS --priority=1000 \ --network=$VPC_NETWORK \ --action=ALLOW --rules=tcp:80 \ --source-ranges=CDF_IP_RANGE \ --target-tags=http-server gcloud compute --project=$CDF_PROJECT firewall-rules create vpc-allow-https \ --direction=INGRESS --priority=1000 --network=$VPC_NETWORK \ --action=ALLOW --rules=tcp:443 --source-ranges=CDF_IP_RANGE \ --target-tags=https-server gcloud compute --project=$CDF_PROJECT firewall-rules create allow-health-checks \ --network=$VPC_NETWORK \ --action=allow --direction=ingress \ --target-tags=allow-health-checks \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --rules=tcp,udp,icmp
Sostituisci quanto segue:
- PROJECT_ID: l'identificatore univoco personalizzabile per del progetto.
- VPC_NETWORK: il nome della tua rete VPC.
- CDF_IP_RANGE: l'intervallo di indirizzi IP allocato a in Cloud Data Fusion.
Crea modello di istanza VM gateway
Console
Quando crei un modello di istanza nella console:
- Crealo nello stesso VPC dell'istanza Cloud Data Fusion.
- Opzione consigliata: utilizza una VM con un l'indirizzo IP privato.
- Attiva le porte HTTP/HTTPS.
- Abilita l'IP forwarding
Nel campo Script di avvio, inserisci il seguente script:
#! /bin/bash echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 0.0.0.0/0 -j MASQUERADE echo net.ipv4.ip_forward=1 > /etc/sysctl.d/11-gce-network-security.conf iptables-save
Per ulteriori informazioni, consulta la sezione Esecuzione degli script di avvio.
Per ottenere l'intervallo IP allocato per l'istanza Cloud Data Fusion, vai alla pagina Dettagli istanza di Cloud Data Fusion.
gcloud
Crea un modello di istanza:
export TEMPLATE_NAME=TEMPLATE_NAME export REGION=REGION export SUBNET=SUBNET export SERVICE_ACCOUNT=SERVICE_ACCOUNT gcloud beta compute --project=$CDF_PROJECT instance-templates create $TEMPLATE_NAME \ --machine-type=e2-medium \ --subnet=projects/$CDF_PROJECT/regions/$REGION/subnetworks/$SUBNET \ --network-tier=PREMIUM --metadata=startup-script=sudo\ bash\ -c\ \"echo\ 1\ \>\ /proc/sys/net/ipv4/ip_forward\"$'\n'sudo\ iptables\ -t\ nat\ -A\ POSTROUTING\ -s\ 0.0.0.0/0\ -j\ MASQUERADE$'\n'sudo\ bash\ -c\ \"echo\ net.ipv4.ip_forward=1\ \>\ /etc/sysctl.d/11-gce-network-security.conf\"$'\n'sudo\ iptables-save \ --can-ip-forward --no-address --maintenance-policy=MIGRATE \ --service-account=$SERVICE_ACCOUNT \ --scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append \ --region=$REGION --tags=http-server,https-server,allow-health-checks \ --image=debian-10-buster-v20210316 \ --image-project=debian-cloud --boot-disk-size=10GB \ --boot-disk-type=pd-balanced \ --boot-disk-device-name=$TEMPLATE_NAME \ --no-shielded-secure-boot --no-shielded-vtpm \ --no-shielded-integrity-monitoring \ --reservation-affinity=any
Crea un controllo di integrità
Nessun servizio viene eseguito su questa istanza VM gateway, quindi puoi utilizzare la porta 22
per
controllo di integrità.
Console
Consulta Creazione di controlli di integrità.
gcloud
Crea un controllo di integrità:
export HEATH_CHECK=HEALTH_CHECK_NAME gcloud beta compute health-checks create tcp $HEATH_CHECK --project=$CDF_PROJECT \ --port=22 --proxy-header=NONE --no-enable-logging \ --check-interval=5 --timeout=5 \ --unhealthy-threshold=2 --healthy-threshold=2
Crea un gruppo di istanze
Utilizzando il controllo di integrità creato nel passaggio precedente, crea un gruppo di istanze:
Console
Consulta Creazione di gruppi di istanze gestite.
gcloud
Crea un gruppo di istanze:
export INSTANCE_GROUP=INSTANCE_GROUP gcloud beta compute --project=$CDF_PROJECT instance-groups managed create $INSTANCE_GROUP \ --base-instance-name=$INSTANCE_GROUP \ --template=$TEMPLATE_NAME --size=1 --zone=$ZONE \ --health-check=test --initial-delay=300 gcloud beta compute --project "$CDF_PROJECT" instance-groups managed set-autoscaling "$INSTANCE_GROUP" \ --zone "$ZONE" --cool-down-period "60" \ --max-num-replicas "10" --min-num-replicas "1" \ --target-cpu-utilization "0.6" --mode "on"
Crea un bilanciatore del carico
Crea il bilanciatore del carico TCP (ILB) dal gruppo di istanze creato nel passaggio precedente.
Aggiungi la route personalizzata al bilanciatore del carico
Aggiungi la route personalizzata al bilanciatore del carico interno (ILB) nel lo stesso VPC dell'istanza Cloud Data Fusion.
Console
Vai alla pagina Rete VPC.
Nella scheda Route, fai clic su Crea route.
gcloud
Aggiungi la route personalizzata al bilanciatore del carico interno:
export ROUTE=ROUTE_NAME export ILB_FRONTEND=<ip_of_ilb_frontend> gcloud beta compute routes create $ROUTE --project=$CDF_PROJECT \ --network=$VPC_NETWORK --priority=1001 \ --destination-range=0.0.0.0/0 \ --next-hop-ilb=$ILB_FRONTEND \ --next-hop-ilb-region=$REGION
Risoluzione dei problemi
Ricezione di errori di timeout di connessione in Preview o Wrangler
Quando configuri i controlli del traffico in uscita, potresti ricevere un errore Connection Timeout
.
Per risolvere il problema, verifica che siano presenti le seguenti impostazioni:
- Il peering della rete VPC tra il progetto del tenant e il progetto del cliente è presente.
- Nel peering di rete VPC sono abilitate le route Esporta.
- La route personalizzata alla VM gateway o al bilanciatore del carico interno non è mancante.
- Non mancano le regole firewall che consentono il traffico
HTTP
eHTTPS
.
Controlli di integrità del gruppo di istanze non riusciti
Controlla che le regole firewall
per consentire il traffico TCP, UDP e ICMP dalla
È presente 130.211.0.0/22,35.191.0.0/16
intervallo di origine.
Errore della pipeline durante l'esecuzione in Dataproc
Per accedere alla rete internet pubblica al momento dell'esecuzione, abilita Cloud NAT nella stessa regione e nella stessa rete del cluster Dataproc.
Passaggi successivi
- Scopri come controllare il traffico in uscita da un'istanza Cloud Data Fusion privata solo verso un insieme specifico di domini.
- Scopri di più sul networking in Cloud Data Fusion.