Usa registros de flujo de VPC

Los registros de flujo de VPC registran una muestra de flujos de red enviados y recibidos por instancias de VM, incluidas instancias usadas como nodos de GKE. Estos registros se pueden usar para supervisar redes, detectar intrusiones, realizar un análisis de seguridad en tiempo real y optimizar gastos.

Puedes ver los registros de flujo en Cloud Logging y se pueden exportar a cualquier destino que admita la exportación de Cloud Logging.

Los registros de flujo se agregan por conexión desde las VM de Compute Engine y se exportan en tiempo real. Cuando te suscribes a Pub/Sub, puedes analizar los registros de flujo con las API de transmisión en tiempo real.

Propiedades principales

  • Puedes habilitar o inhabilitar los registros de flujo de VPC por subred de VPC. Cuando los registros de flujo de VPC se encuentran habilitados en una subred, recolectan información de todas las instancias de VM de esa subred.
  • Las VM realizan informes sobre todos los flujos TCP y UDP. Cada registro de flujo incluye la información que se describe en la sección Formato del registro.
  • Cada VM toma una muestra de los flujos TCP y UDP que observa, de entrada y salida, sin importar si el flujo se dirige hacia una VM o proviene de otra VM, de un host de tu centro de datos local, de un servicio de Google, o de un host de Internet. Si dos VM de GCP se comunican y ambas se encuentran en subredes con los registros de flujo de VPC habilitado, las dos VM realizan registros de los flujos.
  • Puedes usar filtros para seleccionar qué registros de flujo se excluyen de Logging y cuáles se exportan a API externas.
  • Los registros de flujo de VPC están compilados de manera nativa en la pila de herramientas de redes de la infraestructura de red de VPC. No hay retrasos adicionales ni penalización de rendimiento si se enrutan los paquetes de IP registrados hacia su lugar de destino.

Casos de uso

Supervisión de la red

Los registros de flujo de VPC te permiten ver en tiempo real la capacidad de procesamiento y rendimiento de la red. Puede hacer lo siguiente:

  • Supervisar la red de VPC
  • Realizar diagnósticos de la red
  • Filtrar los registros de flujo por VM y por aplicación para comprender los cambios en el tráfico
  • Obtener información sobre el incremento del tráfico para realizar una previsión de la capacidad

Cómo comprender el uso de la red y optimizar los gastos de tráfico de red

Con el registro de flujos de VPC puedes analizar el uso de la red. Puedes analizar los siguientes elementos del flujo de la red:

  • El tráfico entre regiones y zonas
  • El tráfico de Internet hacia países específicos
  • Los flujos que generan la mayor cantidad de tráfico (top talkers)

Puedes utilizar el análisis como base para optimizar los gastos del tráfico de red.

Intrusiones en la red

Puedes usar el registro de flujo de VPC para detectar las intrusiones en la red. Por ejemplo, si ocurre un incidente, puedes examinar los siguientes elementos:

  • Qué IP se comunicó con quién y en qué momento
  • Los IP comprometidos, mediante el análisis del flujo de red de entrada y de salida

Análisis de seguridad en tiempo real

Puedes aprovechar las API de transmisión en tiempo real (a través de Pub/Sub) y, también, integrar en los sistemas de SIEM (Información de seguridad y Administración de eventos). Esto brinda supervisión en tiempo real, correlación de eventos, análisis y alertas de seguridad.

Recopilación de registros

Los registros de flujo se recopilan para cada conexión de VM en intervalos específicos. Todos los paquetes recopilados de un intervalo determinado para una conexión en particular se agregan durante un período (intervalo de agregación) en una sola entrada de registro de flujo. Estos datos se envían a Logging.

Los registros se almacenan en Logging durante 30 días. Si quieres conservar estos registros durante más tiempo, debes exportarlos hacia un destino admitido.

Muestreo y procesamiento de registros

En Google Cloud, se muestran los paquetes que abandonan una VM y la ingresan para generar registros de flujo. No todos los paquetes se capturan en su propio registro. Se captura un aproximado de 1 de cada 10 paquetes, pero esta tasa de muestreo puede ser menor según la carga de la VM. No se puede ajustar esta tarifa.

Después de que se generen los registros de flujo, Google Cloud los procesa de acuerdo con el siguiente procedimiento:

  1. Agregación: La información de los paquetes de muestra se agrega en un intervalo de agregación configurable para producir una entrada de registro de flujo.
  2. Muestreo del registro de flujo: Este es un segundo proceso de muestreo. Las entradas del registro de flujo también se muestrean según un parámetro configurable de la tasa de muestreo.
  3. Metadatos: Si están habilitados, se agregan Anotaciones de metadatos.
  4. Escritura en el registro: Las entradas finales del registro se escriben en Cloud Logging.

A pesar de que Google Cloud no captura todos los paquetes, las capturas de registros pueden ser bastante grandes. Para equilibrar las necesidades de visibilidad del tráfico y de costo de almacenamiento, ajusta los siguientes aspectos de la recopilación de registros:

  • Intervalo de agregación: Los paquetes de muestra de un intervalo de tiempo se agregan en una sola entrada de registro. Este intervalo de tiempo puede ser de 5 s (predeterminado), 30 s, 1 min, 5 min, 10 min o 15 min.
  • Tasa de muestreo: Antes de escribirse en la base de datos, se puede muestrear la cantidad de registros para reducir su número. De forma predeterminada, el volumen de entrada del registro se ajusta en 0,50 (50%), lo que significa que se conserva la mitad de las entradas. Puedes configurar esto desde 1.0 (100%, todas las entradas de registro se mantienen) hasta 0.0 (0%, no se conserva ningún registro).
  • Anotaciones de metadatos: Según la configuración predeterminada, las entradas del registro de flujo se anotan con información de metadatos, como los nombres de las VM de origen y destino, o la región geográfica de fuentes y destinos externos. Esta anotación de metadatos se puede desactivar para ahorrar espacio de almacenamiento.

Formato del registro

Los registros contienen campos base, que son los campos principales de cada registro, y campos de metadatos que agregan información adicional. Es posible que se omitan los campos de metadatos para ahorrar costos de almacenamiento.

Algunos campos de registro se encuentran en formato de varios campos, y poseen más de un dato en un campo específico. Por ejemplo, el campo connection tiene el formato IpConnection, que contiene el puerto y la dirección IP de origen y destino, además del protocolo, en un solo campo. Estos campos de varios campos se describen a continuación en la tabla de formato de registros.

Campo Formato del campo Tipo del campo: base o metadatos opcionales
conexión IpConnection
5 tuplas que describen esta conexión.
Base
start_time string
Marca de tiempo (string con formato de fecha RFC 3339) del primer paquete observado durante el intervalo de tiempo agregado
Base
end_time string
Marca de tiempo (string con formato fecha RFC 3339) del último paquete observado durante el intervalo de tiempo agregado
Base
bytes_sent int64
Cantidad de bytes enviados desde el origen hacia el destino
Base
packets_sent int64
Cantidad de paquetes enviados desde el origen hacia el destino
Base
rtt_msec int64
Latencia medida (solo para flujos de TCP) durante el intervalo de tiempo. Este es el tiempo que transcurre entre el envío de un SEQ y la recepción de un ACK correspondiente; contiene el RTT de la red y el tiempo de retraso relacionado con la aplicación.
Base
informante string
El lado que reportó el flujo. Puede ser “SRC” o “DEST”.
Base
src_instance InstanceDetails
Si la fuente de la conexión era una VM ubicada en la misma VPC, este campo se propaga con los detalles de la instancia de VM. En una configuración de VPC compartida, project_id corresponde al proyecto que posee la instancia, en general, el proyecto de servicio.
Metadatos
dest_instance InstanceDetails
Si el destino de la conexión era una VM ubicada en la misma VPC, este campo se propaga con los detalles de la instancia de VM. En una configuración de VPC compartida, project_id corresponde al proyecto que posee la instancia, en general, el proyecto de servicio.
Metadatos
src_vpc VpcDetails
Si la fuente de la conexión era una VM ubicada en la misma VPC, este campo se propaga con los detalles de la red de VPC. En una configuración de VPC compartida, project_id corresponde a la del proyecto host.
Metadatos
dest_vpc VpcDetails
Si el destino de la conexión era una VM ubicada en la misma VPC, este campo se propaga con los detalles de la red de VPC. En una configuración de VPC compartida, project_id corresponde a la del proyecto host.
Metadatos
src_location GeographicDetails
Si el origen de la conexión es externo a la VPC de Google, en este campo se propagan los metadatos de ubicación disponibles.
Metadatos
dest_location GeographicDetails
Si el destino de la conexión es externo a la VPC de Google, en este campo se propagan los metadatos de ubicación disponibles.
Metadatos

Formato del campo IpConnection

Campo Tipo Descripción
src_ip string Dirección IP de origen
src_port int32 Puerto de origen
dest_ip string Dirección IP de destino
dest_port int32 Puerto de destino
protocol int32 Número del protocolo IANA

Formato del campo InstanceDetails

Campo Tipo Descripción
project_id string ID del proyecto que contiene la VM
vm_name string Nombre de la instancia de la VM
region string Región de la VM
zone string Zona de la VM

Formato del campo VpcDetails

Campo Tipo Descripción
project_id string ID del proyecto que contiene la VPC
vpc_name string VPC en la que opera la VM
subnetwork_name string Subred en la que opera la VM

Formato del campo GeographicDetails

Campo Tipo Descripción
continent string Continente de los extremos externos
country string País para los extremos externos, representados como códigos de país ISO 3166-1 Alfa-3.
region string Región de los extremos externos
city string Ciudad de los extremos externos
asn int32 El número del sistema autónomo (ASN) de la red externa a la que pertenece este extremo.

Ejemplos de patrones de tráfico

En esta sección se explica cómo funcionan los registros de flujo de VPC en los siguientes casos prácticos:

Flujos de VM a VM en la misma VPC

Flujos de VM dentro de una VPC (haz clic para ampliar)
Flujos de VM dentro de una VPC (haz clic para ampliar)

En los flujos de VM a VM en la misma VPC, los registros de flujo se reportan desde la VM de solicitud y la VM de respuesta, siempre y cuando ambas VM estén en subredes que tengan habilitado los registros de flujo de VPC. En este ejemplo, la VM 10.10.0.2 envía una solicitud con 1,224 bytes a la VM 10.50.0.2, que también se encuentra en una subred con el registro habilitado. A su vez, 10.50.0.2 responde a la solicitud con una respuesta que contiene 5,342 bytes. Ambas VM registran la solicitud y la respuesta: la VM de solicitud y la VM de respuesta.

Informe de la VM de solicitud (10.10.0.2)
solicitud/respuesta connection.src_ip connection.dest_ip bytes_sent Anotaciones de VPC
solicitud 10.10.0.2 10.50.0.2 1224 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
respuesta 10.50.0.2 10.10.0.2 5342 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
Informe de la VM de respuesta (10.50.0.2)
solicitud/respuesta connection.src_ip connection.dest_ip bytes Anotaciones de VPC
solicitud 10.10.0.2 10.50.0.2 1224 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
respuesta 10.50.0.2 10.10.0.2 5342 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*

Flujos de VM a una entidad externa

Flujos de VM a una entidad externa (haz clic para ampliar)
VM a flujos externos (haz clic para ampliar)

En los flujos entre una VM y una entidad externa, los registros de flujo se registran solo desde la VM:

  • En los flujos de salida, los registros se reportan desde la VM que se encuentra en el origen del tráfico.
  • En los flujos de entrada, los registros se reportan desde la VM que se encuentra en el destino del tráfico.

Esto aplica para las siguientes situaciones:

  • Tráfico entre una red de VPC y una red local a través de una VPN o de Cloud Interconnect
  • Tráfico entre las VM y ubicaciones de Internet

En este ejemplo, la VM 10.10.0.2 y el extremo local 10.30.0.2 se conectan a través de una puerta de enlace de VPN o de Cloud Interconnect. El tráfico de salida de 1,224 bytes que se envía de 10.10.0.2 a 10.30.0.2 se registra desde la VM de origen, 10.10.0.2. El tráfico de entrada de 5,342 bytes que se envía de 10.30.0.2 a 10.10.0.2 se registra desde el destino del tráfico, la VM 10.10.0.2.

solicitud/respuesta connection.src_ip connection.dest_ip bytes_sent Anotaciones de VPC
solicitud 10.10.0.2 10.30.0.2 1224 src_instance.*
src_vpc.*
dest_location.*
respuesta 10.30.0.2 10.10.0.2 5342 dest_instance.*
dest_vpc.*
src_location.*

Flujos de VM a VM para una VPC compartida

Flujos de VPC compartida (haz clic para ampliar)
Flujos de VPC compartida (haz clic para ampliar)

En los flujos de VM a VM en una VPC compartida, puedes habilitar los registros de flujo de VPC en la subred del proyecto host. Por ejemplo, la subred 10.10.0.0/20 pertenece a una red de VPC compartida que se define en un proyecto host. Puedes ver los registros de flujo de las VM que pertenecen a esta subred, incluidas las que se crean para proyectos de servicio. En este ejemplo, los proyectos de servicio se llaman “webserver (servidor web)”, “recommendation (recomendación)”, “database (base de datos)”.

En los flujos de VM a VM, cuando ambas VM se encuentran en el mismo proyecto (o en el caso de una red compartida o el mismo proyecto host) se le proporciona al otro extremo de la conexión las anotaciones del ID del proyecto y datos similares. Si la otra VM se encuentra en un proyecto diferente, no se proporciona la anotación para la otra VM.

En la siguiente tabla, se muestra un flujo que registra 10.10.0.10 o 10.10.0.20.

  • src_vpc.project_id y dest_vpc.project_id son para el proyecto host porque la subred de VPC pertenece a este.
  • src_instance.project_id y dest_instance.project_id son para los proyectos de servicio porque las instancias pertenecen a estos.
connection
src_ip
src_instance
.project_id
src_vpc
.project_id
connection
.dest_ip
dest_instance
.project_id
dest_vpc
.project_id
10.10.0.10 webserver host_project 10.10.0.20 recommendation host_project

Los proyectos de servicio no son propietarios de la red de VPC compartida ni tienen acceso a los registros de flujo de la red de VPC compartida.

Flujos de VM a VM para el intercambio de tráfico de VPC

Flujos de intercambio de tráfico de VPC (haz clic para ampliar)
Flujos de intercambio de tráfico de VPC (haz clic para ampliar)

Excepto que las dos VM se encuentren en el mismo proyecto de GCP, los flujos de VM a VM para el intercambio de tráfico de VPC se registran de la misma manera que en los extremos externos: no se proporciona información del proyecto ni de ninguna anotación a la otra VM. Si ambas VM se encuentran en el mismo proyecto, incluso si están en redes diferentes, sí se proporciona información del proyecto y otras anotaciones a la otra VM.

En este ejemplo, las subredes de la VM 10.10.0.2 del proyecto analytics-prod y de la VM 10.50.0.2 del proyecto webserver-test se conectan a través del intercambio de tráfico de VPC. Si los registros de flujo de VPC están habilitados en el proyecto analytics-prod, el tráfico (1,224 bytes) que se envía de 10.10.0.2 a 10.50.0.2 se registra desde la VM 10.10.0.2, que es el origen del flujo. El tráfico (5,342 bytes) que se envía de 10.50.0.2 a 10.10.0.2 también se registra desde la VM 10.10.0.2, que es el destino del flujo.

En este ejemplo, los registros de flujo de VPC no se encuentran habilitados en el proyecto webserver-test, por lo que la VM 10.50.0.2 no realiza registros.

reporter connection.src_ip connection.dest_ip bytes_sent Anotaciones de VPC
origen 10.10.0.2 10.50.0.2 1224 src_instance.*
src_vpc.*
destino 10.50.0.2 10.10.0.2 5342 dest_instance.*
dest_vpc.*

Flujos de VM a VM para el balanceo de cargas interno

Flujos de balanceo de cargas interno (haz clic para ampliar)
Flujos de balanceo de cargas interno (haz clic para ampliar)

Cuando agregas una VM al servicio de backend para un balanceador de cargas interno, el entorno invitado de Linux o Windows agrega la dirección IP del balanceador de cargas a la tabla de enrutamiento local de la VM. Esto permite que la VM acepte paquetes de solicitud con destinos establecidos en la dirección IP del balanceador de cargas. Cuando la VM responde, envía su respuesta directamente; sin embargo, la dirección IP de origen de los paquetes de respuesta está configurada en la dirección IP del balanceador de cargas, y no en la VM cuyas cargas se balancean.

Los flujos de VM a VM que se envían a través de un balanceador de cargas interno se registran desde el origen y el destino. En la siguiente tabla, se explican los campos de entrada de registro del flujo observados para un ejemplo de par solicitud-respuesta HTTP. A los fines de esta ilustración, considera la siguiente configuración de red:

  • Instancia del navegador en 192.168.1.2
  • Balanceador de cargas interno en 10.240.0.200
  • Instancia del servidor web en 10.240.0.3
Dirección del tráfico reporter connection.src_ip connection.dest_ip connection.src_instance connection.dest_instance
Solicitud SRC 192.168.1.2 10.240.0.200 Instancia del navegador
Solicitud DEST 192.168.1.2 10.240.0.3 Instancia del navegador Instancia de webserver
Respuesta SRC 10.240.0.3 192.168.1.2 Instancia de webserver Instancia del navegador
Respuesta DEST 10.240.0.200 192.168.1.2 Instancia del navegador

La VM de solicitud no sabe qué VM responderá a la solicitud. Además, debido a que la otra VM envía una respuesta con la IP del balanceador de cargas interno como la dirección de origen, no sabe qué VM ha respondido. Por estos motivos, la VM de solicitud no puede agregar información dest_instance a su registro, solo información src_instance. Debido a que la VM que responde conoce la dirección IP de la otra VM, puede proporcionar información src_instance y dest_instance.

Habilita los registros de flujo de VPC

Cuando habilitas los registros de flujo de VPC, se habilitan en todas las VM de una subred. También puedes especificar parámetros de muestreo de registros cuando activas el registro. Consulta el muestreo y la agregación de registros para obtener más información sobre los parámetros que puedes controlar.

Habilita los registros de flujo de VPC cuando se crea una subred

Console

  1. Ve a la página de redes de VPC en Google Cloud Console.
    Ir a la página 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 desea ajustar el muestreo y la agregación de registros, haz clic en Configurar registros y ajusta cualquiera de las siguientes opciones:
    • Intervalo de agregación
    • si deseas o no incluir metadatos en las entradas de registro finales
    • la tasa de muestreo. 100% significa que se conservan todas las entradas.
  6. Propaga los demás campos según corresponda.
  7. Haz clic en Agregar.

gcloud

    gcloud compute networks subnets create NAME \
        --enable-flow-logs \
        [--logging-aggregation-interval=INTERVAL \
        [--logging-flow-sampling=0.0...1.0] \
        [--logging-metadata=(include-all | exclude-all)] \
        [other flags as needed]
    

donde:

  • --logging-aggregation-interval=<var>INTERVAL</var> establece 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.
  • --logging-flow-sampling 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.
  • --logging-metadata=(include-all | exclude-all) activa o desactiva las anotaciones de metadatos del registro. Según la opción predeterminada, está activada.

API

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

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

Reemplaza los marcadores 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.
  • IP_RANGE es el rango principal de direcciones IP internas 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.

Habilita los registros de flujo de VPC en una subred existente

Console

  1. Ve a la página de redes de VPC en Google Cloud Console.
    Ir a la página Redes de VPC
  2. Haz clic en la subred que quieres actualizar.
  3. Haz clic en Editar.
  4. En Registros de flujo, selecciona Activado.
  5. Si desea ajustar el muestreo y la agregación de registros, haz clic en Configurar registros y ajusta cualquiera de las siguientes opciones:
    • Intervalo de agregación
    • si deseas o no incluir metadatos en las entradas de registro finales
    • la tasa de muestreo. 100% significa que se conservan todas las entradas.
  6. Haz clic en Guardar.

gcloud

    gcloud compute networks subnets update NAME \
        --enable-flow-logs \
        [--logging-aggregation-interval=INTERVAL] \
        [--logging-flow-sampling=0.0...1.0 \
        [--logging-metadata=(include-all | exclude-all)]
    

donde:

  • --logging-aggregation-interval=<var>INTERVAL</var> establece 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.
  • --logging-flow-sampling 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.
  • --logging-metadata=(include-all | exclude-all) activa o desactiva las anotaciones de metadatos del registro. Según la opción predeterminada, está activada.

API

Habilita los registros de flujo VPC para una subred existente.

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

Reemplaza los marcadores 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

Google Cloud Console proporciona una estimación del volumen de registro para las subredes existentes, que luego puedes usar a fin de estimar el costo por habilitar los registros de flujo. La estimación se basa en los flujos capturados en intervalos de 5 s 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.

  1. Ve a la página de redes de VPC en Google Cloud Console.
    Ir a la página Redes de VPC
  2. Haz clic en la subred de la que deseas calcular los costos.
  3. Haz clic en Editar.
  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.

Actualiza los parámetros de registro de flujo de VPC

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

Console

  1. Ve a la página de redes de VPC en Google Cloud Console.
    Ir a la página Redes de VPC
  2. Haz clic en la subred que quieres actualizar.
  3. Haz clic en Editar.
  4. Haz clic en Configurar registros para ajustar el muestreo y la agregación de registros:
    • Intervalo de agregación
    • si deseas o no incluir metadatos en las entradas de registro finales
    • la tasa de muestreo. 100% significa que se conservan todas las entradas.
  5. Haz clic en Guardar.

gcloud

    gcloud compute networks subnets update NAME \
        [--logging-aggregation-interval=INTERVAL] \
        [--logging-flow-sampling=0.0...1.0 \
        [--logging-metadata=(include-all | exclude-all)]
    

donde:

  • --logging-aggregation-interval=<var>INTERVAL</var> establece 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.
  • --logging-flow-sampling 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.
  • --logging-metadata=(include-all | exclude-all) activa o desactiva las anotaciones de metadatos del registro. Según la opción predeterminada, está activada.

API

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

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

Reemplaza los marcadores por valores válidos:

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

Inhabilita los registros de flujo de VPC en una subred

Console

  1. Ve a la página de redes de VPC en Google Cloud Console.
    Ir a la página Redes de VPC
  2. Haz clic en la subred que quieres actualizar.
  3. Haz clic en Editar.
  4. En Registros de flujo, selecciona Desactivado.
  5. Haz clic en Guardar.

gcloud

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

API

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

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

Reemplaza los marcadores por valores válidos:

  • PROJECT_ID es el ID del proyecto donde se encuentra la subred.
  • REGION es la región donde 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

Configura IAM

Sigue la guía de control de acceso para Logging.

Visualiza los registros desde la página del visor de registros.

Necesitarás el ID de tu proyecto para estos comandos.

Accede a todos los registros

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. Selecciona Subred de GCE en el primer menú desplegable.
  3. Selecciona vpc_flows en el segundo menú desplegable.
  4. Haz clic en Aceptar.

O, como alternativa:

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. En el lado derecho del campo Filtrar por etiqueta o búsqueda de texto, haz clic en la flecha hacia abajo y selecciona Convertir en filtro avanzado.
  3. Pega lo siguiente en el campo. Reemplaza PROJECT_ID por el ID del proyecto.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        
  4. Haz clic en Enviar filtro.

Accede a los registros de una subred específica

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. En el primer menú desplegable, desplaza el cursor hacia Subred de GCE y, luego, hacia la derecha para abrir el menú de selección de subred individual.
  3. En el segundo menú desplegable, selecciona vpc_flows.
  4. Haz clic en Aceptar.

O, como alternativa:

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. En el lado derecho del campo Filtrar por etiqueta o búsqueda de texto, haz clic en la flecha hacia abajo y selecciona Convertir en filtro avanzado.
  3. Pega lo siguiente en el campo. Reemplaza PROJECT_ID por tu ID del proyecto y SUBNETWORK_NAME por tu subred.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        resource.labels.subnetwork_name="SUBNETWORK_NAME"
        
  4. Haz clic en Enviar filtro.

Accede a los registros de una VM específica

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. En el lado derecho del campo Filtrar por etiqueta o búsqueda de texto, haz clic en la flecha hacia abajo y selecciona Convertir en filtro avanzado.
  3. Pega lo siguiente en el campo. Reemplaza PROJECT_ID por tu ID del proyecto y VM_NAME por tu VM.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        jsonPayload.src_instance.vm_name="VM_NAME"
        
  4. Haz clic en Enviar filtro.

Accede a los registros de tráfico a un prefijo específico

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. En el lado derecho del campo Filtrar por etiqueta o búsqueda de texto, haz clic en la flecha hacia abajo y selecciona Convertir en filtro avanzado.
  3. Pega lo siguiente en el campo. Reemplaza PROJECT_ID por tu ID del proyecto y SUBNETWORK_NAME por tu subred.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        ip_in_net(jsonPayload.connection.dest_ip, SUBNETWORK_NAME)
        
  4. Haz clic en Enviar filtro.

Accede a los registros de puertos y protocolos específicos

Para un solo puerto

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. En el lado derecho del campo Filtrar por etiqueta o búsqueda de texto, haz clic en la flecha hacia abajo y selecciona Convertir en filtro avanzado.
  3. Pega lo siguiente en el campo. Reemplaza PROJECT_ID por tu ID del proyecto, PORT por el puerto y PROTOCOL por el protocolo.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        jsonPayload.connection.src_port=PORT
        jsonPayload.connection.protocol=PROTOCOL
        
  4. Haz clic en Enviar filtro.

Para más de un puerto

  1. Ve a la página Registros en Google Cloud Console.
    Ir a la página Registros
  2. En el lado derecho del campo Filtrar por etiqueta o búsqueda de texto, haz clic en la flecha hacia abajo y selecciona Convertir en filtro avanzado.
  3. Pega lo siguiente en el campo. Reemplaza PROJECT_ID por tu ID del proyecto, PORT1 y PORT2 por los puertos, y PROTOCOL por el protocolo.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        jsonPayload.connection.src_port=(PORT1 OR PORT2)
        jsonPayload.connection.protocol=PROTOCOL
        
  4. Haz clic en Enviar filtro.

Exporta registros a BigQuery, Pub/Sub y orientaciones personalizadas

Puedes exportar los registros de flujo de Logging a un destino de tu elección, como se describe 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

  • 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 los proyectos de servicio. Asegúrate de buscar los registros en el proyecto host.
  • Los filtros de exclusión de registro 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 ni de byte no figuran 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.
  • No hay valores RTT disponibles para flujos UDP.
  • 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

  • Solo se admiten protocolos de UDP y TCP. 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.

Precios

Se aplicará el precio estándar para Logging, BigQuery o Pub/Sub. El precio de los registros de flujo de VPC se describe en Precios de telemetría de red.

Preguntas frecuentes

  • ¿Los registros de flujo de VPC incluyen el tráfico permitido y el rechazado en función de las reglas de firewall?

    • Los registros de flujo de VPC abarcan el tráfico desde la perspectiva de una VM. Se registra todo el tráfico de salida (saliente) de una VM, incluso si está bloqueado por una regla de firewall de salida. El tráfico de entrada (entrante) se registra si una regla de firewall de entrada lo permite. El tráfico de entrada bloqueado por una regla de firewall de entrada de rechazo no se registra.
  • ¿Los registros de flujo de VPC funcionan con instancias de VM con varias interfaces?

  • ¿Los registros de flujo de VPC funcionan con redes heredadas?

    • No, los registros de flujo de VPC no son compatibles con las redes heredadas.

Próximos pasos