Configura la connettività privata alle API e ai servizi Google

Questo documento descrive come configurare la connettività privata dagli host in un Rete VPC o rete on-premise alle API e ai servizi Google supportate dai Controlli di servizio VPC.

Prima di leggere questo documento, ti consigliamo di acquisire familiarità con i concetti dell'accesso privato Google, con le specifiche e la configurazione di rete. Consulta i diagrammi di topologia di esempio sull'utilizzo dell'accesso privato Google con i Controlli di servizio VPC.

Prima di iniziare

  • Attiva il alle API che vuoi l'accesso tramite le API e servizi di la console Google Cloud.
  • Assicurati di disporre del ruolo richiesto per creare o aggiornare le subnet. Proprietari del progetto, editor e entità IAM con la rete Il ruolo Amministratore può creare o aggiornare e assegnare gli indirizzi IP. Per ulteriori informazioni sui ruoli, leggi l'articolo IAM ruoli.
  • Verifica che sia configurata una rete VPC Accesso privato Google e accesso privato Google per gli host on-premise. Sono supportate sia le reti VPC in modalità automatica che personalizzata. Le reti legacy non sono supportate.
  • Assicurati che le istanze VM in una rete VPC abbiano un IP privato (nessun indirizzo IP pubblico) e si trovano in una subnet Accesso privato Google abilitato.
  • Per gli host on-premise, assicurati di disporre di una VPN Cloud esistente tramite un tunnel o una connessione Cloud Interconnect rete VPC. Per supportare gli host on-premise con IPv6 di rete, fai riferimento al supporto IPv6.

Panoramica della procedura

Per configurare la connettività privata, completa le seguenti attività:

  • Configura le route per gli intervalli di indirizzi IP di restricted.googleapis.com. Per Per saperne di più, consulta Configurare le route.
  • Configura le regole del firewall per consentire al traffico appropriato di raggiungere restricted.googleapis.com intervalli di indirizzi IP. Per ulteriori informazioni, vedi Configura le regole del firewall.
  • Configura il DNS in modo che il traffico verso le API di Google venga risolto nella restricted.googleapis.com intervalli di indirizzi IP. Per ulteriori informazioni, vedi Configura DNS.

Supporto IPv6 per restricted.googleapis.com

Puoi accedere alle API di Google utilizzando l'intervallo di indirizzi IPv6 per il dominio restricted.googleapis.com: 2600:2d00:0002:1000::/64.

Valuta la possibilità di configurare gli indirizzi IPv6 se vuoi utilizzare il dominio restricted.googleapis.com e hanno client che utilizzano indirizzi IPv6. I client IPv6 per cui sono configurati indirizzi IPv4 possono raggiungere le API e i servizi Google utilizzando gli indirizzi IPv4. Non tutti i servizi accettano traffico da client IPv6.

Per consentire ai client IPv6 nel tuo ambiente on-premise di accedere alle API di Google utilizzando restricted.googleapis.com, devi configurare la connessione al tuo VPC per supportare l'IPv6. Per ulteriori informazioni, consulta le seguenti pagine:

I client on-premise possono inviare richieste da qualsiasi indirizzo IPv6 GUA o ULA, ad eccezione dell'intervallo ULA fda3:e722:ac3:cc00::/64, riservata per uso interno.

Per ulteriori informazioni sul VIP restricted.googleapis.com, consulta Configurare Accesso privato Google.

Connettività diretta ad API e servizi

Alcuni servizi e API di Google offrono connettività diretta da Compute Engine di macchine virtuali (VM), bypass Google Front Ends (GFE). Per consentire devi assicurarti che le route e le regole firewall consentano il traffico in uscita per raggiungere 34.126.0.0/18 e 2001:4860:8040::/42. Non è necessario creare record DNS per questi indirizzi. Diversi prodotti Google Cloud supportano la connettività diretta per fornire prestazioni migliori a Google le API gRPC. Per attivare queste prestazioni migliorate, devi fornire l'accesso ai di indirizzi IP specificati.

La connettività diretta è supportata solo dalle risorse Google Cloud. Non puoi utilizzare la connettività diretta da host on-premise.

I servizi che offrono connettività diretta supportano i Controlli di servizio VPC.

Configura le route per restricted.googleapis.com

Sebbene i Controlli di servizio VPC vengano applicati per i indipendentemente dal dominio che utilizzi, restricted.googleapis.com fornisce mitigazione aggiuntiva del rischio di esfiltrazione di dati. restricted.googleapis.com nega l'accesso alle API e ai servizi Google che non sono supportati Controlli di servizio VPC.

Sia per l'accesso privato Google che per l'accesso privato Google per gli ambienti on-premise host, la rete VPC deve includere una route per restricted.googleapis.com intervalli di indirizzi IP il cui hop successivo è quello predefinito un gateway internet standard. Anche se l'hop successivo è un gateway internet predefinito, il traffico inviato a restricted.googleapis.com rimane all'interno della rete Google.

Se la tua rete VPC non dispone di route predefinita il cui hop successivo è gateway internet predefinito, puoi creare una route statica personalizzata la cui destinazione è l'intervallo di indirizzi IP restricted.googleapis.com, il cui hop successivo gateway internet predefinito. Per impedire l'accesso a internet, devi rimuovere altre route il cui hop successivo è il gateway internet predefinito.

Per ulteriori informazioni sull'utilizzo delle route VPC, consulta Utilizzo delle Routes nella documentazione VPC.

Configura route statiche personalizzate in una rete VPC

Aggiungi route statiche personalizzate per consentire l'accesso ai servizi gestiti da Google che Controlli di servizio VPC supportati.

gcloud compute routes create ROUTE_NAME \
  --network=NETWORK_NAME \
  --destination-range=DESTINATION_RANGE \
  --next-hop-gateway=default-internet-gateway

Sostituisci quanto segue:

  • ROUTE_NAME: un nome per la route personalizzata
  • NETWORK_NAME: il nome della tua rete VPC
  • DESTINATION_RANGE: intervallo di destinazione del percorso
    • Per indirizzare il traffico al VIP restricted.googleapis.com, usa quanto segue intervalli:
      • Per il traffico IPv4: 199.36.153.4/30
      • Per il traffico IPv6: 2600:2d00:0002:1000::/64
    • Per instradare il traffico alle API che consentono dirette per la connettività, utilizza i seguenti intervalli:
        .
      • Per il traffico IPv4: 34.126.0.0/18
      • Per il traffico IPv6: 2001:4860:8040::/42

Annuncia la route limitata agli host in una rete on-premise

Se utilizzi l'accesso privato Google per gli host on-premise, configura le route in modo che il traffico delle API di Google venga inoltrato tramite Cloud VPN Connessione Cloud Interconnect. Per annunciare gli intervalli di indirizzi VIP limitati alla rete on-premise, usa un annuncio personalizzato del router Cloud . La gli intervalli di indirizzi VIP limitati sono accessibili solo agli host on-premise che possono raggiungere la tua rete VPC tramite indirizzi IP privati.

Puoi aggiungere questa route annunciata personalizzata a un router Cloud (per tutte sessioni BGP sul router) o una sessione BGP selezionata (per una singola Cloud VPN tunnel o collegamento VLAN).

Le route IPv6 sono annunciate solo nelle sessioni BGP in cui IPv6 è abilitato.

Per creare una route annunciata personalizzata per l'intervallo limitato per tutte le BGP sessioni su un router Cloud esistente, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Router Cloud.

    Vai a Router Cloud

  2. Seleziona il router Cloud da aggiornare.

  3. Nella pagina dei dettagli del router Cloud, seleziona Modifica.

  4. Espandi la sezione Route annunciate.

  5. Per Route, seleziona Crea route personalizzate.

  6. Per continuare a pubblicizzare le subnet disponibili Router Cloud, seleziona Pubblicizza tutte le subnet visibili al router Cloud. L'attivazione di questa opzione simula Comportamento predefinito del router Cloud.

  7. Per aggiungere una route pubblicizzata, seleziona Aggiungi route personalizzata .

  8. Configura l'annuncio di route.

    • Origine: seleziona Intervallo IP personalizzato.
    • Intervallo di indirizzi IP:
        .
      • Per la connettività IPv4: 199.36.153.4/30
      • Per la connettività IPv6: 2600:2d00:0002:1000::/64
    • Descrizione: aggiungi una descrizione per Restricted Google APIs IPs.
  9. Dopo aver aggiunto i percorsi, seleziona Salva.

gcloud

Esegui il comando update utilizzando --set-advertisement-ranges o --add-advertisement-ranges per specificare gli intervalli IP personalizzati:

  • Per impostare intervalli IP personalizzati, utilizza il flag --set-advertisement-ranges. Qualsiasi le route annunciate personalizzate esistenti vengono sostituite. Nell'esempio che segue aggiorna il router Cloud my-router per pubblicizzare tutte le subnet e gli intervalli di indirizzi IP di restricted.googleapis.com.

    gcloud compute routers update my-router \
        --advertisement-mode CUSTOM \
        --set-advertisement-groups ALL_SUBNETS \
        --set-advertisement-ranges RANGES
    

    Sostituisci RANGES con gli intervalli che vuoi utilizzare:

    • Per la connettività IPv4: 199.36.153.4/30
    • Per la connettività IPv6: 2600:2d00:0002:1000::/64
    • Per la connettività IPv4 e IPv6: 199.36.153.4/30,2600:2d00:0002:1000::/64

  • Per aggiungere intervalli IP personalizzati a un annuncio esistente, utilizza il metodo --add-advertisement-ranges flag. Tieni presente che questo flag richiede La modalità pubblicità del router Cloud deve essere già impostata su custom. Nell'esempio seguente viene aggiunto l'indirizzo IP restricted.googleapis.com agli annunci del router Cloud:

    gcloud compute routers update my-router \
        --add-advertisement-ranges RANGES
    

    Sostituisci RANGES con gli intervalli che vuoi utilizzare:

    • Per la connettività IPv4: 199.36.153.4/30
    • Per la connettività IPv6: 2600:2d00:0002:1000::/64
    • Per la connettività IPv4 e IPv6: 199.36.153.4/30,2600:2d00:0002:1000::/64

Creare una route annunciata personalizzata per l'intervallo limitato su una sessione BGP specifica di un router Cloud esistente, segui questi passaggi:

Console

  1. Nella console Google Cloud, vai alla pagina Router Cloud.

    Vai a Router Cloud

  2. Seleziona il router Cloud che contiene la sessione BGP da utilizzare aggiornamento.

  3. Nella pagina dei dettagli del router Cloud, seleziona la sessione BGP aggiornamento.

  4. Nella pagina Dettagli sessione BGP, seleziona Modifica.

  5. Per Route, seleziona Crea route personalizzate.

  6. Seleziona Pubblicizza tutte le subnet visibili un router Cloud per continuare a pubblicizzare le subnet disponibili del router Cloud. L'attivazione di questa opzione simula Comportamento predefinito del router Cloud.

  7. Seleziona Aggiungi route personalizzata per aggiungere una route pubblicizzata.

  8. Configura l'annuncio di route.

    • Origine: seleziona Intervallo IP personalizzato per specificare un IP personalizzato intervallo.
    • Intervallo di indirizzi IP:
        .
      • Per la connettività IPv4: 199.36.153.4/30
      • Per la connettività IPv6: 2600:2d00:0002:1000::/64
    • Descrizione: aggiungi una descrizione per Restricted Google APIs IPs.
  9. Dopo aver aggiunto i percorsi, seleziona Salva.

gcloud

Esegui il comando update-bgp-peer utilizzando --set-advertisement-ranges o --add-advertisement-ranges da specificare gli intervalli IP personalizzati.

  • Per impostare intervalli IP personalizzati, utilizza il flag --set-advertisement-ranges. Qualsiasi le route annunciate personalizzate esistenti vengono sostituite.

    Se aggiungi intervalli personalizzati IPv6 e il traffico IPv6 è disabilitato per sessione BGP, puoi abilitarla con il flag --enable-ipv6.

    L'esempio seguente aggiorna la sessione BGP my-bgp-session sulla my-router Router Cloud per pubblicizzare tutte le subnet e intervallo IP personalizzato:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --advertisement-mode CUSTOM \
        --set-advertisement-groups ALL_SUBNETS \
        --set-advertisement-ranges RANGES
    

    Sostituisci RANGES con gli intervalli che vuoi utilizzare:

    • Per la connettività IPv4: 199.36.153.4/30
    • Per la connettività IPv6: 2600:2d00:0002:1000::/64
    • Per la connettività IPv4 e IPv6: 199.36.153.4/30,2600:2d00:0002:1000::/64

  • Per aggiungere intervalli IP personalizzati a quelli esistenti, utilizza la --add-advertisement-ranges flag. Tieni presente che questo flag richiede La modalità pubblicità del router Cloud deve essere già impostata su custom.

    Se aggiungi intervalli personalizzati IPv6 e il traffico IPv6 è disabilitato per sessione BGP, puoi abilitarla con il flag --enable-ipv6.

    L'esempio seguente aggiunge gli intervalli di indirizzi VIP limitati alla Gli annunci del router Cloud:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --add-advertisement-ranges RANGES
    

    Sostituisci RANGES con gli intervalli che vuoi utilizzare:

    • Per la connettività IPv4: 199.36.153.4/30
    • Per la connettività IPv6: 2600:2d00:0002:1000::/64
    • Per la connettività IPv4 e IPv6: 199.36.153.4/30,2600:2d00:0002:1000::/64

    Per ulteriori informazioni sulla modalità di pubblicità personalizzata, consulta annunciate.

Configurazione delle regole del firewall

Per l'accesso privato Google, le istanze VM utilizzano indirizzi IP interni e non richiedono indirizzi IP esterni per raggiungere le risorse protette dell'API di Google. Tuttavia, le istanze VM possono possedere indirizzi IP esterni Soddisfare i requisiti per l'accesso a internet. Oltre alle route annunciate personalizzate, puoi limitare il traffico in uscita dalle istanze VM nella tua rete VPC creando e regole firewall per negare il traffico in uscita.

Per impostazione predefinita, il firewall consentito in uscita consente alle istanze VM di inviare a qualsiasi destinazione, se esiste una route applicabile. Per prima cosa puoi creare per bloccare tutto il traffico in uscita. Puoi quindi creare regole di traffico in uscita prioritarie che consentono il traffico verso destinazioni selezionate nel alla rete VPC e all'indirizzo IP restricted.googleapis.com intervalli di tempo. Tutte le comunicazioni verso restricted.googleapis.com sono su TCP porta 443.

Per consentire al traffico da Google Cloud di raggiungere restricted.googleapis.com Per i VIP, aggiungi regole firewall per le destinazioni seguenti:

  • Per il traffico IPv4: 199.36.153.4/30
  • Per il traffico IPv6: 2600:2d00:0002:1000::/64

Consentire al traffico da Google Cloud di raggiungere le API e i servizi che consentono connettività diretta, aggiungi regole firewall per le seguenti destinazioni:

  • Per il traffico IPv4: 34.126.0.0/18
  • Per il traffico IPv6: 2001:4860:8040::/42

Per saperne di più sull'utilizzo delle regole firewall VPC, consulta Utilizza le regole firewall VPC nel documentazione di Cloud Next Generation Firewall.

Configura le regole del firewall on-premise per consentire al traffico Gli host on-premise raggiungono l'indirizzo IP restricted.googleapis.com intervalli di tempo.

  • Per il traffico IPv4: 199.36.153.4/30
  • Per il traffico IPv6: 2600:2d00:0002:1000::/64

La connettività diretta alle API e ai servizi Google non è supportate dalle reti on-premise.

Configura DNS

Puoi utilizzare le zone private gestite per le reti VPC. Le zone DNS private di Cloud DNS ti consentono di ospitare una zona DNS accessibile da reti VPC autorizzate. Per configurare l'inoltro da determinati server dei nomi on-premise, puoi utilizzare restricted.googleapis.com intervalli di indirizzi IP. Potrai quindi creare una zona privata per googleapis.com con un record A DNS che Maps restricted.googleapis.com e i record CNAME appropriati per ogni Nome *.googleapis.com. Per ulteriori informazioni, vedi Gestione delle zone.

Per l'accesso on-premise, puoi configurare una richiesta Cloud DNS in entrata per consentire ai server dei nomi on-premise di eseguire query su un Zona privata gestita di Cloud DNS. Puoi anche configurare un server dei nomi on-premise, come uno che utilizza BIND:

Configura DNS con Cloud DNS

Per abilitare la risoluzione DNS per le istanze VM nella tua rete VPC, gli host in una rete on-premise, o entrambe, utilizzano Cloud DNS. Se utilizzando un VPC condiviso, consulta Zone private e VPC condiviso nella documentazione di Cloud DNS. Inoltre, se utilizzi un VPC condiviso, consigliamo di includere il progetto host della rete VPC condiviso nello stesso il perimetro di servizio come progetti che si connettono alla rete.

Configura Cloud DNS utilizzando zone private

Puoi utilizzare le zone private per configurare Cloud DNS:

  1. Crea una zona privata gestita per la tua rete VPC.

    gcloud dns managed-zones create ZONE_NAME \
     --visibility=private \
     --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
     --description=DESCRIPTION \
     --dns-name=googleapis.com
    

    Sostituisci quanto segue:

    • ZONE_NAME: un nome per la zona che stai creando. Ad esempio, vpc. Questo nome viene utilizzato in ciascuno dei passaggi seguenti.
    • PROJECT_ID: l'ID del progetto che ospita il tuo rete VPC.
    • NETWORK_NAME: il nome della tua rete VPC.
    • DESCRIPTION: una descrizione facoltativa leggibile di la zona gestita.
  2. Avvia una transazione.

    gcloud dns record-sets transaction start --zone=ZONE_NAME
    

    Sostituisci ZONE_NAME con il nome della zona che creato nel primo passaggio.

  3. Aggiungi i record DNS.

    gcloud dns record-sets transaction add --name=*.googleapis.com. \
        --type=CNAME restricted.googleapis.com. \
        --zone=ZONE_NAME \
        --ttl=300
    

    Sostituisci ZONE_NAME con il nome della zona che creato nel primo passaggio.

    gcloud dns record-sets transaction add --name=restricted.googleapis.com. \
        --type=A 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7 \
        --zone=ZONE_NAME \
        --ttl=300
    

    Sostituisci ZONE_NAME con il nome della zona che creato nel primo passaggio.

    Se stai configurando gli indirizzi IPv6 per restricted.googleapis.com, anche crea il seguente set di record:

    gcloud dns record-sets transaction add --name=restricted.googleapis.com. \
        --type=AAAA 2600:2d00:0002:1000:: \
        --zone=ZONE_NAME \
        --ttl=300
    
  4. Esegui la transazione.

    gcloud dns record-sets transaction execute --zone=ZONE_NAME
    

    Sostituisci ZONE_NAME con il nome della zona che creato nel primo passaggio.

  5. Facoltativo. Per consentire agli host on-premise di raggiungere il VIP con restrizioni, completa segui questi passaggi:

    1. Crea un criterio DNS e attiva l'inoltro DNS in entrata per effettuare Servizi di risoluzione dei nomi della rete VPC esternamente disponibili per i sistemi nelle reti on-premise,

      gcloud dns policies create POLICY_NAME \
       --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
       --enable-inbound-forwarding \
       --description=DESCRIPTION
      

      Sostituisci quanto segue:

      • POLICY_NAME: un nome per il criterio che stai in fase di creazione. Ad esempio, apipolicy.
      • PROJECT_ID: l'ID del progetto che ospita il tuo rete VPC.
      • NETWORK_NAME: il nome del tuo VPC in ogni rete.
      • DESCRIPTION: una descrizione facoltativa leggibile della zona gestita.
    2. Nella rete on-premise, il DNS on-premise punta al Indirizzo IP del forwarding di Cloud DNS. Per trovare l'indirizzo IP del server di inoltro, usa il comando compute addresses list:

      gcloud compute addresses list --filter='name ~ ^dns-forwarding.*' \
       --format='csv[no-heading](address, subnetwork)'
      

Configura DNS con BIND

Se utilizzi BIND per risoluzione DNS, puoi configurarla per risolvere le richieste API di Google le API di Google con restrizioni. Usa la seguente configurazione BIND di esempio, che utilizza i criteri di risposta zone (RPZ) per ottenere questo comportamento:

  1. Aggiungi le seguenti righe a /etc/bind/named.conf:

    include "/etc/bind/named.conf.options";
    include "/etc/bind/named.conf.local";
    
  2. Aggiungi le seguenti righe a /etc/bind/named.conf.options:

    options {
      directory "/var/cache/bind";
    
      dnssec-validation no;
    
      auth-nxdomain no;    # conform to RFC 1035
      listen-on-v6 { any; };
      listen-on { any; };
      response-policy { zone "googleapis.zone"; };
      allow-query { any;};
    };
    
  3. Aggiungi le seguenti righe a /etc/bind/named.conf.local:

    include "/etc/bind/named.conf.default-zones";

    zone "googleapis.zone" { type master; file "/etc/bind/db.googleapis.zone"; allow-query {none;}; };

  4. Aggiungi le seguenti righe a /etc/bind/db.googleapis.zone:

    $TTL 1H
    @                       SOA LOCALHOST. noreply.localhost(1 1h 15m 30d 2h)
                            NS  LOCALHOST.

    *.googleapis.com CNAME restricted.googleapis.com. restricted.googleapis.com CNAME rpz-passthru.

Configurazione del DNS in casi speciali

Quando devi configurare il DNS in casi speciali, tieni presente quanto segue:

  • L'associazione BIND personalizzata non è supportata quando si utilizza Dataflow. Per personalizzare la risoluzione DNS quando utilizzando Dataflow con i Controlli di servizio VPC, usa le zone private di Cloud DNS anziché utilizzare server BIND personalizzati. Per utilizzare la tua risoluzione DNS on-premise, valuta la possibilità di usare un Metodo di forwarding DNS di Google Cloud.
  • Potresti dover configurare il DNS anche per gcr.io se, ad esempio, vuoi utilizzando Google Kubernetes Engine (GKE). Per ulteriori informazioni, consulta la sezione Configurazione di Container Registry per i cluster privati GKE.