Connettività di rete nei servizi gestiti di Google Cloud (original) (raw)

Questa pagina descrive come configurare la connettività privata da Integration Connectors al tuo servizio di backend, ad esempio CloudSQL per MySQL, CloudSQL per PostgreSQL e CloudSQL per SQL Server. Questa pagina presuppone che tu abbia familiarità con i seguenti concetti:

Considerazioni

Quando crei un collegamento del servizio PSC, considera i seguenti punti chiave:

Configura la connettività privata

Alcuni servizi gestiti di Google Cloud, comeCloudSQL MySQL, espongono un collegamento di servizio PSC per la connettività privata. In questi casi, puoi saltare questo passaggio per creare un collegamento di servizio PSC e il collegamento di servizio PSC fornito dal servizio gestito può essere utilizzato per creare il collegamento dell'endpoint Integration Connectors.

Devi creare un nuovo collegamento del servizio PSC nei seguenti scenari:

I passaggi per creare il collegamento al servizio per questi due scenari sono descritti in dettaglio nelle sezioni seguenti. Dopo aver creato il collegamento al servizio, devi creare un collegamento endpoint e configurare una connessione per utilizzare il collegamento endpoint.

Crea un collegamento al servizio per un servizio gestito che limita l'accesso

Il servizio gestito potrebbe non consentire l'inserimento nell'allowlist del progetto Integration Connectors per utilizzare l'allegato del servizio che espone. In questo caso, devi creare un bilanciatore del carico che utilizzi il collegamento di servizio ed esponga il bilanciatore del carico a Integration Connectors creando un altro collegamento di servizio nel tuo progetto.

La seguente immagine mostra un servizio gestito che espone un collegamento del servizio:

Per un esempio di servizio gestito che espone un collegamento al servizio, consulta Connettività privata per un cluster MongoDB Atlas.

Crea un bilanciatore del carico con il NEG PSC come backend

  1. Crea un NEG per connetterti a un servizio pubblicato.
  2. Aggiungi un backend a un bilanciatore del carico di rete proxy interno regionale.

Per ulteriori informazioni, consulta Creare un NEG Private Service Connect.

Crea un collegamento al servizio

  1. Crea una subnet per PSC NAT.
  2. Crea una regola firewall per consentire la richiesta da PSC NAT al bilanciatore del carico
  3. Crea il collegamento al servizio.

Per saperne di più, consulta Creare un collegamento al servizio PSC.

Consenti la connessione Private Service Connect dal progetto Integration Connectors

Per informazioni sull'inserimento nella lista consentita della connessione Private Service Connect dal progetto Integration Connectors, consulta Inserire nella lista consentita Integration Connectors.

Crea un collegamento al servizio per un servizio gestito che espone l'indirizzo IP

Se il servizio gestito non espone un collegamento di servizio, il traffico da Integration Connectors deve essere sottoposto a proxy tramite il tuo progetto.

L'immagine seguente mostra un servizio gestito che non espone un collegamento del servizio:

Per configurare la connettività privata:

  1. Crea un collegamento del servizio PSC.
    1. Crea istanze VM di Compute Engine per l'esecuzione di server proxy SOCKS5.
      1. Crea l'istanza proxy 1.
        gcloud compute instances create PROXY_INSTANCE_1 \
        --project=PROJECT_ID \
        --network-interface=network-tier=PREMIUM,subnet=SUBNET_NAME_2,no-address

    In base alle tue esigenze, puoi creare tutte le istanze VM che ti servono.
    2. Crea una regola firewall per consentire SSH alle tue istanze VM.
    gcloud compute firewall-rules create FIREWALL_RULE_NAME_SSH \
    --direction=INGRESS --priority=1000 --network=VPC_NETWORK --allow=tcp:22

L'istanza VM verrà utilizzata per il proxy del traffico da Integration Connectors al servizio gestito. Installa un proxy SOCKS5 nell'istanza VM. Il proxy di autenticazione Cloud SQL supporta il concatenamento tramite un proxy SOCKS5, che ti consente di inoltrare il traffico criptato dal proxy di autenticazione Cloud SQL all'istanza Cloud SQL di destinazione.
I passaggi dettagliati per installare e configurare un server proxy SOCKS5 non rientrano nell'ambito di questo documento e puoi installare qualsiasi proxy SOCKS5 a tua scelta. I passaggi seguenti mostrano come installare e configurare il server proxy Dante SOCKS5.
1. Accedi alla tua istanza VM tramite SSH.
gcloud compute ssh \
--tunnel-through-iap \
PROXY_INSTANCE_1
2. Installa il server proxy Dante SOCKS5.
sudo apt update
sudo apt install dante-server
3. Controlla l'interfaccia del server.
sudo ip a
4. Crea un backup della configurazione di Dante.
sudo mv /etc/danted.conf /etc/danted.conf.bak
5. Crea un nuovo file di configurazione Dante.
sudo nano /etc/danted.conf
6. Copia la seguente configurazione nel file di configurazione:
logoutput: /var/log/socks.log
# Bind the server to the 0.0.0.0 IP address to allow traffic
# traffic from the load balancer and the health check probes.
internal: 0.0.0.0 port = 1080
external: ens4
clientmethod: none
socksmethod: none
user.privileged: root
user.notprivileged: nobody
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
client block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error connect disconnect
}
socks block {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect error
}
7. Riavvia il server Dante e controlla lo stato.
sudo systemctl restart danted
sudo systemctl status danted
8. Esci dall'istanza VM.
exit
3. Crea un bilanciatore del carico con l'istanza VM come backend.
1. Crea un gruppo di istanze non gestito.
gcloud compute instance-groups unmanaged create INSTANCE_GROUP_NAME
2. Aggiungi al gruppo le istanze VM create nel passaggio 3.
gcloud compute instance-groups unmanaged add-instances INSTANCE_GROUP_NAME \
--instances=PROXY_INSTANCE_1
3. Crea un probe del controllo di integrità e consenti il traffico dal probe.
1. Crea il probe di controllo di integrità.
gcloud compute health-checks create tcp HEALTH_CHECK_NAME \
--port BACKEND_SERVER_PORT --region=REGION
In questo comando, imposta BACKEND_SERVER_PORT su 1080, che è la porta predefinita su cui vengono eseguiti i server proxy SOCKS5.
2. Crea una regola firewall per consentire il traffico dal probe.
gcloud compute firewall-rules create FIREWALL_RULE_NAME_HEALTHCHECK \
--direction=INGRESS --priority=1000 --network=VPC_NETWORK --allow=tcp:BACKEND_SERVER_PORT \
--source-ranges=35.191.0.0/16,130.211.0.0/22
4. Crea un bilanciatore del carico interno L4 e consenti il traffico dal bilanciatore del carico.
1. Crea un servizio di backend.
gcloud compute backend-services create BACKEND_SERVICE \
--load-balancing-scheme=internal --protocol=tcp --health-checks=HEALTH_CHECK_NAME \
--health-checks-region=REGION
2. Aggiungi il gruppo di istanze al servizio di backend.
gcloud compute backend-services add-backend BACKEND_SERVICE \
--instance-group=INSTANCE_GROUP_NAME \
--instance-group-zone=ZONE
3. Crea una regola di forwarding.
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
--load-balancing-scheme=internal --network=VPC_NETWORK --subnet=SUBNET_NAME_2 \
--ip-protocol=TCP --ports=BACKEND_SERVER_PORT --backend-service=BACKEND_SERVICE \
--backend-service-region=REGION
4. Crea una regola firewall per consentire il traffico interno dal bilanciatore del carico al gruppo di istanze.
gcloud compute firewall-rules create FIREWALL_RULE_NAME_INTERNAL \
--direction=INGRESS --priority=1000 --network=VPC_NETWORK \
--action=ALLOW --rules=all --source-ranges=SUBNET_RANGE_2

Crea un collegamento endpoint

Dopo aver creato un collegamento del servizio per un servizio gestito, devi creare un collegamento endpoint e utilizzarlo nella connessione.
Collegamento dell'endpoint come indirizzo IP
Per istruzioni su come creare un collegamento endpoint come indirizzo IP, consulta Crea un collegamento endpoint come indirizzo IP.
Collegamento endpoint come nome host
In alcuni casi, come i backend abilitati per TLS, la destinazione richiede l'utilizzo di nomi host anziché IP privati per eseguire la convalida TLS. Nei casi in cui viene utilizzato un DNS privato anziché un indirizzo IP per la destinazione host, oltre a creare un collegamento endpoint come indirizzo IP, devi anche configurare le zone gestite. Per istruzioni su come creare un collegamento endpoint come nome host, vedi Creare un collegamento endpoint come nome host.
In un secondo momento, quando configuri la connessione per utilizzare l'allegato dell'endpoint, puoi selezionarlo.

Configura una connessione per utilizzare il collegamento endpoint

Ora che hai creato un collegamento endpoint, utilizzalo nella connessione. Quando crei una nuova connessione o aggiorni una connessione esistente, nella sezione Destinazioni, seleziona Collegamento endpoint come Tipo di destinazione e seleziona il collegamento endpoint che hai creato dall'elenco Collegamento endpoint.
Se hai creato una zona gestita, seleziona Indirizzo host come Tipo di destinazione e utilizza il record A che hai creato durante la creazione della zona gestita.

Suggerimenti per la risoluzione dei problemi

Se hai problemi con la connettività privata, segui le linee guida elencate in questa sezione per evitare problemi comuni.
* Assicurati che il progetto tenant del connettore sia incluso nella lista consentita nell'allegato di servizio.
* Assicurati che le regole firewall abbiano la seguente configurazione:
* Il traffico dalla subnet del collegamento del servizio PSC deve essere autorizzato a raggiungere il servizio di backend.
* Il probe del controllo di integrità deve essere in grado di accedere al sistema di backend. I probe di controllo di integrità di Google Cloud hanno un intervallo IP fisso (35.191.0.0/16, 130.211.0.0/22). Pertanto, questi indirizzi IP devono essere autorizzati a inviare traffico al tuo server di backend.
* Connectivity Tests di Google Cloud può essere utilizzato per identificare eventuali lacune nella configurazione di rete. Per saperne di più, consultaCrea ed esegui Connectivity Tests.