Configurez les journaux de flux VPC

Cette page explique comment configurer les journaux de flux VPC. Nous partons du principe que vous connaissez bien les concepts décrits dans les journaux de flux VPC et dans À propos des enregistrements des journaux de flux VPC.

Activer les journaux de flux VPC

Lorsque vous activez les journaux de flux VPC, vous activez la journalisation pour toutes les VM d'un sous-réseau. Cependant, vous pouvez réduire la quantité d'informations écrites dans Logging. Pour en savoir plus sur les paramètres que vous pouvez contrôler, consultez la section Échantillonnage et traitement des journaux.

Pour personnaliser les champs de métadonnées ou configurer le filtrage des journaux, utilisez la Google Cloud CLI ou l'API.

Activer les journaux de flux VPC lorsque vous créez un sous-réseau

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le réseau dans lequel vous souhaitez ajouter un sous-réseau.

  3. Cliquez sur Ajouter un sous-réseau.

  4. Pour Journaux de flux, sélectionnez Activé.

  5. Si vous souhaitez ajuster l'échantillonnage des journaux et l'agrégation, cliquez sur Configurer les journaux et ajustez l'un des éléments suivants :

    • L'intervalle d'agrégation.
    • Indique si les métadonnées doivent être incluses dans les entrées de journal finales. Par défaut, l'option Inclure les métadonnées inclut tous les champs.
    • Le taux d'échantillonnage, 100% signifiant que toutes les entrées sont conservées.
  6. Renseignez les autres champs selon vos besoins.

  7. Cliquez sur Ajouter.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Exécutez la commande ci-dessous.

    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]
    

    Remplacez les éléments suivants :

    • AGGREGATION_INTERVAL : l'intervalle d'agrégation pour les journaux de flux dans ce sous-réseau. L'intervalle peut être défini sur l'une des valeurs suivantes : 5 secondes (par défaut), 30 secondes, 1 minute, 5 minutes, 10 minutes ou 15 minutes.
    • SAMPLE_RATE : le taux d'échantillonnage du flux. L'échantillonnage du flux peut être compris entre 0.0 (aucun échantillonnage) et 1.0 (tous les journaux). La valeur par défaut est 0.5.
    • FILTER_EXPRESSION : une expression qui définit les journaux que vous souhaitez conserver. L'expression est limitée à 2 048 caractères. Pour en savoir plus, consultez la section Filtrage des journaux.
    • LOGGING_METADATA : les annotations de métadonnées que vous souhaitez inclure dans les journaux :

      • Utilisez include-all pour inclure toutes les annotations de métadonnées.
      • Utilisez exclude-all pour exclure toutes les annotations de métadonnées (par défaut).
      • Utilisez custom pour inclure une liste personnalisée de champs de métadonnées que vous spécifiez dans METADATA_FIELDS.
    • METADATA_FIELDS : liste de champs de métadonnées séparés par une virgule que vous souhaitez inclure dans les journaux. Exemple : src_instance,dst_instance. Ne peut être défini que si LOGGING_METADATA est défini sur custom.

API

Activez les journaux de flux VPC lorsque vous créez un sous-réseau.

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel le sous-réseau va être créé.
  • REGION : région dans laquelle le sous-réseau sera créé.
  • AGGREGATION_INTERVAL : intervalle d'agrégation pour les journaux de flux dans le sous-réseau. L'intervalle peut être défini sur l'une des valeurs suivantes : INTERVAL_5_SEC, INTERVAL_30_SEC, INTERVAL_1_MIN, INTERVAL_5_MIN, INTERVAL_10_MIN ou INTERVAL_15_MIN.
  • SAMPLING_RATE : le taux d'échantillonnage du flux. L'échantillonnage du flux peut être compris entre 0.0 (aucun échantillonnage) et 1.0 (tous les journaux). La valeur par défaut est .0.5.
  • EXPRESSION : filtre que vous utilisez pour filtrer les journaux réellement écrits. L'expression est limitée à 2 048 caractères. Pour en savoir plus, consultez la section Filtrage des journaux.
  • METADATA_SETTING : les annotations de métadonnées que vous souhaitez inclure dans les journaux :

    • Utilisez INCLUDE_ALL_METADATA pour inclure toutes les annotations de métadonnées.
    • Utilisez EXCLUDE_ALL_METADATA pour exclure toutes les annotations de métadonnées (par défaut).
    • Utilisez custom pour inclure une liste personnalisée de champs de métadonnées que vous spécifiez dans METADATA_FIELDS.
  • METADATA_FIELDS : les champs de métadonnées que vous souhaitez capturer lorsque vous avez défini metadata: CUSTOM_METADATA. Il s'agit d'une liste de champs de métadonnées séparés par une virgule, telle que src_instance, src_vpc.project_id.

  • IP_RANGE : la plage d'adresses IP internes principale du sous-réseau.

  • NETWORK_URL : l'URL du réseau VPC dans lequel le sous-réseau sera créé.

  • SUBNET_NAME : nom du sous-réseau

Pour plus d'informations, reportez-vous à la méthode subnetworks.insert.

Terraform

Vous pouvez utiliser un module Terraform pour créer un réseau et des sous-réseaux VPC en mode personnalisé.

L'exemple suivant crée trois sous-réseaux comme suit :

  • Les journaux de flux VPC sont désactivés dans subnet-01. Lorsque vous créez un sous-réseau, les journaux de flux VPC sont désactivés, sauf si vous les activez explicitement.
  • Les journaux de flux VPC sont activés avec les paramètres des journaux de flux par défaut dans subnet-02.
  • Les journaux de flux VPC sont activés avec certains paramètres personnalisés dans subnet-03.
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"
    }
  ]
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.

Activer les journaux de flux VPC pour un sous-réseau existant

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le sous-réseau que vous souhaitez mettre à jour.

  3. Cliquez sur Modifier.

  4. Pour Journaux de flux, sélectionnez Activé.

  5. Si vous souhaitez ajuster l'échantillonnage des journaux et l'agrégation, cliquez sur Configurer les journaux et ajustez l'un des éléments suivants :

    • L'intervalle d'agrégation.
    • Indique si les métadonnées doivent être incluses dans les entrées de journal finales. Par défaut, l'option Inclure les métadonnées inclut tous les champs.
    • Le taux d'échantillonnage, 100% signifiant que toutes les entrées sont conservées.
  6. Cliquez sur Save.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Exécutez la commande ci-dessous.

    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]
    

    Remplacez les éléments suivants :

    • AGGREGATION_INTERVAL : l'intervalle d'agrégation pour les journaux de flux dans ce sous-réseau. L'intervalle peut être défini sur l'une des valeurs suivantes : 5 secondes (par défaut), 30 secondes, 1 minute, 5 minutes, 10 minutes ou 15 minutes.
    • SAMPLE_RATE : le taux d'échantillonnage du flux. L'échantillonnage du flux peut être compris entre 0.0 (aucun échantillonnage) et 1.0 (tous les journaux). La valeur par défaut est 0.5.
    • FILTER_EXPRESSION : une expression qui définit les journaux que vous souhaitez conserver. L'expression est limitée à 2 048 caractères. Pour en savoir plus, consultez la section Filtrage des journaux.
    • LOGGING_METADATA : les annotations de métadonnées que vous souhaitez inclure dans les journaux :

      • Utilisez include-all pour inclure toutes les annotations de métadonnées.
      • Utilisez exclude-all pour exclure toutes les annotations de métadonnées (par défaut).
      • Utilisez custom pour inclure une liste personnalisée de champs de métadonnées que vous spécifiez dans METADATA_FIELDS.
    • METADATA_FIELDS : liste de champs de métadonnées séparés par une virgule que vous souhaitez inclure dans les journaux. Exemple : src_instance,dst_instance. Ne peut être défini que si LOGGING_METADATA est défini sur custom.

API

Activez les journaux de flux VPC pour un sous-réseau existant.

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

Remplacez les éléments suivants :

Pour plus d'informations, reportez-vous à la méthode subnetworks.patch.

Afficher le volume de journaux estimé pour les sous-réseaux existants

La console Google Cloud fournit une estimation de votre volume de journaux pour les sous-réseaux existants, qui permet ensuite d'estimer le coût d'activation des journaux de flux. L'estimation est basée sur les flux capturés à intervalles de cinq secondes pour le sous-réseau au cours des sept derniers jours. En outre, la taille de chaque journal varie selon que vous activez les annotations de métadonnées.

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le sous-réseau pour lequel vous souhaitez estimer les coûts.

  3. Cliquez sur Modifier.

  4. Pour Journaux de flux, sélectionnez Activé.

  5. Cliquez sur Configurer les journaux.

  6. Affichez l'estimation du nombre de journaux générés chaque jour.

  7. Cliquez sur Annuler pour ne pas enregistrer vos modifications.

Afficher les sous-réseaux pour lesquels les journaux de flux VPC sont activés

Vous pouvez vérifier les sous-réseaux d'un réseau sur lesquels les journaux de flux VPC sont activés.

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le réseau VPC dans lequel vous souhaitez afficher les sous-réseaux.

  3. Cliquez sur l'onglet Sous-réseaux et consultez la colonne Journaux de flux pour voir si la journalisation est activée ou désactivée.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Exécutez la commande ci-dessous.

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

    Remplacez les éléments suivants :

    • PROJECT_ID : l'ID du projet que vous interrogez.
    • NETWORK : nom du réseau contenant les sous-réseaux.

Mettre à jour les paramètres des journaux de flux VPC

Vous pouvez modifier les paramètres d'échantillonnage des journaux. Pour en savoir plus sur les paramètres que vous pouvez contrôler, consultez la section Échantillonnage et traitement des journaux.

Pour personnaliser les champs de métadonnées ou pour configurer le filtrage des journaux, utilisez gcloud CLI ou l'API.

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le sous-réseau que vous souhaitez mettre à jour.

  3. Cliquez sur Modifier.

  4. Si vous souhaitez ajuster l'échantillonnage des journaux et l'agrégation, cliquez sur Configurer les journaux et ajustez l'un des éléments suivants :

    • L'intervalle d'agrégation.
    • Indique si les métadonnées doivent être incluses dans les entrées de journal finales. Par défaut, l'option Inclure les métadonnées inclut tous les champs.
    • Le taux d'échantillonnage, 100% signifiant que toutes les entrées sont conservées.
  5. Cliquez sur Save.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Exécutez la commande ci-dessous.

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

    Remplacez les éléments suivants :

    • AGGREGATION_INTERVAL : l'intervalle d'agrégation pour les journaux de flux dans ce sous-réseau. L'intervalle peut être défini sur l'une des valeurs suivantes : 5 secondes (par défaut), 30 secondes, 1 minute, 5 minutes, 10 minutes ou 15 minutes.
    • SAMPLE_RATE : le taux d'échantillonnage du flux. L'échantillonnage du flux peut être compris entre 0.0 (aucun échantillonnage) et 1.0 (tous les journaux). La valeur par défaut est 0.5.
    • FILTER_EXPRESSION est une expression qui définit les journaux que vous souhaitez conserver. L'expression est limitée à 2 048 caractères. Pour en savoir plus, consultez la section Filtrage des journaux.
    • LOGGING_METADATA : les annotations de métadonnées que vous souhaitez inclure dans les journaux :

      • Utilisez include-all pour inclure toutes les annotations de métadonnées.
      • Utilisez exclude-all pour exclure toutes les annotations de métadonnées (par défaut).
      • Utilisez custom pour inclure une liste personnalisée de champs de métadonnées que vous spécifiez dans METADATA_FIELDS.
    • METADATA_FIELDS : liste de champs de métadonnées séparés par une virgule que vous souhaitez inclure dans les journaux. Exemple : src_instance,dst_instance. Ne peut être défini que si LOGGING_METADATA est défini sur custom.

API

Modifiez les champs d'échantillonnage de journal pour mettre à jour les comportements des journaux de flux VPC.

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

Remplacez les éléments suivants :

Pour plus d'informations, reportez-vous à la méthode subnetworks.patch.

Désactiver les journaux de flux VPC pour un sous-réseau

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le sous-réseau que vous souhaitez mettre à jour.

  3. Cliquez sur Modifier.

  4. Pour Journaux de flux, sélectionnez Désactivé.

  5. Cliquez sur Enregistrer.

gcloud

  1. Dans la console Google Cloud, activez Cloud Shell.

    Activer Cloud Shell

    En bas de la fenêtre de la console Google Cloud, une session Cloud Shell démarre et affiche une invite de ligne de commande. Cloud Shell est un environnement shell dans lequel Google Cloud CLI est déjà installé, et dans lequel des valeurs sont déjà définies pour votre projet actuel. L'initialisation de la session peut prendre quelques secondes.

  2. Exécutez la commande suivante :

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

API

Désactivez les journaux de flux VPC sur un sous-réseau pour arrêter la collecte des enregistrements de journal.

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

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel se trouve le sous-réseau localisé.
  • REGION : région où se trouve la clé.
  • SUBNET_NAME : nom du sous-réseau existant.
  • SUBNET_FINGERPRINT : l'ID d'empreinte du sous-réseau existant, fourni lorsque vous décrivez un sous-réseau.

Pour plus d'informations, reportez-vous à la méthode subnetworks.patch.

Dépannage

Les journaux de flux semblent être désactivés même si vous les avez activés.

  • Lorsque vous configurez un sous-réseau proxy réservé pour les équilibreurs de charge d'application internes et que vous utilisez la commande gcloud compute networks subnets pour activer les journaux de flux VPC, la commande semble fonctionner, mais les journaux de flux ne sont pas activés. L'option --enable-flow-logs ne prend pas effet lorsque vous incluez également l'option --purpose=INTERNAL_HTTPS_LOAD_BALANCER.

    Lorsque vous utilisez la console Google Cloud ou l'API pour activer les journaux de flux, le message d'erreur suivant s'affiche : "Invalid value for field 'resource.enableFlowLogs':'true'. Invalid field set in subnetwork with purpose INTERNAL_HTTPS_LOAD_BALANCER."

    Comme les sous-réseaux proxy réservés ne possèdent pas de VM, les journaux de flux VPC ne sont pas compatibles. Ce fonctionnement est intentionnel.

Étapes suivantes