Como usar registros de fluxo da VPC

Os registros de fluxo de VPC registram uma amostra de fluxos de rede enviados e recebidos por instâncias de VM, inclusive instâncias usadas como nós do GKE. Esses registros podem ser usados para monitoramento de rede, perícia forense, análise de segurança em tempo real e otimização de despesas.

É possível ver os registros de fluxo no Cloud Logging e exportá-los para qualquer destino compatível com a exportação do Cloud Logging.

Os registros de fluxo são agregados por conexão das VMs do Compute Engine e exportados em tempo real. Quando você assina o Pub/Sub, é possível analisar os registros de fluxo com APIs de streaming em tempo real.

Propriedades principais

  • É possível ativar ou desativar os registros de fluxo da VPC por sub-rede VPC. Caso sejam ativados para uma sub-rede, os registros de fluxo da VPC coletam dados de todas as instâncias de VM nessa sub-rede.
  • As VMs relatam todos os fluxos TCP e UDP. Cada registro de fluxo inclui as informações descritas na seção Formato de registro.
  • Cada VM examina os fluxos TCP e UDP detectados por ela, as entrada e saídas, se o fluxo parte de outra VM ou se vai na direção dela, de um host no seu data center local, de um serviço do Google ou de um host na Internet. Se duas VMs do GCP estiverem se comunicando e ambas estiverem em sub-redes com registros de fluxo da VPC ativados, as duas vão informar os fluxos.
  • É possível usar filtros para selecionar quais registros de fluxo são excluídos do Logging e quais são exportados para APIs externas.
  • Os registros de fluxo da VPC são integrados nativamente à pilha de rede da infraestrutura de rede VPC. Não há atraso extra e nenhuma penalidade de desempenho no roteamento dos pacotes IP registrados para seu destino.

Casos de uso

Monitoramento de rede

Os registros de fluxo de VPC fornecem visibilidade em tempo real da capacidade e do desempenho da rede. Você pode:

  • monitorar a rede VPC;
  • realizar o diagnóstico de rede;
  • filtrar os registros de fluxo por VM e por aplicativo para entender as alterações no tráfego;
  • entender o crescimento do tráfego para previsão de capacidade.

Como entender o uso da rede e como otimizar as despesas de tráfego

É possível analisar o uso da rede com os registros de fluxo de VPC. Você pode analisar os fluxos de rede de:

  • tráfego entre regiões e zonas;
  • tráfego para países específicos na Internet;
  • principais talkers.

Com base na análise, você pode otimizar as despesas de tráfego da rede.

Perícia forense da rede

É possível usar os registros de fluxo de VPC para fazer uma análise forense na rede. Por exemplo, se houver um incidente, você pode examinar:

  • quais IPs conversaram com quem e quando isso aconteceu;
  • todos os IPs comprometidos, pela análise de todos os fluxos de rede de entrada e de saída.

Análise de segurança em tempo real

É possível aproveitar as APIs de streaming em tempo real (por meio do Pub/Sub) e as integrar aos sistemas de Gerenciamento e Correlação de Eventos de Segurança (SIEM, na sigla em inglês). Isso pode fornecer monitoramento em tempo real, correlação de eventos, análise e alertas de segurança.

Coleta de registros

Os registros de fluxo são coletados para cada conexão de VM em intervalos específicos. Todos os pacotes coletados para um determinado intervalo, em uma determinada conexão, são agregados por um período de tempo (intervalo de agregação), em uma única entrada do registro de fluxo. Esses dados são enviados para o Logging.

Os registros são armazenados no Logging por 30 dias. Se você quiser manter os registros por mais tempo, será preciso exportá-los para um destino compatível.

Amostragem e processamento de registros

O Google Cloud coleta amostras de pacotes de saída e entrada de VM para gerar registros de fluxo. Nem todo pacote é capturado no próprio registro. Cerca de 1 a cada 10 pacotes é capturado, mas essa taxa de amostragem pode ser menor, dependendo da carga da VM. Não é possível ajustar essa taxa.

Depois que os registros de fluxo são gerados, o Google Cloud os processa de acordo com o seguinte procedimento:

  1. Agregação: as informações dos pacotes da amostragem são agregadas em um intervalo de agregação configurável para produzir uma entrada de registro de fluxo.
  2. Amostragem do registro de fluxo: este é um segundo processo de amostragem. As entradas do registro de fluxo passam por amostragem adicional de acordo com um parâmetro configurável de taxa de amostragem.
  3. Metadados: se estiver ativado, anotações de metadados serão adicionadas.
  4. Gravar no Logging: as entradas de registro finais são gravadas no Cloud Logging.

Embora o Google Cloud não capture todos os pacotes, as capturas de registros podem ser muito grandes. É possível equilibrar a visibilidade do tráfego e suas necessidades de custo de armazenamento ajustando os seguintes aspectos da coleta de registros:

  • Intervalo de agregação: pacotes amostrados em um intervalo de tempo são agregados em uma única entrada de registro. Esse intervalo de tempo pode ser de 5 s (padrão), 30 s, 1 min, 5 min, 10 min ou 15 min.
  • Taxa de amostragem: antes de ser gravado no banco de dados, o número de registros pode ser amostrado para reduzir seu número. Por padrão, o volume de entrada de registros é dimensionado em 0,50 (50%), o que significa que metade das entradas são mantidas. É possível definir esse valor de 1.0 (100%, todas as entradas de registro são mantidas) até 0.0 (0%, nenhum registro é mantido).
  • Anotações de metadados: por padrão, as entradas do registro de fluxo são anotadas com informações de metadados, como os nomes das VMs de origem e de destino ou a região geográfica de origens e destinos externos. Essa anotação de metadados pode ser desativada para economizar espaço de armazenamento.

Formato do registro

Os registros contêm campos básicos, que são os campos principais de cada registro, e campos de metadados que acrescentam informações adicionais. É possível omitir os campos de metadados para economizar custos de armazenamento.

Alguns campos de registro aparecem em um formato múltiplo, com mais de um dado em cada campo. Por exemplo, o campo connection é do formato IpConnection, que contém o endereço IP e a porta de origem e destino, mais o protocolo, em um único campo. Esses vários campos estão descritos abaixo da tabela de formatos de registro.

Campo Formato do campo Tipo de campo: base ou metadados opcionais
connection IpConnection
Cinco tuplas que descrevem a conexão.
Base
start_time string
Carimbo de data/hora (formato de string de data RFC 3339) do primeiro pacote observado durante o intervalo de tempo agregado
Base
end_time string
Carimbo de data/hora (formato de string de data RFC 3339) do último pacote observado durante o intervalo de tempo agregado
Base
bytes_sent int64
Quantidade de bytes enviados da origem para o destino
Base
packets_sent int64
Número de pacotes enviados da origem para o destino
Base
rtt_msec int64
Latência medida (somente para fluxos de TCP) durante o intervalo de tempo. É o tempo decorrido entre o envio de um SEQ e o recebimento de um ACK correspondente. Contém o RTT da rede, bem como o atraso relacionado ao aplicativo.
Base
reportado por string
O lado que informou o fluxo. Pode ser "SRC" ou "DEST".
Base
src_instance InstanceDetails
Se a origem da conexão for uma VM localizada na mesma VPC, esse campo será preenchido com os detalhes da instância da VM. Em uma configuração de VPC compartilhada, project_id corresponde ao projeto proprietário da instância, geralmente o projeto de serviço.
Metadados
dest_instance InstanceDetails
Se o destino da conexão for uma VM localizada na mesma VPC, esse campo será preenchido com os detalhes da instância da VM. Em uma configuração de VPC compartilhada, project_id corresponde ao projeto proprietário da instância, geralmente o projeto de serviço.
Metadados
src_vpc VpcDetails
Se a origem da conexão for uma VM localizada na mesma VPC, esse campo será preenchido com os detalhes da rede VPC. Em uma configuração de VPC compartilhada, project_id corresponde ao do projeto host.
Metadados
dest_vpc VpcDetails
Se o destino da conexão for uma VM localizada na mesma VPC, este campo será preenchido com os detalhes da rede VPC. Em uma configuração de VPC compartilhada, project_id corresponde ao do projeto host.
Metadados
src_location GeographicDetails
Se a origem da conexão for externa à VPC do Google, este campo será preenchido com metadados de local disponíveis.
Metadados
dest_location GeographicDetails
Se o destino da conexão for externo à VPC do Google, este campo será preenchido com metadados de local disponíveis.
Metadados

Formato do campo IpConnection (5 tuplas)

Campo Tipo Descrição
src_ip string Endereço IP de origem
src_port int32 Porta de origem
dest_ip string Endereço IP de destino
dest_port int32 Porta de destino
protocolo int32 Número do protocolo IANA

Formato do campo InstanceDetails

Campo Tipo Descrição
project_id string Código do projeto que contém a VM
vm_name string Nome da instância da VM
region string Região da VM
zone string Zona da VM

Formato do campo VpcDetails

Campo Tipo Descrição
project_id string Código do projeto que contém a VPC
vpc_name string VPC em que a VM está operando
subnetwork_name string Sub-rede em que a VM está operando

Formato do campo GeographicDetails

Campo Tipo Descrição
continent string Continente para endpoints externos
country string País para endpoints externos, representado como códigos de país ISO 3166-1 Alfa-3.
region string Região para endpoints externos
city string Cidade para pontos de extremidade externos
asn int32 O número de sistema autônomo (ASN, na sigla em inglês) da rede externa a que este ponto de extremidade pertence.

Exemplos de padrão de tráfego

Esta seção demonstra como os registros de fluxo de VPC funcionam nos seguintes casos de uso:

Fluxos de VM para VM na mesma VPC

VM flui dentro de uma VPC (clique para ampliar)
VM flui dentro de uma VPC (clique para ampliar)

Para os fluxos de VM para VM na mesma VPC, os registros de fluxo são informados tanto pela VM solicitante quanto pela que VM que responde, desde que ambas estejam em sub-redes com registros de fluxo de VPC ativados. Neste exemplo, a VM 10.10.0.2 envia uma solicitação com 1.224 bytes para a VM 10.50.0.2, que também está em uma sub-rede com o registro ativado. Por sua vez, 10.50.0.2 responde ao pedido com uma réplica com 5342 bytes. Tanto a solicitação quanto a resposta são registradas nas duas VMs, a que solicitou e a que respondeu.

Conforme informado pela VM solicitante (10.10.0.2)
solicitação/resposta connection.src_ip connection.dest_ip bytes_sent Anotações de VPC
solicitação 10.10.0.2 10.50.0.2 1.224 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
resposta 10.50.0.2 10.10.0.2 5.342 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
Conforme informado pela VM respondente (10.50.0.2)
solicitação/resposta connection.src_ip connection.dest_ip bytes Anotações de VPC
solicitação 10.10.0.2 10.50.0.2 1.224 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
resposta 10.50.0.2 10.10.0.2 5.342 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*

Fluxos de VM para elementos externos

Fluxos de VM para elemento externo (clique para ampliar)
Fluxos de VM para elemento externo (clique para ampliar)

Para fluxos entre uma VM e uma entidade externa, os registros de fluxo são informados apenas a partir da VM:

  • Para fluxos de saída, os registros são informados pela VM de que o tráfego se origina.
  • Para fluxos de entrada, os registros são informados pela VM para que o tráfego se destina.

Isso se aplica a:

  • Tráfego entre uma rede VPC e uma rede local por meio de uma VPN ou do Cloud Interconnect.
  • Tráfego entre VMs e locais na Internet.

Neste exemplo, a VM 10.10.0.2 e o endpoint local 10.30.0.2 estão conectados por meio de um gateway de VPN ou pelo Cloud Interconnect. O tráfego de saída de 1.224 bytes enviados de 10.10.0.2 para 10.30.0.2 é relatado a partir da VM de origem, 10.10.0.2. O tráfego de entrada de 5.342 bytes enviados de 10.30.0.2 para 10.10.0.2 é informado a partir do destino do tráfego, a VM 10.10.0.2.

solicitação/resposta connection.src_ip connection.dest_ip bytes_sent Anotações de VPC
solicitação 10.10.0.2 10.30.0.2 1.224 src_instance.*
src_vpc.*
dest_location.*
resposta 10.30.0.2 10.10.0.2 5.342 dest_instance.*
dest_vpc.*
src_location.*

Fluxos de VM para VM na VPC compartilhada

Fluxos de VPC compartilhada (clique para ampliar)
Fluxos de VPC compartilhada (clique para ampliar)

Para os fluxos de VM para VM em uma VPC compartilhada, é possível ativar os registros de fluxo de VPC para a sub-rede no projeto host. Por exemplo, a sub-rede 10.10.0.0/20 pertence a uma rede VPC compartilhada definida em um projeto host. É possível visualizar os registros de fluxo das VMs pertencentes a essa sub-rede, incluindo aqueles criados por projetos de serviço. Neste exemplo, os projetos de serviço são chamados de "webserver", "recommendation" e "database".

Para fluxos de VM para VM, quando as duas VMs estão no mesmo projeto ou, no caso de uma rede compartilhada, no mesmo projeto host, as anotações para código do projeto e similares serão fornecidas para o outro ponto de extremidade na conexão. Se a outra VM estiver em um projeto diferente, a anotação para a outra VM não será fornecida.

A tabela a seguir mostra um fluxo conforme informado por 10.10.0.10 ou 10.10.0.20.

  • src_vpc.project_id e dest_vpc.project_id são para o projeto host porque a sub-rede VPC pertence ao projeto host.
  • src_instance.project_id e dest_instance.project_id são para os projetos de serviço porque as instâncias pertencem aos projetos de serviço.
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

Os projetos de serviço não têm a propriedade da rede VPC compartilhada e não têm acesso aos registros de fluxo da rede VPC compartilhada.

Fluxos VM para VM para peering de VPC

Fluxos de peering de VPC (clique para ampliar)
Fluxos de peering de VPC (clique para ampliar)

A menos que ambas as VMs estejam no mesmo projeto do GCP, os fluxos de VM para VM para VPCs em peering são informados da mesma maneira que para os endpoints externos - as informações do projeto e de outras anotações da outra VM não são fornecidas. Se ambas as VMs estiverem no mesmo projeto, mesmo que em redes diferentes, as informações do projeto e de outras anotações também são fornecidas para a outra VM.

Neste exemplo, as sub-redes da VM 10.10.0.2 (no projeto analytics-prod) e da VM 10.50.0.2 (no projeto webserver-test) são conectadas por meio do peering de VPC. Se os registros de fluxo do VPC são ativados no projeto analytics-prod, o tráfego (1.224 bytes) enviado de 10.10.0.2 para 10.50.0.2 é informado a partir da VM 10.10.0.2, que é a origem do fluxo. O tráfego (5.342 bytes) enviado de 10.50.0.2 para 10.10.0.2 também é informado a partir da VM 10.10.0.2, que é o destino do fluxo.

Neste exemplo, os registros de fluxo de VPC não estão ativados no projeto webserver-test, portanto nenhum registro é gravado pela VM 10.50.0.2.

reportado por connection.src_ip connection.dest_ip bytes_sent Anotações de VPC
fonte 10.10.0.2 10.50.0.2 1.224 src_instance.*
src_vpc.*
destino 10.50.0.2 10.10.0.2 5.342 dest_instance.*
dest_vpc.*

Fluxos de VM para VM no balanceamento de carga interno

Fluxos de balanceamento de carga interno (clique para ampliar)
Fluxos de balanceamento de carga interno (clique para ampliar)

Quando você adiciona uma VM ao serviço de back-end de um balanceador de carga interno, o ambiente de convidado do Linux ou do Windows adiciona o endereço IP do balanceador de carga à tabela de roteamento local da VM. Isso permite que a VM aceite pacotes de solicitação com destinos definidos para o endereço IP do balanceador de carga. Quando a VM responde, a resposta é enviada diretamente. No entanto, o endereço IP de origem dos pacotes de resposta é definido pelo endereço IP do balanceador de carga, não pela VM com balanceamento de carga.

Os fluxos de VM para VM enviados por meio de um balanceador de carga interno são informados para a origem e o destino. Para um exemplo de par solicitação/resposta HTTP, a tabela a seguir explica os campos das entradas de registro de fluxo observadas. Para este exemplo, considere a seguinte configuração de rede:

  • instância do navegador em 192.168.1.2
  • balanceador de carga interno em 10.240.0.200
  • instância do servidor da Web em 10.240.0.3
Direção do tráfego reportado por connection.src_ip connection.dest_ip connection.src_instance connection.dest_instance
Solicitação SRC 192.168.1.2 10.240.0.200 Instância do navegador
Solicitação DEST 192.168.1.2 10.240.0.3 Instância do navegador Instância do servidor da Web
Resposta SRC 10.240.0.3 192.168.1.2 Instância do servidor da Web Instância do navegador
Resposta DEST 10.240.0.200 192.168.1.2 Instância do navegador

A VM solicitante não sabe qual VM responderá à solicitação. Além disso, uma vez que a outra VM envia uma resposta tendo como endereço de origem o IP do balanceador de carga interno, ela não sabe qual VM respondeu. Por esses motivos, a VM solicitante não pode adicionar informações dest_instance ao seu relatório, mas apenas informações src_instance. Como a VM de resposta conhece o endereço IP da outra VM, ela pode fornecer as duas informações, src_instance e dest_instance.

Como ativar os registros de fluxo de VPC

Quando você ativa os registros de fluxo de VPC, isso ocorre em todas as VMs de uma sub-rede. Também é possível especificar parâmetros de amostragem de registro ao ativar o registro. Consulte Amostragem e agregação de registos para ver detalhes sobre os parâmetros que você pode controlar.

Ativar os registros de fluxo de VPC quando você cria uma sub-rede

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud.
    Acessar a página "Redes VPC"
  2. Clique na rede em que você quer adicionar uma sub-rede.
  3. Clique em Adicionar sub-rede.
  4. Em Registros de fluxo, selecione Ativar.
  5. Se você quiser ajustar a amostragem e a agregação de registros, clique em Configurar registros e ajuste um dos itens a seguir:
    • Intervalo de agregação
    • incluir ou não metadados nas entradas de registro finais;
    • a taxa de amostragem. 100% significa que todas as entradas são mantidas.
  6. Preencha outros campos conforme apropriado.
  7. Clique em Adicionar.

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]

em que

  • --logging-aggregation-interval=<var>INTERVAL</var> define o intervalo de agregação para registros de fluxo nessa sub-rede. O intervalo de tempo pode ser configurado para: 5 s (padrão), 30 s, 1 min, 5 min, 10 min ou 15 min.
  • --logging-flow-sampling é a taxa de amostragem de fluxo. A amostragem de fluxo pode ser definida de 0.0 (sem amostragem) a 1.0 (todos os registros). O padrão é 0.5.
  • --logging-metadata=(include-all | exclude-all) ativa ou desativa as anotações de metadados do registro. O padrão é ativado.

API

Ative os registros de fluxo de VPC quando criar uma nova sub-rede.

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

Substitua os marcadores por valores válidos:

  • PROJECT_ID é o código do projeto em que a sub-rede será criada.
  • REGION é a região em que a sub-rede será criada.
  • AGGREGATION_INTERVAL define o intervalo de agregação para registros de fluxo na sub-rede. O intervalo pode ser definido como qualquer um dos seguintes: INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN ou INTERVAL_15_MIN.
  • SAMPLING_RATE é a taxa de amostragem de fluxo. A amostragem de fluxo pode ser definida de 0.0 (sem amostragem) a 1.0 (todos os registros). O padrão é .0.5.
  • IP_RANGE é o intervalo de endereço IP interno principal da sub-rede.
  • NETWORK_URL é o URL da rede VPC onde a sub-rede será criada.
  • SUBNET_NAME é um nome para a sub-rede.

Para ver mais informações, consulte o método subnetworks.insert.

Ativar os registros de fluxo de VPC para uma sub-rede existente

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud.
    Acessar a página "Redes VPC"
  2. Clique na sub-rede que você quer atualizar.
  3. Clique em Editar.
  4. Em Registros de fluxo, selecione Ativar.
  5. Se você quiser ajustar a amostragem e a agregação de registros, clique em Configurar registros e ajuste um dos itens a seguir:
    • Intervalo de agregação
    • incluir ou não metadados nas entradas de registro finais;
    • a taxa de amostragem. 100% significa que todas as entradas são mantidas.
  6. Clique em Salvar.

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)]

em que

  • --logging-aggregation-interval=<var>INTERVAL</var> define o intervalo de agregação para registros de fluxo nessa sub-rede. O intervalo de tempo pode ser configurado para: 5 s (padrão), 30 s, 1 min, 5 min, 10 min ou 15 min.
  • --logging-flow-sampling é a taxa de amostragem de fluxo. A amostragem de fluxo pode ser definida de 0.0 (sem amostragem) a 1.0 (todos os registros). O padrão é .0.5.
  • --logging-metadata=(include-all | exclude-all) ativa ou desativa as anotações de metadados do registro. O padrão é ativado.

API

Ative os registros de fluxo de VPC para uma sub-rede 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"
}

Substitua os marcadores por valores válidos:

Para mais informações, consulte o método subnetworks.patch.

Como visualizar o volume de registro estimado para sub-redes atuais

O Console do Google Cloud fornece uma estimativa do seu volume de registro para sub-redes atuais, que pode ser usada para calcular o custo de ativação dos registros de fluxo. A estimativa é baseada em fluxos capturados em intervalos de 5 segundos para a sub-rede nos últimos 7 dias. Além disso, o tamanho de cada registro depende da ativação das anotações de metadados.

  1. Acesse a página "Redes VPC" no Console do Google Cloud.
    Acessar a página "Redes VPC"
  2. Clique na sub-rede para a qual queira estimar os custos.
  3. Clique em Editar.
  4. Em Registros de fluxo, selecione Ativar.
  5. Clique em Configurar registros.
  6. Visualize os Registros estimados gerados por dia para ver a estimativa.
  7. Clique em Cancelar para que nenhuma das suas alterações seja salva.

Como atualizar parâmetros de geração de registro de fluxo de VPC

É possível modificar os parâmetros de amostragem de registros. Consulte Amostragem e agregação de registos para ver detalhes sobre os parâmetros que você pode controlar.

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud.
    Acessar a página "Redes VPC"
  2. Clique na sub-rede que você quer atualizar.
  3. Clique em Editar.
  4. Clique em Configurar registros para ajustar a amostragem e a agregação de registros:
    • Intervalo de agregação
    • incluir ou não metadados nas entradas de registro finais;
    • a taxa de amostragem. 100% significa que todas as entradas são mantidas.
  5. Clique em Salvar.

gcloud

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

em que

  • --logging-aggregation-interval=<var>INTERVAL</var> define o intervalo de agregação para registros de fluxo nessa sub-rede. O intervalo de tempo pode ser configurado para: 5 s (padrão), 30 s, 1 min, 5 min, 10 min ou 15 min.
  • --logging-flow-sampling é a taxa de amostragem de fluxo. A amostragem de fluxo pode ser definida de 0.0 (sem amostragem) a 1.0 (todos os registros). O padrão é .0.5.
  • --logging-metadata=(include-all | exclude-all) ativa ou desativa as anotações de metadados do registro. O padrão é ativado.

API

Modifique os campos da amostragem de registros para atualizar os comportamentos dos registros de fluxo da VPC.

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

Substitua os marcadores por valores válidos:

Para ver mais informações, consulte o método subnetworks.patch.

Desativar os registros de fluxo de VPC para uma sub-rede

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud.
    Acessar a página "Redes VPC"
  2. Clique na sub-rede que você quer atualizar.
  3. Clique em Editar.
  4. Em Registros de fluxo, selecione Desativar.
  5. Clique em Salvar.

gcloud

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

API

Desative registros de fluxo de VPC em uma sub-rede para interromper a coleta de registros.

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

Substitua os marcadores por valores válidos:

  • PROJECT_ID é o código do projeto em que a sub-rede está localizada.
  • REGION é a região em que a sub-rede está localizada.
  • SUBNET_NAME é o nome da sub-rede existente.
  • SUBNET_FINGERPRINT é o código de impressão digital da sub-rede existente, que é fornecido quando você descreve uma sub-rede.

Para mais informações, consulte o método subnetworks.patch.

Como acessar registros pelo Logging

Como configurar o IAM

Siga o guia de controle de acesso do Logging.

Veja os registros na página do visualizador de registros.

Você precisa do código do projeto para esses comandos.

Acessar todos os registros de fluxo

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. Selecione Sub-rede do GCE no primeiro menu suspenso.
  3. Selecione vpc_flows no segundo menu suspenso.
  4. Clique em OK.

Como alternativa:

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. No lado direito do campo Filtrar por rótulo ou pesquisa de texto, clique na seta para baixo e selecione Converter para filtro avançado.
  3. Cole o seguinte no campo. Substitua PROJECT-ID pelo código do projeto.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    
  4. Clique em Enviar filtro.

Acessar registros de uma sub-rede específica

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. No primeiro menu suspenso, mova o cursor para Sub-rede do GCE e mova-o para a direita para abrir o menu de seleção de sub-rede individual.
  3. No segundo menu suspenso, selecione vpc_flows.
  4. Clique em OK.

Como alternativa:

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. No lado direito do campo Filtrar por rótulo ou pesquisa de texto, clique na seta para baixo e selecione Converter para filtro avançado.
  3. Cole o seguinte no campo. Substitua PROJECT_ID pelo código do projeto e SUBNETWORK_NAME pela sub-rede.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    resource.labels.subnetwork_name="SUBNETWORK_NAME"
    
  4. Clique em Enviar filtro.

Acessar registros de VMs específicas

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. No lado direito do campo Filtrar por rótulo ou pesquisa de texto, clique na seta para baixo e selecione Converter para filtro avançado.
  3. Cole o seguinte no campo. Substitua PROJECT_ID pelo código do projeto e VM_NAME pela VM.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.src_instance.vm_name="VM_NAME"
    
  4. Clique em Enviar filtro.

Acessar registros de tráfego para um prefixo específico

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. No lado direito do campo Filtrar por rótulo ou pesquisa de texto, clique na seta para baixo e selecione Converter para filtro avançado.
  3. Cole o seguinte no campo. Substitua PROJECT_ID pelo código do projeto e SUBNETWORK_NAME pela sub-rede.
    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    ip_in_net(jsonPayload.connection.dest_ip, SUBNETWORK_NAME)
    
  4. Clique em Enviar filtro.

Acessar registros de portas e protocolos específicos

Para uma porta individual

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. No lado direito do campo Filtrar por rótulo ou pesquisa de texto, clique na seta para baixo e selecione Converter para filtro avançado.
  3. Cole o seguinte no campo. Substitua PROJECT_ID pelo código do projeto, PORT pela porta e PROTOCOL pelo 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. Clique em Enviar filtro.

Para mais de uma porta

  1. Acesse a página "Registros" no Console do Google Cloud.
    Acessar a página "Registros"
  2. No lado direito do campo Filtrar por rótulo ou pesquisa de texto, clique na seta para baixo e selecione Converter para filtro avançado.
  3. Cole o seguinte no campo. Substitua PROJECT_ID pelo código do projeto, PORT1 e PORT2 pelas portas e PROTOCOL pelo 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. Clique em Enviar filtro.

Como exportar registros para BigQuery, Pub/Sub e destinos personalizados

Exporte registros de fluxo do Logging para um destino de sua escolha, conforme descrito na documentação do Logging. Consulte a seção anterior para obter exemplos de filtro.

Solução de problemas

Nenhum vpc_flows aparece no recurso gce_subnetwork do Logging

  • Os fluxos de VPC são compatíveis apenas com redes VPC. Se você tiver uma rede legada, não verá nenhum registro.
  • Em redes VPC compartilhadas, os registros só aparecem no projeto host, não nos projetos de serviço. Procure os registros no projeto host.
  • Os filtros de exclusão do Logging bloqueiam registros especificados. Verifique se não há regras de exclusão que descartem os registros de fluxo de VPC.
    1. Vá para Uso de recursos.
    2. Clique na guia Exclusões.
    3. Verifique se não há regras de exclusão que possam descartar os registros de fluxo de VPC.

Nenhum valor de RTT ou byte em alguns dos registros

  • As medições de RTT talvez não sejam mostradas se não houver uma amostra com pacotes suficientes para capturar o RTT. É mais provável que isso aconteça para conexões de baixo volume.
  • Não há valores de RTT disponíveis para fluxos de UDP.
  • Alguns pacotes são enviados sem payload. Se os pacotes somente de cabeçalho foram incluídos na amostra, o valor dos bytes será 0.

Alguns fluxos não são mostrados

  • Somente protocolos UDP e TCP são aceitos. Os registros de fluxo de VPC não são compatíveis com nenhum outro protocolo.
  • Os registros são amostrados. Alguns pacotes em fluxos de volume muito baixo podem não ser mostrados.

Os registros de fluxo parecem estar desativados, ainda que tenham sido ativados

  • Ao configurar uma sub-rede somente proxy para balanceadores de carga HTTP(S) internos e usar o comando gcloud compute networks subnets para ativar os registros de fluxo de VPC, o comando parece ter êxito, mas os registros de fluxo não estão realmente ativados. A sinalização --enable-flow-logs não entra em vigor quando a sinalização --purpose=INTERNAL_HTTPS_LOAD_BALANCER também é incluída.

    Ao usar o Console do Cloud ou a API para ativar os registros de fluxo, será exibida a seguinte mensagem de erro: "Valor inválido para o campo 'resource.enableFlowLogs': 'true'. Campo inválido definido na sub-rede com a finalidade INTERNAL_HTTPS_pload_ balanCER."

    Como as sub-redes somente proxy não têm VMs, os registros de fluxo de VPC não são compatíveis. Este é o comportamento esperado.

Preços

São aplicados preços padrão para o Logging, BigQuery ou Pub/Sub. Os preços de registros de fluxo de VPC são descritos em Preços de telemetria de rede.

Perguntas frequentes

  • Os registros de fluxo de VPC incluem o tráfego permitido e negado com base nas regras de firewall?

    • Os registros de fluxo de VPC abordam o tráfego a partir da perspectiva de uma VM. Todo o tráfego de saída (saída) de uma VM é registrado, mesmo se ela for bloqueada por uma regra de firewall de negação de saída. O tráfego de entrada (recebido) é registrado se for permitido por uma regra de firewall de permissão de entrada. O tráfego de entrada bloqueado por uma regra de firewall de negação de entrada não é registrado.
  • Os registros de fluxo de VPC funcionam com instâncias de VM com várias interfaces?

  • Os registros de fluxo da VPC funcionam com redes legadas?

    • Não, os registros de fluxo de VPC não são compatíveis com redes legadas.

A seguir