Configura los registros de flujo de VPC
En esta página, se describe cómo configurar los registros de flujo de VPC. Se supone que conoces los conceptos descritos en Registros de flujo de VPC y Acerca de los 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 más detalles sobre los parámetros que puedes controlar, consulta Muestreo y procesamiento de registros.
Para personalizar los campos de metadatos o configurar el filtrado de registros, usa la Google Cloud CLI o su API.
Habilita los registros de flujo de VPC cuando crees una subred
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la red en la que quieres agregar una subred.
Haz clic en Agregar subred.
En Registros de flujo, selecciona Activado.
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.
Propaga los demás campos como corresponda.
Haz clic en Agregar.
gcloud
-
En la consola de Google Cloud, activa 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.
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 desde0.0
(sin muestreo) hasta1.0
(todos los registros). El valor predeterminado es0.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:- Usa
include-all
para incluir todas las anotaciones de metadatos. - Usa
exclude-all
para excluir todas las anotaciones de metadatos (predeterminado). - Usa
custom
para incluir una lista personalizada de los campos de metadatos que especifiques enMETADATA_FIELDS
.
- Usa
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 siLOGGING_METADATA
se establece comocustom
.
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 lo siguiente:
PROJECT_ID
: El ID del proyecto en el que se creará la subred.REGION
: La región en la que se creará la subred.AGGREGATION_INTERVAL
: 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
oINTERVAL_15_MIN
.SAMPLING_RATE
: La tasa de muestreo de flujo. El muestreo de flujo se puede establecer desde0.0
(sin muestreo) hasta1.0
(todos los registros). El valor predeterminado es.0.5
.EXPRESSION
: 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
: Las anotaciones de metadatos que deseas incluir en los registros:- Usa
INCLUDE_ALL_METADATA
para incluir todas las anotaciones de metadatos. - Usa
EXCLUDE_ALL_METADATA
para excluir todas las anotaciones de metadatos (predeterminado). - Usa
custom
para incluir una lista personalizada de los campos de metadatos que especifiques enMETADATA_FIELDS
.
- Usa
METADATA_FIELDS
: Los campos de metadatos que deseas capturar cuando configurasmetadata: CUSTOM_METADATA
. Esta es una lista de campos de metadatos separados por comas, comosrc_instance, src_vpc.project_id
.IP_RANGE
: El rango de direcciones IP internas principal de la subred.NETWORK_URL
: La URL de la red de VPC en la que se creará la subred.SUBNET_NAME
: Es un nombre de 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.
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
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la subred que quieres actualizar.
Haz clic en Editar.
En Registros de flujo, selecciona Activado.
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.
Haz clic en Guardar.
gcloud
-
En la consola de Google Cloud, activa 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.
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 desde0.0
(sin muestreo) hasta1.0
(todos los registros). El valor predeterminado es0.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:- Usa
include-all
para incluir todas las anotaciones de metadatos. - Usa
exclude-all
para excluir todas las anotaciones de metadatos (predeterminado). - Usa
custom
para incluir una lista personalizada de los campos de metadatos que especifiques enMETADATA_FIELDS
.
- Usa
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 siLOGGING_METADATA
se establece comocustom
.
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 lo siguiente:
PROJECT_ID
: El ID del proyecto en el que está la subred.REGION
: 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 los otros campos de registro, consulta la sección sobre cómo habilitar el registro de flujo de VPC cuando creas una subred.
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.
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la subred cuyos costos deseas calcular.
Haz clic en Editar.
En Registros de flujo, selecciona Activado.
Haz clic en Configurar registros.
Consulta Registros estimados generados por día para ver la estimación.
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.
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la red de VPC en la que deseas ver las subredes.
Haz clic en la pestaña Subredes y consulta la columna Registros de flujo para ver si el registro está activado o desactivado.
gcloud
-
En la consola de Google Cloud, activa 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.
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 procesamiento 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.
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la subred que quieres actualizar.
Haz clic en Editar.
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.
Haz clic en Guardar.
gcloud
-
En la consola de Google Cloud, activa 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.
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 desde0.0
(sin muestreo) hasta1.0
(todos los registros). El valor predeterminado es0.5
.FILTER_EXPRESSION
: 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:- Usa
include-all
para incluir todas las anotaciones de metadatos. - Usa
exclude-all
para excluir todas las anotaciones de metadatos (predeterminado). - Usa
custom
para incluir una lista personalizada de los campos de metadatos que especifiques enMETADATA_FIELDS
.
- Usa
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 siLOGGING_METADATA
se establece comocustom
.
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 lo siguiente:
PROJECT_ID
: El ID del proyecto en el que está la subred.REGION
: 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
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en la subred que quieres actualizar.
Haz clic en Editar.
En Registros de flujo, selecciona Desactivado.
Haz clic en Guardar.
gcloud
-
En la consola de Google Cloud, activa 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.
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 lo siguiente:
PROJECT_ID
: El ID del proyecto en el que está la subred.REGION
: 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
.
Soluciona problemas
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.