Acerca de los registros de flujo de VPC
En esta página, se describe el formato de los registros de flujo de VPC, incluido qué campos de bases y de metadatos están disponibles. También se explica cómo puedes usar el filtrado de registros para que solo se generen los registros que coincidan con ciertos criterios.
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. Los campos de metadatos se pueden omitir 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.
Los valores de los campos de metadatos no se basan en la ruta del plano de datos; son aproximaciones y es posible que algunos falten o sean incorrectos. A diferencia de los campos de metadatos, los valores de los campos de base se toman directamente de los encabezados de paquetes.
| Campo | Formato del campo | Tipo del campo: base o metadatos opcionales |
|---|---|---|
| connection |
IpConnection
5 tuplas que describen el flujo. |
Base |
| reporter |
string
Lado que informó el flujo:
|
Base |
| round_trip_time |
Latencias
RTT en milisegundos con precisión de menos de un milisegundo, medido durante el intervalo de agregación. Este campo se completa para el tráfico de TCP (para VMs y extremos sin servidores) y Falcon.
disposition=DROPPED).
|
Base |
| rtt_msec |
int64
Tiempo de ida y vuelta (RTT) en milisegundos medido durante el intervalo de agregación. Este campo se completa de la siguiente manera:
El RTT medido es el tiempo transcurrido entre el envío de un SEQ y la recepción de un ACK correspondiente. |
Base |
| bytes_sent |
int64
Cantidad estimada de bytes de carga útil del usuario que se enviaron desde el origen hacia el destino.1 Para los paquetes sin carga útil del usuario, el valor es cero.2 No se propaga para el tráfico descartado ( disposition=DROPPED).
|
Base |
| packets_sent |
int64
Cantidad estimada de paquetes que se enviaron desde el origen hacia el destino.1 No se propaga para el tráfico descartado ( disposition=DROPPED).
|
Base |
| start_time |
cadena
Marca de tiempo (cadena con formato de fecha RFC 3339) del primer paquete que se observó durante el intervalo de tiempo agregado. |
Base |
| end_time |
cadena
Marca de tiempo (cadena con formato de fecha RFC 3339) del último paquete que se observó durante el intervalo de tiempo agregado. |
Base |
| disposition |
cadena
Solo se completa para los registros que capturan descartes de paquetes. Este campo se establece en DROPPED.
|
Base |
| drop_reason |
cadena
Solo se completa para los registros de registro con disposition=DROPPED.
Para obtener más información, consulta Anotaciones de descarte de paquetes y Motivos de descarte de paquetes.
|
Base |
| bytes_dropped |
int64
Cantidad estimada de bytes de carga útil del usuario que se descartaron desde el origen hacia el destino. Solo se completa para los registros de registro con disposition=DROPPED.
|
Base |
| packets_dropped |
int64
Cantidad estimada de paquetes descartados desde el origen hacia el destino. Solo se completa para los registros de registro con disposition=DROPPED.
|
Base |
| throughput_inclusion |
cadena
Solo se completa para los registros de registro con disposition=DROPPED.
Indica si el tráfico descartado se incluye (INCLUDED) o se excluye (EXCLUDED) de los campos bytes_sent y packets_sent que informa el mismo reportero para el flujo.
|
Base |
| Campos de metadatos de origen y destino | ||
| src_gateway |
GatewayDetails
Si la fuente del flujo es un extremo local o de otra nube que está conectado a Cloud de Confiance by S3NS a través de una puerta de enlace, como un adjunto de VLAN para Cloud Interconnect o un túnel de Cloud VPN, y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la puerta de enlace:
|
Metadatos |
| dest_gateway |
GatewayDetails
Si el destino del flujo es un extremo local o de otra nube que está conectado a Cloud de Confiance a través de una puerta de enlace, como un adjunto de VLAN para Cloud Interconnect o un túnel de Cloud VPN, y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la puerta de enlace:
|
Metadatos |
| src_gke_details |
GkeDetails
Si la fuente del flujo es un extremo de Google Kubernetes Engine (GKE), este campo se completa con los detalles del extremo de GKE. |
Metadatos |
| dest_gke_details |
GkeDetails
Si el destino del flujo es un extremo de GKE, este campo se completa con los detalles del extremo de GKE. |
Metadatos |
| src_google_service |
GoogleServiceDetails
Si la fuente del flujo es un servicio de Google, este campo se completa con los detalles del servicio. |
Metadatos |
| dest_google_service |
GoogleServiceDetails
Si el destino del flujo es un servicio de Google, este campo se completa con los detalles del servicio. |
Metadatos |
| src_instance |
InstanceDetails
Si la fuente del flujo es una VM ubicada en una red de VPC y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la instancia de VM:
|
Metadatos |
| dest_instance |
InstanceDetails
Si el destino del flujo es una VM ubicada en una red de VPC y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la instancia de VM.
|
Metadatos |
| src_location |
GeographicDetails
Si la fuente del flujo es una dirección IP pública fuera de la red de VPC, este campo se propaga con los metadatos de ubicación disponibles. |
Metadatos |
| dest_location |
GeographicDetails
Si el destino del flujo es una dirección IP pública fuera de la red de VPC, este campo se propaga con los metadatos de ubicación disponibles. |
Metadatos |
| src_serverless_details |
ServerlessDetails
Si la fuente del flujo es un extremo sin servidores, como un recurso de Cloud Run configurado con salida de VPC directa, este campo se propaga con metadatos sin servidores. |
Metadatos |
| dest_serverless_details |
ServerlessDetails
Si el destino del flujo es un extremo sin servidores, como un recurso de Cloud Run configurado con salida de VPC directa, este campo se propaga con metadatos sin servidores. |
Metadatos |
| src_vpc |
VpcDetails
Si la fuente del flujo es una VM o un extremo sin servidores ubicado en una red de VPC y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la red de VPC:
|
Metadatos |
| dest_vpc |
VpcDetails
Si el destino del flujo es una VM o un extremo sin servidores ubicado en una red de VPC y se cumple alguna de las siguientes condiciones, este campo se completa con los detalles de la red de VPC:
|
Metadatos |
| Otros campos de metadatos | ||
| internet_routing_details |
InternetRoutingDetails
Si el flujo es entre Cloud de Confiance y el Internet, este campo se completa con los detalles de enrutamiento. Disponible solo para los flujos de salida. |
Metadatos |
| load_balancing |
LoadBalancingDetails
Si el flujo pasa por un balanceador de cargas en uno de los siguientes parámetros de configuración, este campo se completa con los detalles de Cloud Load Balancing:
|
Metadatos |
| network_service |
NetworkServiceDetails
Si se establece el encabezado de punto de código de servicios diferenciados (DSCP), este campo se completa con los detalles del servicio de red. |
Metadatos |
| psc |
PrivateServiceConnectDetails
Si el flujo está asociado a una conexión de Private Service Connect (incluida una conexión propagada a través de Network Connectivity Center) y se cumple alguna de las siguientes condiciones, este campo se propaga con los detalles de Private Service Connect:
|
Metadatos |
| rdma_traffic_type |
cadena
Tipo de tráfico RDMA. Se completa para el tráfico de GPU a GPU entre VMs. Puede ser GPUDirect-TCPXO, Falcon o RoCE.
|
Metadatos |
- Si la VM de origen es el informante, el valor de bytes informado es la suma de los bytes de la carga útil del usuario y los bytes del encabezado del paquete enviados. Este valor siempre es mayor que cero, incluso para los paquetes que no contienen carga útil del usuario.
- Si la VM de destino es el informante, el valor de bytes informado son los bytes de carga útil del usuario que se recibieron y se reenviaron a la capa de aplicación. Para los paquetes sin carga útil del usuario, el valor de bytes es cero.
Formato del campo GatewayDetails
| Campo | Tipo | Descripción |
|---|---|---|
| project_id | cadena | ID del proyecto deCloud de Confiance de la puerta de enlace |
| location | cadena | Región de la puerta de enlace |
| name | cadena | Nombre de la puerta de enlace |
| type | cadena |
Es el tipo de puerta de enlace. Puede ser INTERCONNECT_ATTACHMENT o
VPN_TUNNEL.
|
| vpc | VpcDetails | Detalles de la red de VPC de la puerta de enlace |
| interconnect_name | cadena |
Si el tipo de puerta de enlace es INTERCONNECT_ATTACHMENT,
este campo se completa con el nombre de la conexión de Cloud Interconnect
en la que se configura el adjunto de VLAN.
|
| interconnect_project_number | int64 |
Si el tipo de puerta de enlace es INTERCONNECT_ATTACHMENT,
este campo se completa con el número de proyecto de Cloud de Confiance
de la conexión de Cloud Interconnect en la que se configura
el adjunto de VLAN.
|
Formato del campo GeographicDetails
| Campo | Tipo | Descripción |
|---|---|---|
| asn | int32 | El ASN de la red externa a la que pertenece el extremo |
| ciudad | cadena | Ciudad para los extremos externos |
| continent | cadena | Continente de los extremos externos. |
| País | cadena | País para los extremos externos, representado como de un código de país de ISO 3166-1 Alfa-3 |
| region | cadena | Región de los extremos externos. |
Formato del campo GkeDetails
| Campo | Tipo | Descripción |
|---|---|---|
| cluster | ClusterDetails | Metadatos del clúster de GKE |
| pod | PodDetails | Metadatos del Pod de GKE, propagados cuando el origen o el destino del tráfico es un Pod |
| service | ServiceDetails |
Metadatos del Service de GKE, propagados solo en los extremos
del Service. El registro contiene hasta dos Service. Si hay más de dos
Service relevantes, este campo contiene un solo Service con un marcador
MANY_SERVICES especial.
|
Formato del campo ClusterDetails
| Campo | Tipo | Descripción |
|---|---|---|
| cluster_location | cadena | Ubicación del clúster. Puede ser una zona o región, dependiendo de si se trata de un clúster zonal o regional. |
| cluster_name | cadena | Nombre del clúster de GKE. |
Formato del campo PodDetails
| Campo | Tipo | Descripción |
|---|---|---|
| pod_name | cadena | Nombre del Pod |
| pod_namespace | cadena | Espacio de nombres del Pod |
| carga de trabajo | WorkloadDetails | Metadatos sobre el recurso de carga de trabajo de nivel superior que controla el Pod |
Formato del campo WorkloadDetails
| Campo | Tipo | Descripción |
|---|---|---|
| workload_name | cadena | Nombre del controlador de carga de trabajo de nivel superior |
| workload_type | cadena |
Es el tipo de controlador de cargas de trabajo de nivel superior. Puede ser
DEPLOYMENT, REPLICA_SET,
STATEFUL_SET, DAEMON_SET, JOB,
CRON_JOB o
REPLICATION_CONTROLLER.
|
Formato del campo ServiceDetails
| Campo | Tipo | Descripción |
|---|---|---|
| service_name | cadena |
Nombre del Service. Si hay más de dos Service relevantes, el
campo se configura como un marcador MANY_SERVICES especial.
|
| service_namespace | cadena | Espacio de nombres del Service |
Ejemplo:
Si hay dos servicios, el campo Service tiene el siguiente aspecto:
service: [
0: {
service_name: "my-lb-service"
service_namespace: "default"
}
1: {
service_name: "my-lb-service2"
service_namespace: "default"
}
]
Si hay más de dos servicios, el campo Service tiene el siguiente aspecto:
service: [
0: {
service_name: "MANY_SERVICES"
}
]
Formato del campo GoogleServiceDetails
| Campo | Tipo | Descripción |
|---|---|---|
| type | cadena | El tipo de servicio, ya sea
|
| service_name | cadena | Nombre del servicio. Por ejemplo, Limitaciones:
|
| connectivity | cadena | Es el método de acceso. Para el tipo
Para el tipo
|
| private_domain | cadena | Paquete de API de dominio privado o de Private Service Connect. El campo private_domain puede ser uno de los siguientes:
|
Formato del campo InstanceDetails
| Campo | Tipo | Descripción |
|---|---|---|
| project_id | cadena | ID del proyecto de Cloud de Confiance que contiene el recurso de VM |
| region | cadena | Región de la VM |
| vm_name | cadena | Nombre de la instancia de la VM |
| zone | cadena | Zona de la VM |
| managed_instance_group | InstanceGroupDetails | Si la VM forma parte de un grupo de instancias administrado, este campo se completa con los detalles del grupo de instancias. |
Formato del campo InstanceGroupDetails
| Campo | Tipo | Descripción |
|---|---|---|
| name | cadena | Nombre del grupo de instancias |
| region | cadena | Si el grupo de instancias es regional, este campo se completa con la región del grupo de instancias. |
| zone | cadena | Si el grupo de instancias es zonal, este campo se completa con la zona del grupo de instancias. |
Formato del campo InternetRoutingDetails
| Campo | Tipo | Descripción |
|---|---|---|
| egress_as_path | AsPath | Lista de rutas de acceso de AS relevantes. Si hay varias rutas de acceso de AS disponibles para el flujo, el campo puede contener más de una ruta de acceso de AS. |
Formato de campo AsPath
| Campo | Tipo | Descripción |
|---|---|---|
| as_details | AsDetails | Lista de detalles del AS para todos los sistemas de la ruta de acceso del AS. La lista empieza desde el primer AS externo a la red de Cloud de Confiancey termina con el AS al que pertenece la dirección IP remota. |
Formato del campo AsDetails
| Campo | Tipo | Descripción |
|---|---|---|
| asn | uint32 | Es el número de sistema autónomo (ASN) del AS |
Formato del campo IpConnection
| Campo | Tipo | Descripción |
|---|---|---|
| src_ip | string | Dirección IP de origen. Se completa para todos los flujos. |
| dest_ip | string | Dirección IP de destino. Se completa para todos los flujos. |
| src_port | int32 | Puerto de origen:
|
| dest_port | int32 | Puerto de destino:
|
| protocolo | int32 | Número de protocolo IANA:
|
Formato del campo de latencias
| Campo | Tipo | Descripción |
|---|---|---|
| median_msec | double | Es la latencia mediana en milisegundos medida durante el intervalo de agregación. |
Formato del campo LoadBalancingDetails
| Campo | Tipo | Descripción |
|---|---|---|
| forwarding_rule_project_id | cadena | ID del proyecto deCloud de Confiance de la regla de reenvío |
| reporter | cadena | Informante de Cloud Load Balancing. Puede ser
CLIENT o BACKEND.
|
| type | cadena | Tipo de balanceador de cargas. Puede ser
APPLICATION_LOAD_BALANCER,
PROXY_NETWORK_LOAD_BALANCER,
PASSTHROUGH_NETWORK_LOAD_BALANCER
o PROTOCOL_FORWARDING. |
| scheme | cadena | Esquema del balanceador de cargas. Puede ser EXTERNAL_MANAGED,
INTERNAL_MANAGED, EXTERNAL,
INTERNAL o INTERNAL_SELF_MANAGED. |
| url_map_name | cadena | Es el nombre del mapa de URL. Se completa si el tipo del
balanceador de cargas es APPLICATION_LOAD_BALANCER. |
| forwarding_rule_name | cadena | Nombre de la regla de reenvío |
| backend_service_name | cadena | Es el nombre del servicio de backend. Se completa si
el informante es BACKEND y el tipo de balanceador de cargas es
PASSTHROUGH_NETWORK_LOAD_BALANCER. Si el tipo de grupo de backend
es TARGET_POOL, este campo no se completa. |
| backend_service_project_id | cadena | ID del proyecto del servicio de backend.
Se completa si el informante es BACKEND y el tipo
de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER. Si el tipo de grupo
de backend es TARGET_POOL, este campo no se completa. |
| backend_group_name | cadena | Es el nombre del grupo de backend. Se completa si
el informante es BACKEND y el tipo de balanceador de cargas es
PASSTHROUGH_NETWORK_LOAD_BALANCER. |
| backend_group_type | cadena | Tipo del grupo de backend. Puede ser INSTANCE_GROUP,
NETWORK_ENDPOINT_GROUP o TARGET_POOL.
Se completa si el informante es BACKEND y el tipo
de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER. |
| backend_group_location | cadena | Es la ubicación del grupo de backend. Puede ser una zona o una región,
según si el permiso del grupo de backend es zonal o regional.
Se completa si el informante es BACKEND y el tipo
de balanceador de cargas es PASSTHROUGH_NETWORK_LOAD_BALANCER. Si el tipo de grupo
de backend es TARGET_POOL, este campo no se completa. |
| vpc | VpcDetails | Detalles de la red de VPC del balanceador de cargas |
Formato del campo NetworkServiceDetails
| Campo | Tipo | Descripción |
|---|---|---|
| dscp | int32 | Si el campo de servicios diferenciados está presente en los encabezados de los paquetes, este campo se completa con el valor de DSCP. |
Motivos de descarte de paquetes
En la siguiente tabla, se describen los valores admitidos del campo drop_reason cuando los informan SRC o SRC_GATEWAY.
| Motivo de la baja | Descripción |
|---|---|
FIREWALL_DENY |
Se descartó el tráfico saliente porque se evaluó una regla de firewall de salida y su acción fue Recomendación: Si deseas permitir este tráfico, ajusta las reglas de firewall. |
NO_MATCHING_ROUTE |
Se descartó el tráfico saliente porque no había una ruta que coincidiera con el destino. Recomendación: Revisa las rutas en tu red de VPC con la sección Rutas eficaces de la consola de Cloud de Confiance . También puedes crear y ejecutar pruebas de conectividad. |
QUEUE_OVERFLOW |
Se descartó el tráfico saliente porque el software de procesamiento de paquetes del host superó su capacidad de CPU. Recomendación: Si las interrupciones son persistentes, considera usar VMs con mayor ancho de banda (Tier_1) o distribuir el tráfico en más VMs. |
SPOOFED_SOURCE |
Se descartó el tráfico saliente porque la fuente del paquete no estaba asociada con la interfaz de red de la VM y el reenvío de IP estaba desactivado. Recomendación: Para enviar paquetes con orígenes arbitrarios desde una interfaz de red de VM a destinos a los que se puede enrutar dentro de una red de VPC, debes habilitar el reenvío de IP para la VM. |
TOO_MANY_CONNECTIONS |
Se descartó el tráfico saliente porque el software de procesamiento de paquetes del host no pudo adaptarse a la tasa de flujo. Recomendación: Considera usar otra serie de máquinas diseñada para una mayor cantidad de conexiones o distribuir tu carga de trabajo en más VMs. |
En la siguiente tabla, se describen los valores admitidos del campo drop_reason cuando los informan DEST o DEST_GATEWAY.
| Motivo de la baja | Descripción |
|---|---|
EARLY_DROPS_FULL_FAIR_QUEUE |
Se descartó el tráfico entrante porque el software de procesamiento de paquetes del host aplicó la equidad de recursos. Por lo general, este comportamiento solo afecta a la serie de máquinas de 1ª generación. Recomendación: Si las disminuciones son persistentes, considera migrar a una serie de máquinas más nueva o con mejor rendimiento. |
FIREWALL_DENY |
Se descartó el tráfico entrante porque se evaluó una regla de firewall de entrada y su acción fue Recomendación: Si deseas permitir este tráfico, ajusta las reglas de firewall. |
INVALID_L4_CHECKSUM_INTERNET |
Se descartó el tráfico entrante porque se detectó una discrepancia en la suma de comprobación. Los paquetes se enviaron desde una fuente fuera de la red de VPC a una dirección IP externa de destino asociada con la VM que informa. Para obtener más información, consulta Entrada a destinos fuera de una red de VPC. Recomendación: Si las interrupciones son persistentes, investiga el estado de la fuente o la ruta de red. |
INVALID_L4_CHECKSUM_INTERNAL |
Se descartó el tráfico entrante porque se detectó una discrepancia en la suma de comprobación. Los paquetes se enrutaron dentro de la red de VPC a una dirección IP de destino asociada con el reportero de la VM. Para obtener más información, consulta Entrada a destinos enrutables dentro de una red de VPC. Recomendación: Si las interrupciones son persistentes, investiga el estado de la fuente o la ruta de red. |
PSC_NAT_OUT_OF_CONNECTIONS |
Se descartó el tráfico entrante porque el extremo de Private Service Connect alcanzó la cantidad máxima de conexiones simultáneas para el consumidor. Recomendación: Pídele al consumidor que reduzca la tasa de conexiones nuevas a este extremo de Private Service Connect o que distribuya las conexiones a este extremo de Private Service Connect con más VMs de cliente. |
PSC_NAT_OUT_OF_PORTS |
Se descartó el tráfico entrante de un consumidor de Private Service Connect porque se agotaron los puertos NAT de Private Service Connect. Recomendación: Revisa el tamaño de tu subred NAT. |
QUEUE_OVERFLOW |
Se descartó el tráfico entrante porque el software de procesamiento de paquetes del host superó su capacidad de CPU. Recomendación: Si las interrupciones son persistentes, considera usar VMs con mayor ancho de banda (Tier_1) o distribuir el tráfico en más VMs. |
TOO_MANY_CONNECTIONS |
Se descartó el tráfico entrante porque el software de procesamiento de paquetes del host no pudo adaptarse a la velocidad de flujo. Recomendación: Si la alta tasa de flujo se debe a una alta simultaneidad o rotación de conexiones a nivel de la VM, considera reducir la tasa de conexiones nuevas a la VM. |
Formato del campo PrivateServiceConnectDetails
| Campo | Tipo | Descripción |
|---|---|---|
| reporter | cadena | Informante de Private Service Connect.
Puede ser CONSUMER o
PRODUCER. |
| psc_endpoint | PrivateServiceConnectEndpointDetails |
Detalles del extremo. Se propaga si el informante es CONSUMER.
|
| psc_attachment | PrivateServiceConnectAttachmentDetails | Detalles del adjunto de servicio. Se propaga si el flujo de tráfico incluye un productor de Private Service Connect. |
Formato del campo PrivateServiceConnectEndpointDetails
| Campo | Tipo | Descripción |
|---|---|---|
| project_id | cadena | ID del proyecto deCloud de Confiance del extremo de Private Service Connect |
| region | cadena | Región del extremo. No se completa si el tipo de
servicio de destino es GLOBAL_GOOGLE_APIS. |
| psc_connection_id | cadena | ID de conexión de Private Service Connect |
| target_service_type | cadena | Tipo de servicio de destino. Puede ser GLOBAL_GOOGLE_APIS o
PUBLISHED_SERVICE. |
| vpc | VpcDetails | Detalles de la red de VPC del extremo de Private Service Connect |
Formato del campo PrivateServiceConnectAttachmentDetails
| Campo | Tipo | Descripción |
|---|---|---|
| project_id | cadena | ID del proyecto deCloud de Confiance del adjunto de servicio |
| region | cadena | Región del adjunto de servicio |
| vpc | VpcDetails | Detalles de la red de VPC del adjunto del servicio |
Formato del campo ServerlessDetails
| Campo | Tipo | Descripción |
|---|---|---|
| project_id | cadena | ID del proyecto Cloud de Confiance que contiene el recurso de Cloud Run. En una configuración de VPC compartida, el ID del proyecto suele ser el ID del proyecto de servicio. |
| región | cadena | Región del recurso de Cloud Run |
Uno de los siguientes:
|
Uno de los siguientes: |
Nombre del recurso de Cloud Run |
Formato del campo CloudRunServiceDetails
| Campo | Tipo | Descripción |
|---|---|---|
| service_name | cadena | Nombre del servicio de Cloud Run |
Formato del campo CloudRunJobDetails
| Campo | Tipo | Descripción |
|---|---|---|
| job_name | cadena | Nombre del trabajo de Cloud Run |
Formato del campo CloudRunWorkerPoolDetails
| Campo | Tipo | Descripción |
|---|---|---|
| worker_pool_name | cadena | Nombre del grupo de trabajadores de Cloud Run |
Formato del campo VpcDetails
| Campo | Tipo | Descripción |
|---|---|---|
| project_id | cadena | ID del proyecto de Cloud de Confiance que contiene la VPC. En una configuración de VPC compartida, el ID del proyecto es el ID del proyecto host. |
| subnetwork_name | cadena | Nombre de la subred, si corresponde |
| subnetwork_region | cadena | Región de la subred, si corresponde |
| vpc_name | cadena | Nombre de la red |
Anotaciones de metadatos
Los registros contienen campos base y campos de metadatos. En la sección Formato del registro, se enumeran los campos que son de tipo metadatos y los que son de tipo base. Todos los campos base siempre se incluyen. Puedes personalizar qué campos de metadatos conservas.
Si seleccionas todos los metadatos, todos los campos de metadatos en el formato de registro Registros de flujo de VPC se incluyen en los registros de flujo. Cuando se agregan campos de metadatos nuevos al formato del registro, los registros de flujo incluyen automáticamente los campos nuevos.
Si no seleccionas metadatos, se omitirán todos los campos de metadatos.
Si seleccionas metadatos personalizados, puedes especificar los campos de metadatos que deseas incluir en el campo superior, como
src_vpc, o en sus nombres completos, comosrc_vpc.project_id.Cuando se agregan campos de metadatos nuevos al formato del registro, se excluyen de los registros de flujo, a menos que se encuentren dentro de un campo superior que hayas especificado para que se incluya.
Si especificas metadatos personalizados con campos superiores, cuando los campos de metadatos nuevos se agreguen al formato del registro de ese campo superior, los registros de flujo incluirán automáticamente los campos nuevos.
Si especificas metadatos personalizados con el nombre completo del campo, los campos de metadatos nuevos que se agreguen al campo superior se excluirán de los registros de flujo.
Si quieres obtener información para personalizar los campos de metadatos, consulta Habilita los registros de flujo de VPC o Actualiza la configuración de los registros de flujo de VPC.
Anotaciones entre proyectos
Si los registros de flujo de VPC están habilitados a nivel de la organización, los flujos a través de la VPC compartida, el intercambio de tráfico entre redes de VPC y Network Connectivity Center se anotan con anotaciones entre proyectos. Las anotaciones entre proyectos están habilitadas de forma predeterminada. También puedes inhabilitar estas anotaciones.
- Si las anotaciones entre proyectos están habilitadas, los registros de los flujos entre recursos de diferentes proyectos incluyen información sobre ambos lados del flujo.
- Si las anotaciones entre proyectos están inhabilitadas, los registros de registro solo incluyen información sobre el informante del flujo.
Si los registros del flujo de VPC están habilitados a nivel del proyecto, los flujos entre recursos de diferentes proyectos no se anotan con anotaciones entre proyectos.
Anotaciones de GKE
Los flujos que tienen un extremo en un clúster de GKE pueden anotarse con anotaciones de metadatos de GKE, que pueden incluir detalles del clúster, el Pod y el Service del extremo.
Anotaciones del Service de GKE
El tráfico enviado a un ClusterIP, NodePort o LoadBalancer puede recibir anotaciones del servicio. Si se envía a un NodePort o un LoadBalancer, el flujo recibe la anotación del Service en ambos saltos de la conexión.
El tráfico enviado de forma directa al puerto de Service de un Pod se anota con una anotación del Service en el extremo de destino.
El tráfico enviado al puerto de Service de un Pod en el que el Pod está creando una copia de seguridad de más de un Service en el mismo puerto se anota con varios Service en el extremo de destino. Se limita a dos Service. Si hay más que eso, el extremo se anotará con un marcador MANY_SERVICES especial.
Anotaciones de Pod en el tráfico de Internet
De forma predeterminada, el tráfico entre Internet y un Pod no recibe anotaciones de Pod. Los registros de flujo de VPC no pueden agregar anotaciones de Pod porque, para el envío de paquetes a Internet, el agente de enmascaramiento traduce la dirección IP del Pod a la dirección IP del nodo antes de que los registros de flujo de VPC vean el paquete.
Debido al enmascaramiento, las anotaciones de Pod solo son visibles si los destinos
se encuentran dentro de los destinos predeterminados
sin enmascarar
o en una lista nonMasqueradeCIDRs
personalizada.
Si incluyes destinos de Internet en una lista nonMasqueradeCIDRs personalizada, debes proporcionar una forma de que las direcciones IP internas del Pod se traduzcan antes de que se entreguen a Internet. Para los clústeres privados y no privados,
puedes usar Cloud NAT. Consulta Interacción
de GKE para obtener más detalles.
Registros de tráfico interrumpido
Los registros de flujo de VPC generan registros de tráfico descartado. Los registros de tráfico descartado se generan por separado de los registros estándar. Las pérdidas de paquetes se agregan por flujo y motivo de pérdida. Dentro de un intervalo de agregación, los paquetes descartados con el mismo motivo se consolidan en un solo registro, y se generan registros separados para cada motivo de descarte único.
El origen (SRC o SRC_GATEWAY) informa las pérdidas de salida, y el destino (DEST o DEST_GATEWAY) informa las pérdidas de entrada. Cuando los registros de flujo de VPC están habilitados tanto para el origen como para el destino, se aplica el siguiente comportamiento:
- Caídas de salida. Si se produce una pérdida en el lado de la fuente, se generan un registro estándar y un registro que incluye el motivo de la pérdida para la fuente. No se genera ningún registro para el destino porque el tráfico nunca se entregó a él.
- Ingress drops. Si se produce una pérdida en el lado del destino, se generan registros para la fuente y el destino. Para la fuente, los registros de flujo de VPC generan un registro estándar, y para el destino, solo generan un registro que incluye el motivo del descarte.
Los registros de tráfico descartado incluyen los campos disposition, drop_reason, bytes_dropped, packets_dropped y throughput_inclusion.
Para obtener una lista de los motivos de descarte de paquetes que se registran, consulta Motivos de descarte de paquetes.
Filtrado de registros
Cuando habilitas los registros de flujo de VPC, puedes configurar un filtro basado en los campos base y de metadatos que solo conservan los registros que coinciden con el filtro. Todos los demás registros se descartan antes de escribirse en Logging.
Puedes filtrar cualquier subconjunto de campos que aparezca en Formato del registro, excepto para los siguientes campos:
rtt_msecbytes_sentpackets_sentstart_timeend_time
Los filtros de registros de flujo de VPC usan CEL, un lenguaje de expresión incorporado para las expresiones lógicas basadas en atributos. Las expresiones de filtro para los registros de flujo de VPC tienen un límite de 2,048 caracteres. Para obtener más información, consulta Operadores lógicos CEL admitidos.
Para obtener más información acerca del CEL, consulta la introducción a CEL y la definición de lenguaje. La función de filtro de generación admite un subconjunto limitado de sintaxis CEL.
Para crear una configuración de registros de flujo de VPC que use el filtrado de registros, consulta Habilita los registros de flujo de VPC. Para configurar el filtrado de registros en una configuración existente de registros de flujo de VPC, consulta Actualiza la configuración de los registros de flujo de VPC. Para ver ejemplos de filtros de registros, consulta Ejemplos de filtros de registros.
Operadores lógicos CEL admitidos
| Expresión | Tipos compatibles | Descripción |
|---|---|---|
| true, false | booleano | Constantes booleanas |
x == y x != y |
booleano, int, cadena | Operadores de comparación Ejemplo: connection.protocol == 6 |
x && y x || y |
booleano | Operadores lógicos booleanos Ejemplo: connection.protocol == 6 && src_instance.vm_name == "vm_1" |
| !x | booleano | Negación |
| 1, 2.0, 0, … | int | Literales numéricos constantes |
| x + y | cadena | Concatenación de cadena |
| "foo", 'foo', … | cadena | Literal de cadena constante |
| x.lower() | cadena | Devuelve el valor de la cadena en minúsculas |
| x.upper() | cadena | Devuelve el valor de la cadena en mayúsculas |
| x.contains(y) | cadena | Devuelve el valor verdadero si la cadena contiene la subcadena especificada |
| x.startsWith(y) | cadena | Devuelve el valor verdadero si la cadena comienza con la subcadena especificada |
| x.endsWith(y) | cadena | Devuelve el valor verdadero si la cadena termina con la subcadena especificada |
| inIpRange(X, Y) | cadena | Devuelve el valor verdadero si X es una IP e Y es un rango de IP que contiene X Ejemplo: inIpRange("1.2.3.1", "1.2.3.0/24") |
| x.containsFieldValue(y) |
x: lista y: mapa(cadena, cadena) |
Devuelve el valor verdadero si la lista contiene un objeto con campos que coinciden con los pares clave-valor especificados Ejemplo: dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'}) |
| has(x) | cadena | Devuelve el valor verdadero si el campo está presente. |
Etiquetas de App Hub
En el caso de los recursos Cloud de Confiance registrados como cargas de trabajo o servicios de App Hub, los registros contienen etiquetas específicas de la aplicación. Los registros de flujo de VPC incluyen estas etiquetas para el tráfico asociado a los siguientes recursos:
- Grupos de instancias administrados de Compute Engine
- Pods de GKE (los tipos de carga de trabajo
CRON_JOB,DAEMON_SET,DEPLOYMENTySTATEFUL_SET) - Servicios y trabajos de Cloud Run configurados con la salida de VPC directa
- Reglas de reenvío
Las etiquetas de App Hub se adjuntan a un máximo de un recurso de origen y un recurso de destino por registro, cuando corresponda. En el caso de las reglas de reenvío, los campos CLIENT y BACKEND determinan si la regla de reenvío es el recurso de origen o de destino.
Las etiquetas de App Hub son distintas de las anotaciones de metadatos de los registros de flujo de VPC. La configuración de filtrado de registros y los metadatos de los registros de flujo de VPC no se aplican a estas etiquetas.