Usa registros de flujo de VPC

Los registros de flujo de VPC registran una muestra de flujos de red que enviaron y recibieron las instancias de VM, incluidas las instancias que se usaron como nodos de GKE. Estos registros se pueden usar para supervisar redes, detectar intrusiones, realizar análisis de seguridad en tiempo real y optimizar gastos.

En esta página, se da por sentado que estás familiarizado con los conceptos descritos en registros de flujo de VPC.

Habilita los registros de flujo de VPC

Cuando habilitas los registros de flujo de VPC, se habilita el registro en todas las VMs de una subred. Sin embargo, puedes reducir la cantidad de información que se escribe en el registro. Para obtener detalles sobre los parámetros que puedes controlar, consulta Muestreo y agregación de registros.

Para personalizar los campos de metadatos o configurar el filtrado de registros, usa la API de gcloud o CLI.

Habilita los registros de flujo de VPC cuando crees una subred

Consola

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en la red en la que quieres agregar una subred.

  3. Haz clic en Agregar subred.

  4. En Registros de flujo, selecciona Activado.

  5. Si deseas ajustar el muestreo y la agregación de registros, haz clic en Configurar registros y ajusta cualquiera de las siguientes opciones:

    • El Intervalo de agregación
    • Indica si se deben incluir metadatos en las entradas de registro finales. De forma predeterminada, Incluir metadatos incluye todos los campos.
    • La tasa de muestreo. 100% significa que se conservan todas las entradas.
  6. Propaga los demás campos como corresponda.

  7. Haz clic en Agregar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Ejecuta el siguiente 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]
    

    Reemplaza lo siguiente:

    • AGGREGATION_INTERVAL: el intervalo de agregación para los registros de flujo en esa subred. El intervalo se puede establecer en cualquiera de las siguientes opciones: 5 s (predeterminado), 30 s, 1 min, 5 min, 10 min o 15 min.
    • SAMPLE_RATE: La tasa de muestreo de flujo. El muestreo de flujo se puede establecer desde 0.0 (sin muestreo) hasta 1.0 (todos los registros). El valor predeterminado es 0.5.
    • FILTER_EXPRESSION: Es una expresión que define qué registros deseas conservar. La expresión tiene un límite de 2,048 caracteres. Para obtener más detalles, consulta Filtrado de registros.
    • LOGGING_METADATA: Las anotaciones de metadatos que deseas incluir en los registros:

      • include-all para incluir todas las anotaciones de metadatos
      • exclude-all para excluir todas las anotaciones de metadatos (predeterminado)
      • custom para incluir una lista personalizada de los campos de metadatos que especifiques en METADATA_FIELDS.
    • METADATA_FIELDS: una lista separada por comas de los campos de metadatos que deseas incluir en los registros. Por ejemplo, src_instance,dst_instance solo se puede configurar si LOGGING_METADATA se establece como custom.

API

Habilita los registros de flujo de VPC cuando crees una nueva subred.

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"
}

Reemplaza los marcadores de posición por valores válidos:

  • PROJECT_ID es el ID del proyecto en el que se creará la subred.
  • REGION es la región donde se creará la subred.
  • AGGREGATION_INTERVAL establece el intervalo de agregación para los registros de flujo en la subred. El intervalo se puede establecer en cualquiera de las siguientes opciones: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN o INTERVAL_15_MIN.
  • SAMPLING_RATE es la tasa de muestreo de flujo. El muestreo de flujo se puede establecer desde 0.0 (sin muestreo) hasta 1.0 (todos los registros). El valor predeterminado es .0.5.
  • EXPRESSION es la expresión de filtro que usas para filtrar qué registros se escriben. La expresión tiene un límite de 2,048 caracteres. Para obtener más detalles, consulta Filtrado de registros.
  • METADATA_SETTING especifica si se registran todos los metadatos (INCLUDE_ALL_METADATA), no se registran metadatos (EXCLUDE_ALL_METADATA) o solo se registran metadatos específicos (CUSTOM_METADATA). Si este campo se establece en CUSTOM_METADATA, también debes propagar el campo metadataFields. El valor predeterminado es EXCLUDE_ALL_METADATA. Consulta las anotaciones de metadatos para obtener más información.

  • METADATA_FIELDS son los campos de metadatos que deseas capturar cuando configuras metadata: CUSTOM_METADATA. Esta es una lista de campos de metadatos separados por comas, como src_instance, src_vpc.project_id.

  • IP_RANGE es el rango de direcciones IP internas principal de la subred.

  • NETWORK_URL es la URL de la red de VPC en la que se creará la subred.

  • SUBNET_NAME es un nombre para la subred.

Para obtener más información, consulta el método subnetworks.insert.

Terraform

Puedes usar un módulo de Terraform para crear una subred y una red de VPC en modo personalizado.

En el siguiente ejemplo, se crean tres subredes de la siguiente manera:

  • subnet-01 tiene inhabilitados los registros de flujo de VPC. Cuando creas una subred, los registros de flujo de VPC se inhabilitan, a menos que los habilites de manera explícita.
  • subnet-02 tiene habilitados los registros de flujo de VPC con la configuración de registro de flujo predeterminada.
  • subnet-03 tiene habilitados los registros de flujo de VPC con algunos parámetros de configuración personalizados.
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"
    }
  ]
}

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

Habilita los registros de flujo de VPC en una subred existente

Consola

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en la subred que quieres actualizar.

  3. Haz clic en Edit.

  4. En Registros de flujo, selecciona Activado.

  5. Si deseas ajustar el muestreo y la agregación de registros, haz clic en Configurar registros y ajusta cualquiera de las siguientes opciones:

    • El Intervalo de agregación
    • Indica si se deben incluir metadatos en las entradas de registro finales. De forma predeterminada, Incluir metadatos incluye todos los campos.
    • La tasa de muestreo. 100% significa que se conservan todas las entradas.
  6. Haz clic en Guardar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Ejecuta el siguiente 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]
    

    Reemplaza lo siguiente:

    • AGGREGATION_INTERVAL: el intervalo de agregación para los registros de flujo en esa subred. El intervalo se puede establecer en cualquiera de las siguientes opciones: 5 s (predeterminado), 30 s, 1 min, 5 min, 10 min o 15 min.
    • SAMPLE_RATE: La tasa de muestreo de flujo. El muestreo de flujo se puede establecer desde 0.0 (sin muestreo) hasta 1.0 (todos los registros). El valor predeterminado es 0.5.
    • FILTER_EXPRESSION es una expresión que define qué registros deseas conservar. La expresión tiene un límite de 2,048 caracteres. Para obtener más detalles, consulta Filtrado de registros.
    • LOGGING_METADATA: Las anotaciones de metadatos que deseas incluir en los registros:

      • include-all para incluir todas las anotaciones de metadatos
      • exclude-all para excluir todas las anotaciones de metadatos (predeterminado)
      • custom para incluir una lista personalizada de los campos de metadatos que especifiques en METADATA_FIELDS.
    • METADATA_FIELDS: una lista separada por comas de los campos de metadatos que deseas incluir en los registros. Por ejemplo, src_instance,dst_instance solo se puede configurar si LOGGING_METADATA se establece como custom.

API

Habilita los registros de flujo de VPC en una subred existente.

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

Reemplaza los marcadores de posición por valores válidos:

Para obtener más información, consulta el método subnetworks.patch.

Consulta el volumen de registro estimado para las subredes existentes

La consola de Google Cloud proporciona una estimación del volumen de registro para las subredes existentes, que luego puedes usar para estimar el costo de habilitar los registros de flujo. La estimación se basa en los flujos capturados en intervalos de 5 segundos para la subred en los últimos 7 días. Además, el tamaño de cada registro depende de si habilitas las anotaciones de metadatos.

Consola

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en la subred cuyos costos deseas calcular.

  3. Haz clic en Edit.

  4. En Registros de flujo, selecciona Activado.

  5. Haz clic en Configurar registros.

  6. Consulta Registros estimados generados por día para ver la estimación.

  7. Haz clic en Cancelar para que no se guarde ninguno de tus cambios.

Visualiza qué subredes tienen habilitados los registros de flujo de VPC

Puedes verificar qué subredes en una red tienen habilitados los registros de flujo de VPC.

Consola

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Consulta la columna Registros de flujo para ver si el registro está activado o desactivado.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Ejecuta el siguiente comando:

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

    Reemplaza lo siguiente:

    • PROJECT_ID es el ID del proyecto que consultas.
    • NETWORK es el nombre de la red que contiene las subredes.

Actualiza los parámetros de registros de flujo de VPC

Puedes modificar los parámetros de muestreo de registros. Consulta Muestreo y agregación de registros para obtener más información de los parámetros que puedes controlar.

Para personalizar los campos de metadatos o configurar el filtrado de registros, usa la API de gcloud o CLI.

Consola

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en la subred que quieres actualizar.

  3. Haz clic en Edit.

  4. Si deseas ajustar el muestreo y la agregación de registros, haz clic en Configurar registros y ajusta cualquiera de las siguientes opciones:

    • El Intervalo de agregación
    • Indica si se deben incluir metadatos en las entradas de registro finales. De forma predeterminada, Incluir metadatos incluye todos los campos.
    • La tasa de muestreo. 100% significa que se conservan todas las entradas.
  5. Haz clic en Guardar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Ejecuta el siguiente 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] \
    

    Reemplaza lo siguiente:

    • AGGREGATION_INTERVAL: el intervalo de agregación para los registros de flujo en esa subred. El intervalo se puede establecer en cualquiera de las siguientes opciones: 5 s (predeterminado), 30 s, 1 min, 5 min, 10 min o 15 min.
    • SAMPLE_RATE: La tasa de muestreo de flujo. El muestreo de flujo se puede establecer desde 0.0 (sin muestreo) hasta 1.0 (todos los registros). El valor predeterminado es 0.5.
    • FILTER_EXPRESSION es una expresión que define qué registros deseas conservar. La expresión tiene un límite de 2,048 caracteres. Para obtener más detalles, consulta Filtrado de registros.
    • LOGGING_METADATA: Las anotaciones de metadatos que deseas incluir en los registros:

      • include-all para incluir todas las anotaciones de metadatos
      • exclude-all para excluir todas las anotaciones de metadatos (predeterminado)
      • custom para incluir una lista personalizada de los campos de metadatos que especifiques en METADATA_FIELDS.
    • METADATA_FIELDS: una lista separada por comas de los campos de metadatos que deseas incluir en los registros. Por ejemplo, src_instance,dst_instance solo se puede configurar si LOGGING_METADATA se establece como custom.

API

Modifica los campos de muestreo de registros para actualizar los comportamientos de los registros de flujo de VPC.

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

Reemplaza los marcadores de posición por valores válidos:

  • PROJECT_ID es el ID del proyecto en el que se encuentra la subred.
  • REGION es la región en la que se encuentra la subred.
  • SUBNET_NAME es el nombre de la subred existente.
  • SUBNET_FINGERPRINT es el ID de huella digital de la subred existente, que se proporciona cuando describes una subred.
  • Para ver los campos que puedes modificar, consulta Habilita el registro de flujo de VPC cuando creas una subred.

Para obtener más información, consulta el método subnetworks.patch.

Inhabilita los registros de flujo de VPC en una subred

Consola

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Haz clic en la subred que quieres actualizar.

  3. Haz clic en Edit.

  4. En Registros de flujo, selecciona Desactivado.

  5. Haz clic en Guardar.

gcloud

  1. En la consola de Google Cloud, activa Cloud Shell.

    Activar Cloud Shell

    En la parte inferior de la consola de Google Cloud, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

  2. Ejecuta el siguiente comando:

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

API

Inhabilita los registros de flujo de VPC en una subred para dejar de recopilar registros.

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

Reemplaza los marcadores de posición por valores válidos:

  • PROJECT_ID es el ID del proyecto en el que se encuentra la subred.
  • REGION es la región en la que se encuentra la subred.
  • SUBNET_NAME es el nombre de la subred existente.
  • SUBNET_FINGERPRINT es el ID de huella digital de la subred existente, que se proporciona cuando describes una subred.

Para obtener más información, consulta el método subnetworks.patch.

Accede a los registros a través de Logging

Puedes ver los registros de flujo de VPC con el Explorador de registros. Para usar las siguientes consultas, necesitas el ID del proyecto de tu proyecto.

Configura IAM

Si deseas configurar el control de acceso para el registro, consulta la Guía de control de acceso para Logging.

Accede a todos los registros

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Haz clic en Recurso.

  3. En la lista Seleccionar recurso, haz clic en Subred y, luego, en Aplicar.

  4. Haz clic en Nombre del registro.

  5. En la lista Seleccionar nombres de registro, haz clic en vpc_flows y, luego, en Aplicar.

O, como alternativa:

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID del proyecto.

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

  4. Haga clic en Ejecutar consulta.

Accede a los registros de una subred específica

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Haz clic en Recurso.

  3. En la lista Seleccionar recurso, haz clic en Subred.

  4. En la lista ID de subred, selecciona la subred y, luego, haz clic en Aplicar.

  5. En la lista Seleccionar nombres de registro, haz clic en vpc_flows y, luego, en Aplicar.

O, como alternativa:

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID de tu proyecto y SUBNET_NAME por tu subred.

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

  4. Haga clic en Ejecutar consulta.

Accede a los registros de una VM específica

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID de tu proyecto y VM_NAME por el nombre de tu VM.

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

  4. Haga clic en Ejecutar consulta.

Accede a los registros de tráfico a un rango de subred específico

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID del proyecto y SUBNET_RANGE por un rango de CIDR, como 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. Haga clic en Ejecutar consulta.

Accede a los registros de un clúster de GKE específico

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID de tu proyecto y SUBNET_NAME por el nombre de tu subred.

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

  4. Haga clic en Ejecutar consulta.

Accede a los registros solo del tráfico de salida desde una subred

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID de tu proyecto y SUBNET_NAME por el nombre de la subred desde la que se mostrará el tráfico de salida.

    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. Haga clic en Ejecutar consulta.

Accede a registros de todo el tráfico de salida de una red de VPC

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID de tu proyecto y VPC_NAME por el nombre de tu red de 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. Haga clic en Ejecutar consulta.

Accede a los registros de puertos y protocolos específicos

En el caso de un puerto de destino individual, haz lo siguiente:

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID del proyecto, PORT por el puerto de destino y PROTOCOL por el protocolo.

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

  4. Haga clic en Ejecutar consulta.

En el caso de más de un puerto de destino, haz lo siguiente:

Consola

  1. En la consola de Google Cloud, ve a la página Explorador de registros.

    Ir al Explorador de registros

  2. Si no ves el campo del editor de consultas en el panel Consulta, haz clic en el botón de activación Mostrar consulta.

  3. Pega lo siguiente en el campo del editor de consultas. Reemplaza PROJECT_ID por el ID del proyecto, PORT1 y PORT2 por los puertos de destino, y PROTOCOL por el protocolo.

    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. Haga clic en Ejecutar consulta.

Enruta registros a BigQuery, Pub/Sub y orientaciones personalizadas

Puedes enrutar los registros de flujo de Logging a un destino de tu elección, como se describe en Descripción general del enrutamiento y el almacenamiento en la documentación de Logging. Consulta la sección anterior para ver ejemplos de filtros.

Soluciona problemas

Ningún vpc_flows aparece en Logging en el recurso gce_subnetwork

  • Confirma que el registro esté habilitado para la subred determinada.
  • Los flujos de VPC solo se admiten en redes de VPC. Si tienes una red heredada, no verás ningún registro.
  • En redes de VPC compartida, los registros solo aparecen en el proyecto host y no en el proyecto de servicio. Asegúrate de buscar los registros en el proyecto host.
  • Los filtros de exclusión de registros bloquean los registros especificados. Asegúrate de que ninguna regla de exclusión descarte los registros de flujo de VPC.
    1. Ve a Uso del recurso.
    2. Haz clic en la pestaña Exclusiones.
    3. Asegúrate de que no haya ninguna regla de exclusión que pueda descartar los registros de flujo de VPC.

Los valores de RTT o de bytes no aparecen en algunos registros

  • Es posible que falten mediciones de RTT si no se realizó una muestra de una cantidad suficiente de paquetes que capture el RTT. Esto es más frecuente en conexiones con poco volumen.
  • Los valores de RTT solo están disponibles para los flujos TCP.
  • Algunos paquetes se envían sin carga útil. Si solo se realizaron muestras sobre paquetes de solo encabezado, el valor en bytes será 0.

Faltan algunos flujos

  • Los paquetes de entrada se muestrean después de las reglas de firewall de entrada. Asegúrate de que no haya ninguna regla de firewall de entrada que rechace los paquetes que esperas que se registren. Si no estás seguro de si las reglas de firewall de VPC bloquean los paquetes de entrada, puedes habilitar el registro de reglas de firewall y, luego, inspeccionar los registros.
  • Solo se admiten los protocolos TCP, UDP, ICMP, ESP y GRE. Los registros de flujo de VPC no admiten ningún otro protocolo.
  • Los registros se muestrean. Algunos paquetes en flujos de volumen muy bajo pueden pasarse por alto.

Faltan anotaciones de GKE en algunos registros

Asegúrate de que tu clúster de GKE sea una versión compatible.

Faltan registros para algunos flujos de GKE

Asegúrate de que la Visibilidad dentro de los nodos esté habilitada en el clúster. De lo contrario, los flujos entre los Pods del mismo nodo no se registran.

Los registros de flujo parecen estar inhabilitados aunque los hayas habilitado

  • Cuando configuras una subred de solo proxy para balanceador de cargas de aplicaciones internos y usas el comando gcloud compute networks subnets para habilitar los registros de flujo de VPC, parece que el comando se ejecuta con éxito, pero los registros de flujo en realidad no están habilitados. La marca --enable-flow-logs no se aplica cuando también incluyes la marca --purpose=INTERNAL_HTTPS_LOAD_BALANCER.

    Si usas la consola de Google Cloud o la API para habilitar los registros de flujo, verás el mensaje de error: “Valor no válido para el campo ‘resource.enableFlowLogs’: ‘true’. Campo no válido configurado en la subred con el propósito INTERNAL_HTTPS_LOAD_BALANCEER”.

    Debido a que las subredes de solo proxy no tienen VM, no admiten los registros de flujo de VPC. Este es el comportamiento esperado.

¿Qué sigue?