Usa log di flusso VPC

Log di flusso VPC registra un campione di flussi di rete inviati e ricevuti dalle istanze VM, incluse le istanze utilizzate come nodi GKE. Questi log possono essere utilizzati per monitoraggio della rete, analisi forense, analisi della sicurezza in tempo reale e ottimizzazione delle spese.

Questa pagina presuppone la conoscenza dei concetti descritti in Log di flusso VPC.

Abilita log di flusso VPC

Se abiliti i log di flusso VPC, abiliti il logging per tutte le VM in una subnet. Tuttavia, puoi ridurre la quantità di informazioni scritte nel logging. Per i dettagli sui parametri che puoi controllare, consulta Campionamento e aggregazione dei log.

Per personalizzare i campi dei metadati o configurare il filtro dei log, utilizza l'API o l'interfaccia a riga di comando gcloud.

Abilita i log di flusso VPC quando crei una subnet

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sulla rete a cui vuoi aggiungere una subnet.

  3. Fai clic su Aggiungi subnet.

  4. In Log di flusso, seleziona On.

  5. Se vuoi modificare il campionamento e l'aggregazione dei log, fai clic su Configura i log e modifica una delle seguenti opzioni:

    • L'intervallo di aggregazione.
    • Se includere i metadati nelle voci finali di log. Per impostazione predefinita, Includi metadati include tutti i campi.
    • La frequenza di campionamento. 100% significa che tutte le voci vengono mantenute.
  6. Compila gli altri campi in base alle esigenze.

  7. Fai clic su Aggiungi.

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. Esegui questo comando:

    gcloud compute networks subnets create SUBNET_NAME \
       --enable-flow-logs \
       [--logging-aggregation-interval=AGGREGATION_INTERVAL] \
       [--logging-flow-sampling=SAMPLE_RATE] \
       [--logging-filter-expr=FILTER_EXPRESSION] \
       [--logging-metadata=LOGGING_METADATA] \
       [--logging-metadata-fields=METADATA_FIELDS] \
       [other flags as needed]
    

    Sostituisci quanto segue:

    • AGGREGATION_INTERVAL: l'intervallo di aggregazione per i log di flusso in quella subnet. L'intervallo può essere impostato su uno dei seguenti valori: 5 sec (impostazione predefinita), 30 sec, 1 min, 5 min, 10 min o 15 min.
    • SAMPLE_RATE: la frequenza di campionamento del flusso. Il campionamento dei flussi può essere impostato da 0.0 (nessun campionamento) a 1.0 (tutti i log). Il valore predefinito è 0.5.
    • FILTER_EXPRESSION: un'espressione che definisce quali log vuoi conservare. L'espressione ha un limite di 2048 caratteri. Per maggiori dettagli, consulta Filtro dei log.
    • LOGGING_METADATA: le annotazioni di metadati che vuoi includere nei log:

      • include-all per includere tutte le annotazioni dei metadati
      • exclude-all per escludere tutte le annotazioni dei metadati (impostazione predefinita)
      • custom per includere un elenco personalizzato di campi di metadati specificati in METADATA_FIELDS.
    • METADATA_FIELDS: un elenco separato da virgole di campi di metadati da includere nei log. Ad esempio, src_instance,dst_instance. Può essere impostato solo se LOGGING_METADATA è impostato su custom.

API

Abilita i log di flusso VPC quando crei una nuova subnet.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks
{
  "logConfig": {
    "aggregationInterval": "AGGREGATION_INTERVAL",
    "flowSampling": SAMPLING_RATE,
    "filterExpr": EXPRESSION,
    "metadata": METADATA_SETTING,
    "metadataFields": METADATA_FIELDS,
    "enable": true
  },
  "ipCidrRange": "IP_RANGE",
  "network": "NETWORK_URL",
  "name": "SUBNET_NAME"
}

Sostituisci i segnaposto con valori validi:

  • PROJECT_ID è l'ID del progetto in cui verrà creata la subnet.
  • REGION è la regione in cui verrà creata la subnet.
  • AGGREGATION_INTERVAL imposta l'intervallo di aggregazione per i log di flusso nella subnet. L'intervallo può essere impostato su uno dei seguenti valori: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN o INTERVAL_15_MIN.
  • SAMPLING_RATE è la frequenza di campionamento del flusso. Il campionamento dei flussi può essere impostato da 0.0 (nessun campionamento) a 1.0 (tutti i log). Il valore predefinito è .0.5.
  • EXPRESSION è l'espressione di filtro che utilizzi per filtrare i log che vengono effettivamente scritti. L'espressione ha un limite di 2048 caratteri. Per maggiori dettagli, consulta Filtro dei log.
  • METADATA_SETTING consente di specificare se vengono registrati tutti i metadati (INCLUDE_ALL_METADATA), non vengono registrati metadati (EXCLUDE_ALL_METADATA) o se vengono registrati solo metadati specifici (CUSTOM_METADATA). Se questo campo è impostato su CUSTOM_METADATA, compila anche il campo metadataFields. Il valore predefinito è EXCLUDE_ALL_METADATA. Per informazioni dettagliate, consulta le annotazioni di metadati.

  • METADATA_FIELDS sono i campi dei metadati che vuoi acquisire quando hai impostato metadata: CUSTOM_METADATA. Si tratta di un elenco separato da virgole di campi di metadati, come src_instance, src_vpc.project_id.

  • IP_RANGE è l'intervallo di indirizzi IP interni principali della subnet.

  • NETWORK_URL è l'URL della rete VPC in cui verrà creata la subnet.

  • SUBNET_NAME è un nome per la subnet.

Per ulteriori informazioni, consulta il metodo subnetworks.insert.

Terraform

Puoi utilizzare un modulo Terraform per creare una rete VPC in modalità personalizzata e subnet.

L'esempio seguente crea tre subnet come segue:

  • In subnet-01 sono disabilitati i log di flusso VPC. Quando crei una subnet, i log di flusso VPC vengono disabilitati, a meno che non li abiliti esplicitamente.
  • In subnet-02 sono abilitati log di flusso VPC con le impostazioni predefinite dei log di flusso.
  • In subnet-03 sono abilitati log di flusso VPC con alcune impostazioni personalizzate.
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-custom-mode-network"
  mtu          = 1460

  subnets = [
    {
      subnet_name   = "subnet-01"
      subnet_ip     = "10.10.10.0/24"
      subnet_region = "us-west1"
    },
    {
      subnet_name           = "subnet-02"
      subnet_ip             = "10.10.20.0/24"
      subnet_region         = "us-west1"
      subnet_private_access = "true"
      subnet_flow_logs      = "true"
    },
    {
      subnet_name               = "subnet-03"
      subnet_ip                 = "10.10.30.0/24"
      subnet_region             = "us-west1"
      subnet_flow_logs          = "true"
      subnet_flow_logs_interval = "INTERVAL_10_MIN"
      subnet_flow_logs_sampling = 0.7
      subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
      subnet_flow_logs_filter   = "false"
    }
  ]
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Abilita log di flusso VPC per una subnet esistente

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sulla subnet che vuoi aggiornare.

  3. Fai clic su Modifica.

  4. In Log di flusso, seleziona On.

  5. Se vuoi modificare il campionamento e l'aggregazione dei log, fai clic su Configura i log e modifica una delle seguenti opzioni:

    • L'intervallo di aggregazione.
    • Se includere i metadati nelle voci finali di log. Per impostazione predefinita, Includi metadati include tutti i campi.
    • La frequenza di campionamento. 100% significa che tutte le voci vengono mantenute.
  6. Fai clic su Salva.

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. Esegui questo comando:

    gcloud compute networks subnets update SUBNET_NAME \
       --enable-flow-logs \
       [--logging-aggregation-interval=AGGREGATION_INTERVAL] \
       [--logging-flow-sampling=SAMPLE_RATE] \
       [--logging-filter-expr=FILTER_EXPRESSION] \
       [--logging-metadata=LOGGING_METADATA] \
       [--logging-metadata-fields=METADATA_FIELDS] \
       [other flags as needed]
    

    Sostituisci quanto segue:

    • AGGREGATION_INTERVAL: l'intervallo di aggregazione per i log di flusso in quella subnet. L'intervallo può essere impostato su uno dei seguenti valori: 5 sec (impostazione predefinita), 30 sec, 1 min, 5 min, 10 min o 15 min.
    • SAMPLE_RATE: la frequenza di campionamento del flusso. Il campionamento dei flussi può essere impostato da 0.0 (nessun campionamento) a 1.0 (tutti i log). Il valore predefinito è 0.5.
    • FILTER_EXPRESSION è un'espressione che definisce quali log vuoi conservare. L'espressione ha un limite di 2048 caratteri. Per maggiori dettagli, consulta Filtro dei log.
    • LOGGING_METADATA: le annotazioni di metadati che vuoi includere nei log:

      • include-all per includere tutte le annotazioni dei metadati
      • exclude-all per escludere tutte le annotazioni dei metadati (impostazione predefinita)
      • custom per includere un elenco personalizzato di campi di metadati specificati in METADATA_FIELDS.
    • METADATA_FIELDS: un elenco separato da virgole di campi di metadati da includere nei log. Ad esempio, src_instance,dst_instance. Può essere impostato solo se LOGGING_METADATA è impostato su custom.

API

Abilitare i log di flusso VPC per una subnet esistente.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
  "logConfig": {
    "enable": true
    ...other logging fields.
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

Sostituisci i segnaposto con valori validi:

Per ulteriori informazioni, consulta il metodo subnetworks.patch.

Visualizza il volume di log stimato per le subnet esistenti

La console Google Cloud fornisce una stima del volume dei log per le subnet esistenti, che puoi utilizzare per stimare il costo per l'abilitazione dei log di flusso. La stima si basa sui flussi acquisiti a intervalli di 5 secondi per la subnet nei 7 giorni precedenti. Inoltre, la dimensione di ogni log dipende dall'attivazione o meno delle annotazioni dei metadati.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sulla subnet per cui vuoi stimare i costi.

  3. Fai clic su Modifica.

  4. In Log di flusso, seleziona On.

  5. Fai clic su Configura log.

  6. Visualizza la stima dei log generati al giorno per vedere la stima.

  7. Fai clic su Annulla per non salvare nessuna modifica.

Visualizza le subnet in cui sono abilitati i log di flusso VPC

Puoi verificare per quali subnet in una rete sono abilitati i log di flusso VPC.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Visualizza la colonna Log di flusso per verificare se il logging è attivato o disattivato.

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. Esegui questo comando:

    gcloud compute networks subnets list \
       --project PROJECT_ID \
       --network="NETWORK" \
       --format="csv(name,region,logConfig.enable)"

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto su cui stai eseguendo una query.
    • NETWORK: il nome della rete che contiene le subnet.

Aggiornamento dei parametri dei log di flusso VPC

Puoi modificare i parametri di campionamento dei log. Per informazioni dettagliate sui parametri che puoi controllare, consulta Campionamento e aggregazione dei log.

Per personalizzare i campi dei metadati o configurare il filtro dei log, utilizza l'API o l'interfaccia a riga di comando gcloud.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sulla subnet che vuoi aggiornare.

  3. Fai clic su Modifica.

  4. Se vuoi modificare il campionamento e l'aggregazione dei log, fai clic su Configura i log e modifica una delle seguenti opzioni:

    • L'intervallo di aggregazione.
    • Se includere i metadati nelle voci finali di log. Per impostazione predefinita, Includi metadati include tutti i campi.
    • La frequenza di campionamento. 100% significa che tutte le voci vengono mantenute.
  5. Fai clic su Salva.

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. Esegui questo comando:

    gcloud compute networks subnets update SUBNET_NAME \
       [--logging-aggregation-interval=AGGREGATION_INTERVAL] \
       [--logging-flow-sampling=SAMPLE_RATE] \
       [--logging-filter-expr=FILTER_EXPRESSION] \
       [--logging-metadata=LOGGING_METADATA] \
       [--logging-metadata-fields=METADATA_FIELDS] \
    

    Sostituisci quanto segue:

    • AGGREGATION_INTERVAL: l'intervallo di aggregazione per i log di flusso in quella subnet. L'intervallo può essere impostato su uno dei seguenti valori: 5 sec (impostazione predefinita), 30 sec, 1 min, 5 min, 10 min o 15 min.
    • SAMPLE_RATE: la frequenza di campionamento del flusso. Il campionamento dei flussi può essere impostato da 0.0 (nessun campionamento) a 1.0 (tutti i log). Il valore predefinito è 0.5.
    • FILTER_EXPRESSION è un'espressione che definisce quali log vuoi conservare. L'espressione ha un limite di 2048 caratteri. Per maggiori dettagli, consulta Filtro dei log.
    • LOGGING_METADATA: le annotazioni di metadati che vuoi includere nei log:

      • include-all per includere tutte le annotazioni dei metadati
      • exclude-all per escludere tutte le annotazioni dei metadati (impostazione predefinita)
      • custom per includere un elenco personalizzato di campi di metadati specificati in METADATA_FIELDS.
    • METADATA_FIELDS: un elenco separato da virgole di campi di metadati da includere nei log. Ad esempio, src_instance,dst_instance. Può essere impostato solo se LOGGING_METADATA è impostato su custom.

API

Modifica i campi di campionamento dei log per aggiornare i comportamenti dei log di flusso VPC.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
  "logConfig": {
    ...fields to modify
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

Sostituisci i segnaposto con valori validi:

Per ulteriori informazioni, consulta il metodo subnetworks.patch.

Disabilita log di flusso VPC per una subnet

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Fai clic sulla subnet che vuoi aggiornare.

  3. Fai clic su Modifica.

  4. Per Log di flusso, seleziona Off.

  5. Fai clic su Salva.

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. Esegui questo comando:

    gcloud compute networks subnets update SUBNET_NAME \
       --no-enable-flow-logs
    

API

Disabilita i log di flusso VPC su una subnet per interrompere la raccolta dei record di log.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
{
  "logConfig": {
    "enable": false
  },
  "fingerprint": "SUBNETWORK_FINGERPRINT"
}

Sostituisci i segnaposto con valori validi:

  • PROJECT_ID è l'ID del progetto in cui si trova la subnet.
  • REGION è la regione in cui si trova la subnet.
  • SUBNET_NAME è il nome della subnet esistente.
  • SUBNET_FINGERPRINT è l'ID fingerprint della subnet esistente, fornito quando descrivi una subnet.

Per ulteriori informazioni, consulta il metodo subnetworks.patch.

Accedi ai log utilizzando Logging

Puoi visualizzare i log di flusso VPC utilizzando Esplora log. Per utilizzare le seguenti query, devi avere l'ID progetto del tuo progetto.

Configura IAM

Per configurare controllo dell'accesso per il logging, consulta la guida al controllo dell'accesso per Logging.

Accedi a tutti i log di flusso

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic su Risorsa.

  3. Nell'elenco Seleziona risorsa, fai clic su Subnet, quindi su Applica.

  4. Fai clic su Nome log.

  5. Nell'elenco Seleziona nomi log, fai clic su vpc_flows, quindi su Applica.

In alternativa:

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con l'ID progetto.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    

  4. Fai clic su Esegui query.

Log di accesso per una subnet specifica

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Fai clic su Risorsa.

  3. Nell'elenco Seleziona risorsa, fai clic su Subnet.

  4. Nell'elenco ID subnet, seleziona la subnet e fai clic su Applica.

  5. Nell'elenco Seleziona nomi log, fai clic su vpc_flows, quindi su Applica.

In alternativa:

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con il tuo ID progetto e SUBNET_NAME con la tua subnet.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    resource.labels.subnetwork_name="SUBNET_NAME"
    

  4. Fai clic su Esegui query.

Log di accesso per una VM specifica

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con il tuo ID progetto e VM_NAME con il nome della VM.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.src_instance.vm_name="VM_NAME"
    

  4. Fai clic su Esegui query.

Log di accesso per il traffico verso un intervallo di subnet specifico

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con l'ID progetto e SUBNET_RANGE con un intervallo CIDR come 192.168.1.0/24.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    ip_in_net(jsonPayload.connection.dest_ip, SUBNET_RANGE)
    

  4. Fai clic su Esegui query.

Log di accesso per un cluster GKE specifico

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con il tuo ID progetto e SUBNET_NAME con il nome della subnet.

    resource.type="k8s_cluster"
    logName="projects/PROJECT_ID/logs/vpc_flows"
    resource.labels.cluster_name="CLUSTER_NAME"
    

  4. Fai clic su Esegui query.

Log di accesso solo per il traffico in uscita da una subnet

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con l'ID del progetto e SUBNET_NAME con il nome della subnet da cui visualizzare il traffico in uscita.

    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" AND
    jsonPayload.reporter="SRC" AND
    jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" AND
    (jsonPayload.dest_vpc.subnetwork_name!="SUBNET_NAME" OR NOT jsonPayload.dest_vpc.subnetwork_name:*)
    

  4. Fai clic su Esegui query.

Log di accesso per tutto il traffico in uscita da una rete VPC

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con l'ID del progetto e VPC_NAME con il nome della rete VPC.

    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" AND
    jsonPayload.reporter="SRC" AND
    jsonPayload.src_vpc.vpc_name="VPC_NAME" AND
    (jsonPayload.dest_vpc.vpc_name!="VPC_NAME" OR NOT jsonPayload.dest_vpc:*)
    
  4. Fai clic su Esegui query.

Log di accesso per porte e protocolli specifici

Per una singola porta di destinazione

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con l'ID progetto, PORT con la porta di destinazione e PROTOCOL con il protocollo.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=PORT
    jsonPayload.connection.protocol=PROTOCOL
    

  4. Fai clic su Esegui query.

Per più porte di destinazione

Console

  1. Nella console Google Cloud, vai alla pagina Esplora log.

    Vai a Esplora log

  2. Se non vedi il campo dell'editor query nel riquadro Query, fai clic sul pulsante di attivazione/disattivazione Mostra query.

  3. Incolla quanto segue nel campo dell'editor query. Sostituisci PROJECT_ID con l'ID progetto, PORT1 e PORT2 con le porte di destinazione e PROTOCOL con il protocollo.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=(PORT1 OR PORT2)
    jsonPayload.connection.protocol=PROTOCOL
    

  4. Fai clic su Esegui query.

Esegui il routing dei log su BigQuery, Pub/Sub e destinazioni personalizzate

Puoi instradare i log di flusso da Logging a una destinazione a tua scelta, come descritto nella panoramica su routing e archiviazione nella documentazione di Logging. Consulta la sezione precedente per alcuni filtri di esempio.

Risoluzione dei problemi

Nessun elemento vpc_flows visualizzato in Logging per la risorsa gce_subnetwork

  • Verifica che il logging sia abilitato per la subnet specificata.
  • I flussi VPC sono supportati solo per le reti VPC. Se hai una rete precedente, non vedrai alcun log.
  • Nelle reti VPC condivise, i log vengono visualizzati solo nel progetto host, non nei progetti di servizio. Assicurati di cercare i log nel progetto host.
  • I filtri di esclusione di Logging bloccano i log specificati. Assicurati che non esistano regole di esclusione che ignorano i log di flusso VPC.
    1. Vai a Utilizzo delle risorse.
    2. Fai clic sulla scheda Esclusioni.
    3. Assicurati che non esistano regole di esclusione che potrebbero ignorare i log di flusso VPC.

Nessun valore RTT o di byte su alcuni log

  • Le misurazioni RTT potrebbero non essere disponibili se non sono stati campionati un numero sufficiente di pacchetti per acquisire RTT. Questa situazione è più probabile per le connessioni a basso volume.
  • I valori RTT sono disponibili solo per i flussi TCP.
  • Alcuni pacchetti vengono inviati senza payload. Se i pacchetti solo intestazione sono stati campionati, il valore dei byte sarà 0.

Mancano alcuni flussi

  • I pacchetti in entrata vengono campionati dopo le regole firewall VPC in entrata. Assicurati che non esistano regole firewall in entrata che negano i pacchetti che ti aspetti vengano registrati. Se non sai con certezza se le regole firewall VPC bloccano i pacchetti in entrata, puoi abilitare il logging delle regole firewall ed esaminare i log.
  • Sono supportati solo i protocolli TCP, UDP, ICMP, ESP e GRE. Log di flusso VPC non supporta altri protocolli.
  • I log vengono campionati. Potrebbero mancare alcuni pacchetti con flussi a volumi molto bassi.

Annotazioni GKE mancanti in alcuni log

Assicurati che il cluster GKE sia una versione supportata.

Log mancanti per alcuni flussi GKE

Assicurati che l'opzione Visibilità tra nodi sia abilitata nel cluster. In caso contrario, i flussi tra i pod sullo stesso nodo non vengono registrati.

I log di flusso sembrano essere disabilitati anche se li hai abilitati

  • Quando configuri una subnet solo proxy per bilanciatori del carico delle applicazioni interni e utilizzi il comando gcloud compute networks subnets per abilitare i log di flusso VPC, il comando sembra avere esito positivo, ma in realtà i log di flusso non sono abilitati. Il flag --enable-flow-logs non ha effetto se includi anche il flag --purpose=INTERNAL_HTTPS_LOAD_BALANCER.

    Quando utilizzi la console Google Cloud o l'API per abilitare i log di flusso, viene visualizzato il messaggio di errore: "Valore non valido per il campo "resource.enableFlowLogs": "true". Campo non valido impostato nella subnet con scopo INTERNAL_HTTPS_LOAD_BALANCER."

    Poiché le subnet solo proxy non hanno VM, i log di flusso VPC non sono supportati. Questo è il funzionamento previsto.

Passaggi successivi