Configurar os registros de fluxo de VPC

Nesta página, descrevemos como configurar os registros de fluxo de VPC. Ele pressupõe que você é conhecer os conceitos descritos em Registros de fluxo de VPC e Sobre os registros de fluxo de VPC.

Ativar VPC Flow Logs

Quando ativados, os registros funcionam em todas as VMs de uma sub-rede. No entanto, é possível reduzir a quantidade de informações gravadas na geração de registros. Para detalhes sobre os parâmetros que você pode controlar, consulte Amostragem e processamento de registros.

Para personalizar campos de metadados ou configurar a filtragem de registros, use o CLI ou API do Google Cloud.

Ativar registros de fluxo de VPC ao criar uma sub-rede

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na rede em que você quer adicionar uma sub-rede.

  3. Clique em Add subnet.

  4. Em Registros de fluxo, selecione Ativado.

  5. Para ajustar a amostragem e a agregação de registros, clique em Configurar registros e ajuste um dos itens a seguir:

    • O intervalo de agregação
    • Defina se os metadados serão incluídos nas entradas de registro finais. Por padrão, Incluir metadados inclui todos os campos.
    • A taxa de amostragem. 100% significa que todas as entradas são mantidas.
  6. Preencha outros campos conforme apropriado.

  7. Clique em Adicionar.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Execute este 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]
    

    Substitua:

    • AGGREGATION_INTERVAL: 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.
    • SAMPLE_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.
    • FILTER_EXPRESSION: uma expressão que define quais registros você quer manter. A expressão tem um limite de 2.048 caracteres. Para detalhes, consulte Filtragem de registros.
    • LOGGING_METADATA: as anotações de metadados que você quer incluir nos registros:

      • Use include-all para incluir todas as anotações de metadados.
      • Use exclude-all para excluir todas as anotações de metadados (padrão).
      • Use custom para incluir uma lista personalizada de campos de metadados especificados em METADATA_FIELDS.
    • METADATA_FIELDS: uma lista separada por vírgulas de campos de metadados que você quer incluir nos registros. Por exemplo, src_instance,dst_instance. Só pode ser definido se LOGGING_METADATA estiver definido como custom.

API

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

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

Substitua:

  • PROJECT_ID: o ID do projeto em que a sub-rede será criado.
  • REGION: a região em que a sub-rede será criada.
  • AGGREGATION_INTERVAL: 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.
  • EXPRESSION: é a expressão de filtro usada para filtrar quais registros realmente serão gravados. A expressão tem um limite de 2.048 caracteres. Para detalhes, consulte Filtragem de registros.
  • METADATA_SETTING: as anotações de metadados que você quer incluir nos registros:

    • Use INCLUDE_ALL_METADATA para incluir todas as anotações de metadados.
    • Use EXCLUDE_ALL_METADATA para excluir todas as anotações de metadados (padrão).
    • Use custom para incluir uma lista personalizada de campos de metadados especificados em METADATA_FIELDS.
  • METADATA_FIELDS: os campos de metadados que você quer capturar depois de definir metadata: CUSTOM_METADATA. Esta é uma lista separada por vírgulas de campos de metadados, como src_instance, src_vpc.project_id.

  • IP_RANGE: o intervalo de endereços IP principal da sub-rede.

  • NETWORK_URL: é o URL da rede VPC em que a sub-rede será criada.

  • SUBNET_NAME: um nome para a sub-rede.

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

Terraform

Use um módulo do Terraform para criar uma rede VPC e sub-redes de modo personalizado.

O exemplo a seguir cria três sub-redes da seguinte maneira:

  • subnet-01 tem registros de fluxo de VPC desativados. Quando você cria uma sub-rede, os registros de fluxo de VPC são desativados, a menos que você os ative explicitamente.
  • subnet-02 tem registros de fluxo de VPC ativados com as configurações padrão de registro de fluxo.
  • subnet-03 tem registros de fluxo de VPC ativados com algumas configurações personalizadas.
module "test-vpc-module" {
  source       = "terraform-google-modules/network/google"
  version      = "~> 9.0"
  project_id   = var.project_id # Replace this with your project ID in quotes
  network_name = "my-custom-mode-network"
  mtu          = 1460

  subnets = [
    {
      subnet_name   = "subnet-01"
      subnet_ip     = "10.10.10.0/24"
      subnet_region = "us-west1"
    },
    {
      subnet_name           = "subnet-02"
      subnet_ip             = "10.10.20.0/24"
      subnet_region         = "us-west1"
      subnet_private_access = "true"
      subnet_flow_logs      = "true"
    },
    {
      subnet_name               = "subnet-03"
      subnet_ip                 = "10.10.30.0/24"
      subnet_region             = "us-west1"
      subnet_flow_logs          = "true"
      subnet_flow_logs_interval = "INTERVAL_10_MIN"
      subnet_flow_logs_sampling = 0.7
      subnet_flow_logs_metadata = "INCLUDE_ALL_METADATA"
      subnet_flow_logs_filter   = "false"
    }
  ]
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

Ativar registros de fluxo de VPC para uma sub-rede atual

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na sub-rede que você quer atualizar.

  3. Clique em Editar.

  4. Em Registros de fluxo, selecione Ativado.

  5. Se você quiser ajustar a amostragem e a agregação de registros, clique em Configurar registros e ajuste um dos itens a seguir:

    • O intervalo de agregação
    • Defina se os metadados serão incluídos nas entradas de registro finais. Por padrão, Incluir metadados inclui todos os campos.
    • A taxa de amostragem. 100% significa que todas as entradas são mantidas.
  6. Clique em Salvar.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Execute este 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]
    

    Substitua:

    • AGGREGATION_INTERVAL: 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.
    • SAMPLE_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.
    • FILTER_EXPRESSION: uma expressão que define quais registros você quer manter. A expressão tem um limite de 2.048 caracteres. Para detalhes, consulte Filtragem de registros.
    • LOGGING_METADATA: as anotações de metadados que você quer incluir nos registros:

      • Use include-all para incluir todas as anotações de metadados.
      • Use exclude-all para excluir todas as anotações de metadados (padrão).
      • Use custom para incluir uma lista personalizada de campos de metadados especificados em METADATA_FIELDS.
    • METADATA_FIELDS: uma lista separada por vírgulas de campos de metadados que você quer incluir nos registros. Por exemplo, src_instance,dst_instance. Só pode ser definido se LOGGING_METADATA estiver definido como custom.

API

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

Substitua:

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 cálculo do 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.

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na sub-rede para a qual queira estimar os custos.

  3. Clique em Editar.

  4. Em Registros de fluxo, selecione Ativado.

  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.

Visualizar quais sub-redes têm registros de fluxo de VPC ativados

É possível verificar quais sub-redes de uma rede têm registros de fluxo de VPC ativados.

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na rede VPC em que você quer ver as sub-redes.

  3. Clique na guia Sub-redes e visualize a coluna Registros de fluxo para ver se a geração de registros esteja ativada ou desativada.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Execute este comando:

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

    Substitua:

    • PROJECT_ID é o ID do projeto que você está consultando.
    • NETWORK: o nome da rede que contém as sub-redes.

Atualizar os parâmetros dos registros de fluxo de VPC

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

Para personalizar campos de metadados ou configurar a filtragem de registros, use a CLI ou a API da gcloud.

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na sub-rede que você quer atualizar.

  3. Clique em Editar.

  4. Se você quiser ajustar a amostragem e a agregação de registros, clique em Configurar registros e ajuste um dos itens a seguir:

    • O intervalo de agregação
    • Defina se os metadados serão incluídos nas entradas de registro finais. Por padrão, Incluir metadados inclui todos os campos.
    • A taxa de amostragem. 100% significa que todas as entradas são mantidas.
  5. Clique em Salvar.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Execute este 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] \
    

    Substitua:

    • AGGREGATION_INTERVAL: 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.
    • SAMPLE_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.
    • FILTER_EXPRESSION: é uma expressão que define quais registros você quer manter. A expressão tem um limite de 2.048 caracteres. Para detalhes, consulte Filtragem de registros.
    • LOGGING_METADATA: as anotações de metadados que você quer incluir nos registros:

      • Use include-all para incluir todas as anotações de metadados.
      • Use exclude-all para excluir todas as anotações de metadados (padrão).
      • Use custom para incluir uma lista personalizada de campos de metadados especificados em METADATA_FIELDS.
    • METADATA_FIELDS: uma lista separada por vírgulas de campos de metadados que você quer incluir nos registros. Por exemplo, src_instance,dst_instance. Só pode ser definido se LOGGING_METADATA estiver definido como custom.

API

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

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

Substitua:

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

Desativar registros de fluxo de VPC para uma sub-rede

Console

  1. No Console do Google Cloud, acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na sub-rede que você quer atualizar.

  3. Clique em Editar.

  4. Em Registros de fluxo, selecione Desativado.

  5. Clique em Save.

gcloud

  1. No Console do Google Cloud, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Execute este comando:

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

API

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

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

Substitua:

  • PROJECT_ID: o ID 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 atual.
  • SUBNET_FINGERPRINT: o ID de impressão digital da sub-rede atual, que é fornecido quando você descreve uma sub-rede.

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

Solução de problemas

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

  • Ao configurar uma sub-rede somente proxy para balanceadores de carga de aplicativo 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 Google 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.

A seguir