Configura log di flusso VPC

Questa pagina descrive come configurare i log di flusso VPC. Si presume che tu con i concetti descritti in Log di flusso VPC e Informazioni sui record dei log di flusso VPC.

Abilita log di flusso VPC

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

Per personalizzare i campi dei metadati o configurare il filtro dei log, utilizza Google Cloud CLI o API.

Abilita i log di flusso VPC quando crei una subnet

Console

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

    Vai alle reti VPC

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

  3. Fai clic su Aggiungi subnet.

  4. In Log di flusso, seleziona On.

  5. Se vuoi regolare campionamento e aggregazione dei log, fai clic su Configura log e modifica una delle seguenti opzioni:

    • L'intervallo di aggregazione.
    • Indica se includere i metadati nelle voci di log finali. Di Per impostazione predefinita, Includi metadati include tutti i campi.
    • La frequenza di campionamento. 100% significa che tutte le voci vengono conservate.
  6. Compila altri campi a seconda dei casi.

  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: frequenza di campionamento del flusso. Campionamento del flusso 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 dei metadati che vuoi includere nei log:

      • Utilizza include-all per includere tutte le annotazioni dei metadati.
      • Utilizza exclude-all per escludere tutte le annotazioni dei metadati (impostazione predefinita).
      • Utilizza custom per includere un elenco personalizzato dei campi di metadati che vuoi specificare in METADATA_FIELDS.
    • METADATA_FIELDS: un elenco di metadati separati da virgole da includere nei log. Ad esempio: src_instance,dst_instance. Può essere impostato solo se LOGGING_METADATA impostata 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 quanto segue:

  • PROJECT_ID: l'ID del progetto in cui la subnet .
  • REGION: la regione in cui verrà creata la subnet.
  • AGGREGATION_INTERVAL: 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 e INTERVAL_5_MIN INTERVAL_10_MIN o INTERVAL_15_MIN.
  • SAMPLING_RATE: frequenza di campionamento del flusso. Campionamento del flusso 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 quali log vengono effettivamente scritti. L'espressione ha un limite di 2048 caratteri. Per maggiori dettagli, consulta Filtro dei log.
  • METADATA_SETTING: le annotazioni dei metadati che vuoi includere nei log:

    • Utilizza INCLUDE_ALL_METADATA per includere tutte le annotazioni dei metadati.
    • Utilizza EXCLUDE_ALL_METADATA per escludere tutte le annotazioni dei metadati (impostazione predefinita).
    • Utilizza custom per includere un elenco personalizzato dei campi di metadati che vuoi specificare in METADATA_FIELDS.
  • METADATA_FIELDS: i campi dei metadati che vuoi acquisisci quando hai impostato metadata: CUSTOM_METADATA. Si tratta di un un elenco separato da virgole di campi di metadati, ad esempio src_instance, src_vpc.project_id.

  • IP_RANGE: l'intervallo di indirizzi IP interni principali di nella 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 subnetworks.insert .

Terraform

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

L'esempio seguente crea tre subnet come segue:

  • In subnet-01 i log di flusso VPC sono disabilitati. Quando crei una subnet, I log di flusso VPC sono disabilitati a meno che non li abiliti esplicitamente.
  • In subnet-02 sono abilitati i log di flusso VPC con il log di flusso predefinito impostazioni.
  • In subnet-03 sono abilitati i 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 i log di flusso VPC per una subnet esistente

Console

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

    Vai alle 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 log e modifica una delle seguenti opzioni:

    • L'intervallo di aggregazione.
    • Indica se includere i metadati nelle voci di log finali. Di Per impostazione predefinita, Includi metadati include tutti i campi.
    • La frequenza di campionamento. 100% significa che tutte le voci vengono conservate.
  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: frequenza di campionamento del flusso. Campionamento del flusso 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 dei metadati che vuoi includere nei log:

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

API

Abilita 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 quanto segue:

Per ulteriori informazioni, consulta subnetworks.patch .

Visualizza il volume di log stimato per le subnet esistenti

La console Google Cloud fornisce una stima del volume di log per e subnet, che potrai poi utilizzare per stimare costo dell'abilitazione log di flusso. La stima si basa sui flussi acquisiti a intervalli di 5 secondi per nei 7 giorni precedenti. Inoltre, la dimensione di ogni log dipende attivi le annotazioni dei metadati.

Console

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

    Vai alle 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 i log stimati generati al giorno per vedere la stima.

  7. Fai clic su Annulla per salvare le modifiche.

Visualizza per quali subnet sono abilitati i log di flusso VPC

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

Console

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

    Vai alle reti VPC

  2. Fai clic sulla rete VPC in cui vuoi visualizzare le subnet.

  3. Fai clic sulla scheda Subnet e visualizza la colonna Log di flusso per verificare se che il logging sia 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 esegui la query.
    • NETWORK: il nome della rete contenente la subnet.

Aggiorna i parametri dei log di flusso VPC

Puoi modificare i parametri di campionamento dei log. Consulta Campionamento ed elaborazione dei log per informazioni dettagliate sui parametri che puoi controllare.

Per personalizzare i campi dei metadati o configurare il filtro dei log, utilizza gcloud CLI o API.

Console

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

    Vai alle 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 log e modifica una delle seguenti opzioni:

    • L'intervallo di aggregazione.
    • Indica se includere i metadati nelle voci di log finali. Di Per impostazione predefinita, Includi metadati include tutti i campi.
    • La frequenza di campionamento. 100% significa che tutte le voci vengono conservate.
  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 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: frequenza di campionamento del flusso. Campionamento del flusso 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 dei metadati che vuoi includere nei log:

      • Utilizza include-all per includere tutte le annotazioni dei metadati.
      • Utilizza exclude-all per escludere tutte le annotazioni dei metadati (impostazione predefinita).
      • Utilizza custom per includere un elenco personalizzato dei campi di metadati che vuoi specificare in METADATA_FIELDS.
    • METADATA_FIELDS: un elenco di metadati separati da virgole da includere nei log. Ad esempio: src_instance,dst_instance. Può essere impostato solo se LOGGING_METADATA impostata 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 quanto segue:

Per ulteriori informazioni, consulta subnetworks.patch .

Disabilita log di flusso VPC per una subnet

Console

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

    Vai alle 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 quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova la subnet individuarlo.
  • REGION: la regione in cui si trova la subnet.
  • SUBNET_NAME: il nome della subnet esistente.
  • SUBNET_FINGERPRINT: l'ID dell'impronta per una subnet esistente, fornita quando descrivi un nella subnet VPC.

Per ulteriori informazioni, consulta subnetworks.patch .

Risoluzione dei problemi

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

  • Quando configuri una subnet solo proxy per gli Application Load Balancer interni utilizzando il comando gcloud compute networks subnets per abilitare Log di flusso VPC, il comando sembra riuscire, ma i log di flusso effettivamente abilitato. Il flag --enable-flow-logs non diventa effettivo se includi anche il flag Flag --purpose=INTERNAL_HTTPS_LOAD_BALANCER.

    Quando utilizzi la console Google Cloud o l'API per abilitare i log di flusso, visualizza 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