Connessione a una rete VPC

Questa pagina mostra come utilizzare Accesso VPC serverless per connettere i servizi App Engine nell'ambiente standard direttamente alla rete VPC, consentendo l'accesso a Compute Engine di istanze VM, di Memorystore e di qualsiasi altra risorsa con all'indirizzo IP interno.

Prima di iniziare

Crea un connettore di accesso VPC serverless

Per inviare richieste alla tua rete VPC e ricevere risposte corrispondenti senza utilizzare la rete internet pubblica, puoi utilizzare Connettore di accesso VPC serverless.

Se il connettore si trova nello stesso progetto del rispettivo VPC rete, puoi creare un connettore utilizzando una subnet esistente oppure un connettore e una nuova subnet.

Se il connettore si trova in un progetto di servizio e utilizza un VPC condiviso rete, il connettore e la rete VPC associata si trovano per progetti diversi. Quando un connettore e la relativa rete VPC si trovano in diversi progetti, un amministratore di rete VPC condiviso deve creare del connettore nella rete VPC condiviso prima di poter creare e dovrai crearlo utilizzando una subnet esistente.

Per ulteriori informazioni sui requisiti delle subnet, consulta Subnet connettore requisiti.

Per informazioni sulla velocità effettiva del connettore, inclusi tipo di macchina e scalabilità, consulta Velocità effettiva e scalabilità.

Puoi creare un connettore utilizzando la console Google Cloud, Google Cloud CLI o con Terraform.

Console

  1. Vai alla pagina di riepilogo Accesso VPC serverless.

    Vai all'accesso VPC serverless

  2. Fai clic su Crea connettore.

  3. Nel campo Nome, inserisci un nome per il connettore corrispondente Denominazione di Compute Engine standard, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.

  4. Nel campo Regione, seleziona una regione per il connettore. Deve corrispondere alla regione del tuo servizio serverless.

    Se il tuo servizio o job si trova nella regione us-central o europe-west, utilizza us-central1 o europe-west1.

  5. Nel campo Rete, seleziona la rete VPC a cui collegare il connettore.

  6. Nel campo Subnet, seleziona una delle seguenti opzioni:

    • Crea un connettore utilizzando una subnet esistente:seleziona la subnet esistente. nel campo Subnet.

    • Crea un connettore e una nuova subnet:seleziona Intervallo IP personalizzato in nel campo Subnet. Poi inserisci il primo indirizzo in un /28 inutilizzato CIDR (ad esempio 10.8.0.0/28) da utilizzare come indirizzo IPv4 principale di una nuova subnet che Google Cloud crea rete VPC. Assicurati che l'intervallo IP non sia in conflitto a eventuali route esistenti nella rete VPC del connettore. Il nome della nuova subnet inizia con "aet-" .

  7. (Facoltativo) Per impostare le opzioni di scalabilità per un maggiore controllo Sul connettore, fai clic su Mostra impostazioni di scalabilità per visualizzare in un modulo di testo.

    1. Imposta il numero minimo e massimo di istanze per il connettore. o utilizzare i valori predefiniti, che sono 2 (min) e 10 (max). La fa lo scale up fino al massimo specificato se l'utilizzo del traffico richiede ma il connettore non esegue lo scale down quando il traffico diminuisce. Devi utilizzare valori compresi tra 2 e 10.
    2. Nel menu Tipo di istanza, scegli il tipo di macchina da utilizzare utilizzata per il connettore o il valore predefinito e2-micro. Osserva il costo barra laterale a destra quando scegli il tipo di istanza, che mostra la larghezza di banda e le stime dei costi.
  8. Fai clic su Crea.

  9. Un segno di spunta verde verrà visualizzato accanto al nome del connettore quando pronto per l'uso.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Aggiorna i componenti di gcloud alla versione più recente:

    gcloud components update
    
  3. Assicurati che l'API Serverless VPC Access sia abilitata per il tuo progetto:

    gcloud services enable vpcaccess.googleapis.com
    
  4. Crea il connettore utilizzando una delle seguenti opzioni:

    Per ulteriori dettagli e argomenti facoltativi, consulta la sezione gcloud riferimento.

    • Crea un connettore utilizzando una subnet esistente:

      gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
       --region REGION \
       --subnet SUBNET_NAME \
       --subnet-project HOST_PROJECT_ID \
       --min-instances MIN \
       --max-instances MAX \
       --machine-type MACHINE_TYPE
      

      Sostituisci quanto segue:

      • CONNECTOR_NAME: un nome per il connettore, nome corrispondente di Compute Engine tradizionali, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.
      • REGION: una regione per il connettore, corrispondente alla del tuo job o job serverless. Se il tuo servizio o job è in us-central o europe-west, usa us-central1 oppure europe-west1.
      • SUBNET_NAME: il nome della subnet esistente.
      • HOST_PROJECT_ID: l'host del VPC condiviso dell'ID progetto. Se il connettore e la subnet esistente si trovano nello stesso progetto, ometti il flag --subnet-project.
      • MIN: il numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 2(valore predefinito) e 9.
      • MAX: il numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 3 e 10 (valore predefinito). Se il connettore fa lo scale up fino al numero massimo di istanze, non esegue lo scale down.
      • MACHINE_TYPE: deve essere uno dei seguenti: f1-micro, e2-micro o e2-standard-4.
    • Crea un connettore e una nuova subnet:

      gcloud compute networks vpc-access connectors create CONNECTOR_NAME \
       --region REGION \
       --network VPC_NETWORK \
       --range IP_RANGE
       --min-instances MIN \
       --max-instances MAX \
       --machine-type MACHINE_TYPE
      

      Sostituisci quanto segue:

      • CONNECTOR_NAME: un nome per il connettore, nome corrispondente di Compute Engine tradizionali, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.
      • REGION: una regione per il connettore, corrispondente alla del tuo job o job serverless. Se il tuo servizio o job è in us-central o europe-west, usa us-central1 oppure europe-west1.
      • VPC_NETWORK: il nome del VPC alla rete a cui collegare il connettore. Il connettore e La rete VPC deve trovarsi nello stesso progetto.
      • IP_RANGE: fornisci un CIDR /28 inutilizzato (per esempio 10.8.0.0/28) da utilizzare come intervallo di indirizzi IPv4 principale di una nuova subnet che Google Cloud crea rete VPC. Assicurati che l'intervallo IP non in conflitto con eventuali route esistenti nel rete VPC. Il nome della nuova subnet inizia con la "aet-" .
      • MIN: il numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 2(valore predefinito) e 9.
      • MAX: il numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra 3 e 10 (valore predefinito). Se il connettore fa lo scale up fino al numero massimo di istanze, non esegue lo scale down.
      • MACHINE_TYPE: deve essere uno dei seguenti: f1-micro, e2-micro o e2-standard-4.
  5. Verifica che il connettore sia nello stato READY prima di utilizzarlo:

    gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \
    --region REGION
    

    Sostituisci quanto segue:

    • CONNECTOR_NAME: il nome del connettore; questo è il nome specificato nel passaggio precedente.
    • REGION: la regione del connettore; questo è il regione specificata nel passaggio precedente.

    L'output deve contenere la riga state: READY.

Terraform

Puoi utilizzare una risorsa Terraform per abilitare l'API vpcaccess.googleapis.com.

resource "google_project_service" "vpcaccess-api" {
  project = var.project_id # Replace this with your project ID in quotes
  service = "vpcaccess.googleapis.com"
}

Puoi utilizzare i moduli Terraform per creare una rete VPC e una subnet, di rete.

module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 9.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "my-serverless-network"
  mtu          = 1460

  subnets = [
    {
      subnet_name   = "serverless-subnet"
      subnet_ip     = "10.10.10.0/28"
      subnet_region = "us-central1"
    }
  ]
}

module "serverless-connector" {
  source     = "terraform-google-modules/network/google//modules/vpc-serverless-connector-beta"
  version    = "~> 9.0"
  project_id = var.project_id
  vpc_connectors = [{
    name        = "central-serverless"
    region      = "us-central1"
    subnet_name = module.test-vpc-module.subnets["us-central1/serverless-subnet"].name
    # host_project_id = var.host_project_id # Specify a host_project_id for shared VPC
    machine_type  = "e2-standard-4"
    min_instances = 2
    max_instances = 7
    }
    # Uncomment to specify an ip_cidr_range
    #   , {
    #     name          = "central-serverless2"
    #     region        = "us-central1"
    #     network       = module.test-vpc-module.network_name
    #     ip_cidr_range = "10.10.11.0/28"
    #     subnet_name   = null
    #     machine_type  = "e2-standard-4"
    #     min_instances = 2
    #   max_instances = 7 }
  ]
  depends_on = [
    google_project_service.vpcaccess-api
  ]
}

Configura il servizio per utilizzare un connettore

Dopo aver creato un connettore di accesso VPC serverless, devi configurare ciascun servizio nell'app App Engine che vuoi per connetterti alla rete VPC.

Per specificare un connettore per un servizio nella tua app:

  1. Aggiungi il campo vpc_access_connector al file app.yaml del servizio:

    vpc_access_connector:
     name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
    

    Dove PROJECT_ID è l'ID progetto Google Cloud, REGION è la regione in cui si trova il connettore, e CONNECTOR_NAME è il nome del connettore.

  2. Esegui il deployment del servizio:

    gcloud app deploy
    

Dopo aver eseguito il deployment del servizio, il servizio può inviare richieste all'IP interno per accedere alle risorse nella tua rete VPC.

Accesso alle risorse VPC

Consenti il traffico in entrata dall'infrastruttura serverless al connettore

Le VM del connettore devono essere in grado di ricevere pacchetti da Google Cloud intervallo di indirizzi IP esterni 35.199.224.0/19. Questo intervallo è utilizzato dall'operatore l'infrastruttura serverless di Google per garantire che i servizi di Cloud Run, Cloud Functions e App Engine possono inviare pacchetti al connettore.

L'accesso VPC serverless crea una regola firewall di autorizzazione in entrata che si applica alle VM del connettore consentendo i pacchetti da 35.199.224.0/19 quando che si trova nello stesso progetto della rete VPC in cui target. Il connettore e la sua rete VPC di destinazione si trovano nello stesso progetto quando il connettore o ha come target un VPC autonomo rete o quando il connettore ha come target una rete VPC condiviso e che si trova nel progetto host.

Se crei un connettore in un progetto di servizio del VPC condiviso, L'amministratore o il proprietario del progetto host del VPC condiviso deve creare un regola firewall di autorizzazione in entrata applicabile alle VM del connettore che consentono i pacchetti da 35.199.224.0/19. Di seguito è riportato un esempio di autorizzazione in entrata Regola firewall VPC:

gcloud compute firewall-rules create RULE_NAME \
--action=ALLOW \
--rules=TCP \
--source-ranges=35.199.224.0/19 \
--target-tags=VPC_CONNECTOR_NETWORK_TAG \
--direction=INGRESS \
--network=VPC_NETWORK \
--priority=PRIORITY \
--project=PROJECT_ID

Sostituisci quanto segue:

  • RULE_NAME: il nome della nuova regola firewall. Ad esempio: allow-vpc-connector-ingress.
  • VPC_CONNECTOR_NETWORK_TAG: il connettore universale è possibile utilizzare il tag di rete vpc-connector per applicare la regola a tutti i connettori in la rete VPC. In alternativa, puoi utilizzare un tag di rete specifiche del connettore. Il tag di rete specifico prende i valori modulo seguente: vpc-connector-REGION-CONNECTOR_NAME dove REGION è la regione Google Cloud del connettore e CONNECTOR_NAME è il nome.
  • VPC_NETWORK: il nome della rete VPC a cui le destinazioni dei connettori.
  • PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta la la priorità più alta.
  • PROJECT_ID: l'ID del progetto che contiene la rete VPC scelta come target dal connettore.

Limita le risorse di rete VPC di accesso alle VM del connettore

Puoi limitare l'accesso del connettore alle risorse nella sua destinazione Rete VPC mediante firewall VPC o regole in firewall criteri. Puoi farlo delle limitazioni utilizzando una delle seguenti strategie:

  • Crea regole in entrata le cui destinazioni rappresentano le risorse desiderate per limitare l'accesso alle VM del connettore e le cui origini rappresentano le VM del connettore.
  • Creare regole in uscita le cui destinazioni rappresentano le VM del connettore Le destinazioni rappresentano le risorse per cui vuoi limitare la VM del connettore a cui accedono.

I seguenti esempi illustrano ciascuna strategia.

Limita l'accesso mediante regole in entrata

Scegli i tag di rete o gli intervalli CIDR per controllare il il traffico in entrata nella tua rete VPC.

Tag di rete

I passaggi seguenti mostrano come creare regole in entrata che limitano un l'accesso del connettore alla tua rete VPC in base al connettore tag di rete.

  1. Assicurati di disporre delle autorizzazioni necessarie per inserire le regole firewall. Devi disporre di uno dei seguenti requisiti: Ruoli di Identity and Access Management (IAM):

  2. Nega il traffico del connettore nella rete VPC.

    Crea una regola firewall in entrata con priorità inferiore a 1000 sul tuo Rete VPC per negare il traffico in entrata dalla rete del connettore del tag. Questo sostituisce la regola firewall implicita L'accesso VPC serverless crea sul tuo VPC per impostazione predefinita.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --source-tags=VPC_CONNECTOR_NETWORK_TAG \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio: deny-vpc-connector.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

      Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli: ah, all, esp, icmp, ipip e sctp.

    • VPC_CONNECTOR_NETWORK_TAG: la rete del connettore universale se vuoi limitare l'accesso per tutti i connettori (inclusi quelli connettori creati in futuro) o il tag di rete univoco se desideri limitare l'accesso per un connettore specifico.

      • Tag di rete universale: vpc-connector
      • Tag di rete univoco: vpc-connector-REGION-CONNECTOR_NAME

        Sostituisci:

        • REGION: la regione del connettore che ti interessa per limitare
        • CONNECTOR_NAME: il nome del connettore che vuoi limitare

      Per ulteriori informazioni sui tag di rete del connettore, consulta Tag di rete.

    • VPC_NETWORK: il nome della tua rete VPC

    • PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.

  3. Consenti il traffico del connettore alla risorsa che deve ricevere il connettore per via del traffico.

    Utilizza i flag allow e target-tags per creare un firewall in entrata che ha come target la risorsa nella rete VPC a cui deve accedere il connettore VPC. Imposta la priorità per che questa regola sia un valore inferiore alla priorità della regola che hai creato al passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --source-tags=VPC_CONNECTOR_NETWORK_TAG \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --target-tags=RESOURCE_TAG \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio: allow-vpc-connector-for-select-resources.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

    • VPC_CONNECTOR_NETWORK_TAG: la rete del connettore universale se vuoi limitare l'accesso per tutti i connettori (inclusi quelli connettori creati in futuro) o il tag di rete univoco se desideri limitare l'accesso per un connettore specifico. Deve corrispondere alla rete specificato nel passaggio precedente.

      • Tag di rete universale: vpc-connector
      • Tag di rete univoco: vpc-connector-REGION-CONNECTOR_NAME

        Sostituisci:

        • REGION: la regione del connettore che ti interessa per limitare
        • CONNECTOR_NAME: il nome del connettore che vuoi limitare

      Per ulteriori informazioni sui tag di rete del connettore, consulta Tag di rete.

    • VPC_NETWORK: il nome della tua rete VPC

    • RESOURCE_TAG: il tag di rete per il VPC risorsa a cui vuoi che il connettore VPC acceda

    • PRIORITY: un numero intero minore della priorità impostata al passaggio precedente. Ad esempio, se imposti la priorità per la regola che hai creato nel passaggio precedente a 990, prova a 980.

Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione regole firewall, consulta le documentazione relativa a gcloud compute firewall-rules create.

Intervallo CIDR

I passaggi seguenti mostrano come creare regole in entrata che limitano un l'accesso del connettore alla tua rete VPC in base al Intervallo CIDR.

  1. Assicurati di disporre delle autorizzazioni necessarie per inserire le regole firewall. Devi disporre di uno dei seguenti requisiti: Ruoli di Identity and Access Management (IAM):

  2. Nega il traffico del connettore nella rete VPC.

    Crea una regola firewall in entrata con priorità inferiore a 1000 sul tuo Rete VPC per negare il traffico in entrata dal CIDR del connettore intervallo. Questo sostituisce la regola firewall implicita L'accesso VPC serverless crea sul tuo VPC per impostazione predefinita.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --source-ranges=VPC_CONNECTOR_CIDR_RANGE \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio: deny-vpc-connector.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

      Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli: ah, all, esp, icmp, ipip e sctp.

    • VPC_CONNECTOR_CIDR_RANGE: l'intervallo CIDR per il connettore di cui stai limitando l'accesso

    • VPC_NETWORK: il nome della tua rete VPC

    • PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.

  3. Consenti il traffico del connettore alla risorsa che deve ricevere il connettore per via del traffico.

    Utilizza i flag allow e target-tags per creare un firewall in entrata che ha come target la risorsa nella rete VPC a cui deve accedere il connettore VPC. Imposta la priorità per che questa regola sia un valore inferiore alla priorità della regola che hai creato al passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --source-ranges=VPC_CONNECTOR_CIDR_RANGE \
    --direction=INGRESS \
    --network=VPC_NETWORK \
    --target-tags=RESOURCE_TAG \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio: allow-vpc-connector-for-select-resources.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

    • VPC_CONNECTOR_CIDR_RANGE: l'intervallo CIDR per il connettore l'utente di cui stai limitando l'accesso

    • VPC_NETWORK: il nome della tua rete VPC

    • RESOURCE_TAG: il tag di rete per il VPC risorsa a cui vuoi che il connettore VPC acceda

    • PRIORITY: un numero intero minore della priorità impostata al passaggio precedente. Ad esempio, se imposti la priorità per la regola che hai creato nel passaggio precedente a 990, prova a 980.

Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione regole firewall, consulta le documentazione relativa a gcloud compute firewall-rules create.

Limitare l'accesso mediante regole in uscita

I passaggi seguenti mostrano come creare regole in uscita per limitare l'accesso ai connettori.

  1. Assicurati di disporre delle autorizzazioni necessarie per inserire le regole firewall. Tu deve disporre di uno dei seguenti requisiti per Identity and Access Management (IAM) ruoli:

  2. Rifiutare il traffico in uscita dal connettore.

    Crea una regola firewall in uscita sull'accesso VPC serverless per impedirgli di inviare traffico in uscita, ad eccezione del in base a risposte consolidate, in qualsiasi destinazione.

    gcloud compute firewall-rules create RULE_NAME \
    --action=DENY \
    --rules=PROTOCOL \
    --direction=EGRESS \
    --target-tags=VPC_CONNECTOR_NETWORK_TAG \
    --network=VPC_NETWORK \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio: deny-vpc-connector.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

      Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli: ah, all, esp, icmp, ipip e sctp.

    • VPC_CONNECTOR_NETWORK_TAG: il VPC universale tag di rete del connettore se desideri applicare la regola a tutte le istanze Connettori VPC ed eventuali connettori VPC creati in futuro. Oppure, il tag di rete univoco del connettore VPC per controllare un connettore specifico.

    • VPC_NETWORK: il nome della tua rete VPC

    • PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta la la priorità più alta.

  3. Consenti il traffico in uscita quando la destinazione è nell'intervallo CIDR desiderato al tuo connettore.

    Utilizza i flag allow e destination-ranges per creare una regola firewall consentendo il traffico in uscita dal connettore per un intervallo di destinazione specifico. Imposta l'intervallo di destinazione sull'intervallo CIDR della risorsa nel La rete VPC a cui vuoi che il connettore possa accedere. Imposta la priorità per questa regola in modo che sia un valore inferiore alla priorità del regolata nel passaggio precedente.

    gcloud compute firewall-rules create RULE_NAME \
    --allow=PROTOCOL \
    --destination-ranges=RESOURCE_CIDR_RANGE \
    --direction=EGRESS \
    --network=VPC_NETWORK \
    --target-tags=VPC_CONNECTOR_NETWORK_TAG \
    --priority=PRIORITY
    

    Sostituisci quanto segue:

    • RULE_NAME: il nome della nuova regola firewall. Ad esempio: allow-vpc-connector-for-select-resources.

    • PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono tcp o udp. Ad esempio, tcp:80,udp consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione per allow flag.

    • RESOURCE_CIDR_RANGE: l'intervallo CIDR del connettore la cui accesso limitato

    • VPC_NETWORK: il nome della tua rete VPC

    • VPC_CONNECTOR_NETWORK_TAG: il VPC universale tag di rete del connettore se desideri applicare la regola a tutte le istanze Connettori VPC ed eventuali connettori VPC creati in futuro. Oppure, il tag di rete univoco del connettore VPC per controllare un connettore specifico. Se hai utilizzato l'attributo nel passaggio precedente, utilizza il tag di rete univoco.

    • PRIORITY: un numero intero minore della priorità impostata al passaggio precedente. Ad esempio, se imposti la priorità per la regola che hai creato nel passaggio precedente a 990, prova a 980.

Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione di un firewall di Google Cloud, fai riferimento documentazione relativa a gcloud compute firewall-rules create.

Gestisci il tuo connettore

Controllo del traffico in uscita da un servizio

Per impostazione predefinita, vengono effettuate solo le richieste agli indirizzi IP e ai nomi DNS interni instradato tramite un connettore di accesso VPC serverless. Puoi specificare l'impostazione di traffico in uscita per il tuo servizio nel file app.yaml.

Le impostazioni in uscita non sono compatibili con il servizio di recupero URL. Se utilizzi la libreria urlfetch, le impostazioni relative al traffico in uscita vengono ignorate e le richieste non attraverso un connettore di accesso VPC serverless.

Per configurare il comportamento in uscita del servizio App Engine:

  1. Aggiungi l'attributo egress_setting al campo vpc_access_connector del tuo file app.yaml del servizio:

    vpc_access_connector:
      name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
      egress_setting: EGRESS_SETTING
    

    Sostituisci:

    • PROJECT_ID con il tuo ID progetto Google Cloud
    • REGION con la regione in cui si trova il connettore
    • CONNECTOR_NAME con il nome del tuo connettore
    • EGRESS_SETTING con uno dei seguenti:
      • private-ranges-only Predefinita. Richieste solo a RFC 1918 e Indirizzo IP RFC 6598 o nomi DNS interni vengono instradati al VPC in ogni rete. Tutte le altre richieste vengono indirizzate direttamente a internet.
      • all-traffic Tutte le richieste in uscita dal tuo servizio sono instradato verso la tua rete VPC. Le richieste sono quindi soggette il firewall, il DNS e le regole di routing della rete VPC. Tieni presente che instradamento di tutte le richieste in uscita alla rete VPC aumenta la quantità di traffico in uscita gestito Connettore di accesso VPC serverless e prevede addebiti.
  2. Esegui il deployment del servizio:

    gcloud app deploy
    

Disconnetti un servizio da una rete VPC

Per disconnettere un servizio da una rete VPC, rimuovi campo vpc_access_connector del file app.yaml ed esegui nuovamente il deployment del servizio.

I connettori continuano a essere soggetti ad addebiti anche se non dispongono di traffico e disconnesso. Per i dettagli, consulta i pricing. Se non hai più bisogno del connettore, assicurati di eliminarlo per evitare e continuare la fatturazione.

Aggiorna un connettore

Puoi aggiornare e monitorare i seguenti attributi del connettore utilizzando la console Google Cloud, Google Cloud CLI o l'API:

  • Tipo di macchina (istanza)
  • Numero minimo e massimo di istanze
  • Velocità effettiva recente, numero di istanze e utilizzo della CPU

Aggiorna tipo di macchina

Console

  1. Vai alla pagina di riepilogo Accesso VPC serverless.

    Vai all'accesso VPC serverless

  2. Seleziona il connettore da modificare e fai clic su Modifica.

  3. Nell'elenco Tipo di istanza, seleziona la macchina che preferisci (istanza) di testo. Per saperne di più sui tipi di macchina disponibili, consulta la documentazione Velocità effettiva e scalabilità.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per aggiornare il tipo di macchina del connettore, esegui questo comando nel tuo terminale:

    gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --machine-type=MACHINE_TYPE
    
    Sostituisci quanto segue:

    • CONNECTOR_NAME: il nome del tuo connettore
    • REGION: il nome della regione del connettore
    • MACHINE_TYPE: il tipo di macchina che preferisci. A sui tipi di macchine disponibili, consulta la documentazione Velocità effettiva e scalabilità.

Riduci il numero minimo e massimo di istanze

Per diminuire il numero minimo e massimo di istanze, devi farlo le seguenti:

  1. Crea un nuovo connettore con i valori che preferisci.
  2. Aggiorna il servizio o la funzione per utilizzare il nuovo connettore.
  3. Elimina il vecchio connettore dopo aver spostato il relativo traffico.

Consulta Creare un connettore di accesso VPC serverless per ulteriori informazioni.

Aumenta il numero minimo e massimo di istanze

Console

  1. Vai alla pagina di riepilogo Accesso VPC serverless.

    Vai all'accesso VPC serverless

  2. Seleziona il connettore da modificare e fai clic su Modifica.

  3. Nel campo Numero minimo di istanze, seleziona il numero minimo che preferisci di di Compute Engine.

    Il valore più piccolo possibile per questo campo è il valore corrente. La il valore più grande possibile per questo campo è il valore corrente nella Campo Numero massimo di istanze meno 1. Ad esempio, se il valore nel campo Il campo Numero massimo di istanze è 8, il valore più grande possibile per il valore Il campo Numero minimo di istanze è 7.

  4. Nel campo Numero massimo di istanze, seleziona il numero massimo che preferisci. di Compute Engine.

    Il valore più piccolo possibile per questo campo è il valore corrente. La il valore massimo possibile per questo campo è 10.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Per aumentare il numero minimo o massimo di istanze per il connettore, esegui questo comando nel tuo terminale:

    gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --min-instances=MIN_INSTANCES --max-instances=MAX_INSTANCES
    
    Sostituisci quanto segue:

  • CONNECTOR_NAME: il nome del tuo connettore
  • REGION: il nome della regione del connettore
  • MIN_INSTANCES: il numero minimo che preferisci di di Compute Engine.
    • Il valore più piccolo possibile per questo campo è il valore corrente min_instances. Per trovare il valore corrente, consulta Trova i valori degli attributi correnti.
    • Il valore più grande possibile per questo campo è l'attuale max_instances meno 1, perché min_instances deve essere inferiore a max_instances. Ad esempio, se max_instances è 8, il valore più grande possibile è 7. Se il connettore utilizza il valore predefinito di max-instances 10, il valore massimo possibile di questo campo è 9. Per trovare il valore di max-instances, vedi Trova i valori degli attributi correnti.
  • MAX_INSTANCES:

    • Il valore più piccolo possibile per questo campo è il valore corrente max_instances. Per trovare il valore corrente, consulta Trova i valori degli attributi correnti.
    • Il valore massimo possibile per questo campo è 10.

    Se vuoi aumentare solo il numero minimo di istanze, ma non il numero devi specificare il numero massimo di istanze. Al contrario, se vuoi aggiornare solo il numero massimo di istanze non è il numero minimo, devi comunque specificare il numero minimo di istanze. Per mantenere il numero minimo o massimo di istanze al loro valore attuale. specificare il valore attuale. Per trovare il valore corrente, consulta Trova i valori degli attributi correnti.

Trovare i valori degli attributi correnti

Per trovare i valori degli attributi correnti per il tuo connettore, esegui quanto segue in il tuo terminale:

gcloud compute networks vpc-access connectors describe CONNECTOR_NAME --region=REGION --project=PROJECT
Sostituisci quanto segue:

  • CONNECTOR_NAME: il nome del tuo connettore
  • REGION: il nome della regione del connettore
  • PROJECT: il nome del tuo progetto Google Cloud

Monitorare l'utilizzo dei connettori

Il monitoraggio dell'utilizzo nel tempo può aiutarti a determinare quando regolare impostazioni. Ad esempio, se si verificano picchi di utilizzo della CPU, potresti provare ad aumentare il numero massimo di istanze per ottenere risultati migliori. O se stai raggiungendo il limite effettiva, potresti decidere di passare a un tipo di macchina più grande.

Visualizzare i grafici relativi a velocità effettiva, numero di istanze e CPU del connettore di utilizzo delle metriche nel tempo usando la console Google Cloud:

  1. Vai alla pagina di riepilogo Accesso VPC serverless.

    Vai all'accesso VPC serverless

  2. Fai clic sul nome del connettore da monitorare.

  3. Seleziona il numero di giorni che vuoi visualizzare tra 1 e 90.

  4. Nel grafico Velocità effettiva, passa il mouse sopra il grafico per visualizzare con una velocità effettiva recente.

  5. Nel grafico Numero di istanze, passa il mouse sopra il grafico per visualizzare di istanze utilizzate di recente dal connettore.

  6. Nel grafico Utilizzo CPU, passa il mouse sopra il grafico per visualizzare la l'utilizzo recente della CPU da parte del connettore. Il grafico mostra l'utilizzo della CPU distribuito tra le istanze per il 50°, 95° e 99° percentile.

Elimina un connettore

Prima di eliminare un connettore, assicurati che nessun servizio o job sia ancora a essa connesso.

Per gli utenti del VPC condiviso che configurano i connettori nella rete VPC condivisa progetto host, puoi utilizzare il comando gcloud compute networks vpc-access connectors describe per elencare i progetti in cui sono presenti servizi o job che utilizzano di rete.

Per eliminare un connettore, utilizza la console Google Cloud o Google Cloud CLI:

Console

  1. Vai alla pagina di riepilogo Accesso VPC serverless in Console Google Cloud:

    Vai all'accesso VPC serverless

  2. Seleziona il connettore da eliminare.

  3. Fai clic su Elimina.

gcloud

  1. Nella console Google Cloud, attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Utilizza il seguente comando gcloud per eliminare un connettore:

    gcloud compute networks vpc-access connectors delete CONNECTOR_NAME --region=REGION
    

    Sostituisci quanto segue:

    • CONNECTOR_NAME con il nome del connettore da eliminare
    • REGION con la regione in cui si trova il connettore

Risoluzione dei problemi

Autorizzazioni account di servizio

Per eseguire operazioni nel tuo progetto Google Cloud, L'accesso VPC serverless utilizza Account di servizio dell'agente di servizio di accesso VPC serverless. Questo servizio l'indirizzo email dell'account ha il seguente formato:

service-PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com

Per impostazione predefinita, questo account di servizio ha Ruolo Agente di servizio di accesso VPC serverless (roles/vpcaccess.serviceAgent). Accesso VPC serverless operazioni potrebbero non riuscire se modifichi le autorizzazioni di questo account.

Errori

Errore del ruolo dell'agente di servizio richiesto per l'account di servizio

Se usi l'opzione Limita l'utilizzo del servizio risorse vincolo dei criteri dell'organizzazione per bloccare Cloud Deployment Manager (deploymentmanager.googleapis.com), potrebbe essere visualizzato il seguente messaggio di errore:

Serverless VPC Access service account (service-<PROJECT_NUMBER>@gcp-sa-vpcaccess.iam.gserviceaccount.com) needs Serverless VPC Access Service Agent role in the project.

Impostare il criterio dell'organizzazione rimuovere Deployment Manager dalla lista bloccata o aggiungerlo alla lista consentita.

Errore di creazione del connettore

Se la creazione di un connettore genera un errore, prova a procedere nel seguente modo:

  • Specifica una specifica RFC 1918 intervallo IP interno che non si sovrappone ad alcun indirizzo IP esistente delle tue risorse nella rete VPC.
  • Concedi al tuo progetto l'autorizzazione a utilizzare le immagini VM di Compute Engine dall' progetto con ID serverless-vpc-access-images. Per ulteriori informazioni come aggiornare i criteri dell'organizzazione di conseguenza, vedi Imposta i vincoli di accesso alle immagini.

Impossibile accedere alle risorse

Se hai specificato un connettore, ma non riesci comunque ad accedere alle risorse nel tuo rete VPC, assicurati che non siano presenti regole firewall Rete VPC con priorità inferiore a 1000 che nega il traffico in entrata dall'intervallo di indirizzi IP del tuo connettore.

Se configuri un connettore in un progetto di servizio del VPC condiviso, assicurati che le regole firewall consentano il traffico in entrata dall'infrastruttura serverless al connettore.

Errore di connessione rifiutata

Se ricevi connection refused o connection timeout errori che si riducono le prestazioni della rete, le tue connessioni potrebbero crescere senza limiti delle tue applicazioni serverless. Per limitare il numero massimo di usate per istanza, usa una libreria client che supporti la connessione piscine. Per esempi dettagliati di utilizzo dei pool di connessioni, vedi Gestire le connessioni ai database.

Errore di risorsa non trovata

Quando elimini una rete VPC o una regola firewall, potresti vedere un messaggio simile al seguente: The resource "aet-uscentral1-subnet--1-egrfw" was not found.

Per informazioni su questo errore e sulla sua soluzione, consulta Errore Risorsa non trovata nel campo documentazione sulle regole firewall VPC.

Passaggi successivi