Utiliser des journaux de flux VPC

Les journaux de flux VPC enregistrent un échantillon de flux réseau envoyés et reçus par les instances de VM, y compris les instances utilisées en tant que nœuds GKE. Ces journaux peuvent être utilisés pour la surveillance et l'investigation des réseaux, l'analyse de la sécurité en temps réel et l'optimisation des dépenses.

Dans cette page, nous partons du principe que vous connaissez bien les concepts décrits dans les 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 des journaux et agrégation.

Pour personnaliser les champs de métadonnées ou pour configurer le filtrage des journaux, utilisez gcloud 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 suivante :

    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 :

      • include-all pour inclure toutes les annotations de métadonnées
      • exclude-all pour exclure toutes les annotations de métadonnées (par défaut)
      • 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 espaces réservés par des valeurs valides :

  • PROJECT_ID est l'ID du projet dans lequel le sous-réseau sera créé.
  • REGION est la région dans laquelle le sous-réseau sera créé.
  • AGGREGATION_INTERVAL définit l'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 est 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 est l'expression de 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 indique que toutes les métadonnées sont consignées (INCLUDE_ALL_METADATA), qu'aucune métadonnée n'est consignée (EXCLUDE_ALL_METADATA) ou que seules des métadonnées spécifiques sont consignées (CUSTOM_METADATA). Si ce champ est défini sur CUSTOM_METADATA, renseignez également le champ metadataFields. La valeur par défaut est EXCLUDE_ALL_METADATA. Consultez la section Annotations de métadonnées pour plus de détails.

  • METADATA_FIELDS sont les champs de métadonnées que vous souhaitez enregistrer 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 correspond à la plage d'adresses IP internes principale du sous-réseau.

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

  • SUBNET_NAME correspond au 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 suivante :

    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 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 :

      • include-all pour inclure toutes les annotations de métadonnées
      • exclude-all pour exclure toutes les annotations de métadonnées (par défaut)
      • 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 espaces réservés par des valeurs valides :

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. Consultez la colonne Journaux de flux pour déterminer 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 suivante :

    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 des journaux et agrégation.

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 suivante :

    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 :

      • include-all pour inclure toutes les annotations de métadonnées
      • exclude-all pour exclure toutes les annotations de métadonnées (par défaut)
      • 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 espaces réservés par des valeurs valides :

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 espaces réservés par des valeurs valides :

  • PROJECT_ID est l'ID du projet dans lequel se trouve le sous-réseau.
  • REGION est la région dans laquelle se trouve le sous-réseau.
  • SUBNET_NAME est le nom du sous-réseau existant.
  • SUBNET_FINGERPRINT correspond à 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.

Accéder aux journaux à l'aide de Logging

Vous pouvez afficher les journaux de flux VPC à l'aide de l'explorateur de journaux. Pour utiliser les requêtes suivantes, vous aurez besoin de l'ID de votre projet.

Configurer IAM

Pour configurer le contrôle des accès pour Logging, consultez le guide du contrôle des accès pour Logging.

Accéder à tous les journaux de flux

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Cliquez sur Ressource.

  3. Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau, puis sur Appliquer.

  4. Cliquez sur Nom du journal.

  5. Dans la liste Sélectionner les noms des journaux, cliquez sur vpc_flows, puis sur Appliquer.

Vous pouvez également procéder comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par votre ID de projet :

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    

  4. Cliquez sur Exécuter la requête.

Accéder aux journaux d'un sous-réseau spécifique

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Cliquez sur Ressource.

  3. Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau.

  4. Dans la liste ID de sous-réseau, sélectionnez le sous-réseau, puis cliquez sur Appliquer.

  5. Dans la liste Sélectionner les noms des journaux, cliquez sur vpc_flows, puis sur Appliquer.

Vous pouvez également procéder comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet et SUBNET_NAME par votre sous-réseau.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    resource.labels.subnetwork_name="SUBNET_NAME"
    

  4. Cliquez sur Exécuter la requête.

Accéder aux journaux d'une VM spécifique

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet et VM_NAME par le nom de votre VM.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.src_instance.vm_name="VM_NAME"
    

  4. Cliquez sur Exécuter la requête.

Accéder aux journaux relatifs au trafic vers une plage de sous-réseau spécifique

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet et SUBNET_RANGE par une plage CIDR telle que 192.168.1.0/24.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    ip_in_net(jsonPayload.connection.dest_ip, SUBNET_RANGE)
    

  4. Cliquez sur Exécuter la requête.

Accéder aux journaux d'un cluster GKE spécifique

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet et SUBNET_NAME par le nom de votre sous-réseau.

    resource.type="k8s_cluster"
    logName="projects/PROJECT_ID/logs/vpc_flows"
    resource.labels.cluster_name="CLUSTER_NAME"
    

  4. Cliquez sur Exécuter la requête.

Consulter exclusivement les journaux correspondant au trafic sortant d'un sous-réseau

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet et SUBNET_NAME par le nom du sous-réseau dont vous souhaitez afficher le trafic sortant.

    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" AND
    jsonPayload.reporter="SRC" AND
    jsonPayload.src_vpc.subnetwork_name="SUBNET_NAME" AND
    (jsonPayload.dest_vpc.subnetwork_name!="SUBNET_NAME" OR NOT jsonPayload.dest_vpc.subnetwork_name:*)
    

  4. Cliquez sur Exécuter la requête.

Consulter les journaux correspondant à l'ensemble du trafic sortant d'un réseau VPC

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet et VPC_NAME par le nom de votre réseau VPC.

    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows" AND
    jsonPayload.reporter="SRC" AND
    jsonPayload.src_vpc.vpc_name="VPC_NAME" AND
    (jsonPayload.dest_vpc.vpc_name!="VPC_NAME" OR NOT jsonPayload.dest_vpc:*)
    
  4. Cliquez sur Exécuter la requête.

Journaux d'accès pour des ports et protocoles spécifiques

Pour un port de destination individuel

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet, PORT par le port de destination et PROTOCOL par le protocole.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=PORT
    jsonPayload.connection.protocol=PROTOCOL
    

  4. Cliquez sur Exécuter la requête.

Pour plusieurs ports de destination

Console

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Si le champ de l'éditeur de requête n'apparaît pas dans le volet Requête, cliquez sur le bouton Afficher la requête.

  3. Collez le texte suivant dans le champ de l'éditeur de requête. Remplacez PROJECT_ID par l'ID de votre projet, PORT1 et PORT2 par les ports de destination, et PROTOCOL par le protocole.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
    jsonPayload.connection.dest_port=(PORT1 OR PORT2)
    jsonPayload.connection.protocol=PROTOCOL
    

  4. Cliquez sur Exécuter la requête.

Routage des journaux vers BigQuery, Pub/Sub et des cibles personnalisées

Vous pouvez acheminer les journaux de flux depuis Logging vers la destination de votre choix, comme décrit dans la section Présentation du routage et du stockage de la documentation de Logging. Pour obtenir des exemples de filtres, consultez la section précédente.

Dépannage

Aucun vpc_flows n'apparaît dans Logging pour la ressource gce_subnetwork.

  • Vérifiez que la journalisation est activée pour le sous-réseau donné.
  • Les flux VPC ne sont disponibles que pour les réseaux VPC. Si vous travaillez avec un ancien réseau, aucun journal ne s'affichera.
  • Pour les réseaux VPC partagés, les journaux n'apparaissent que dans le projet hôte, et non dans les projets de service. Vérifiez que vous recherchez bien les journaux dans le projet hôte.
  • Les filtres d'exclusion de Logging bloquent les journaux indiqués. Vérifiez qu'aucune règle d'exclusion ne supprime les journaux de flux VPC.
    1. Accédez à la page Utilisation des ressources.
    2. Cliquez sur l'onglet Exclusions.
    3. Vérifiez qu'il n'existe aucune règle d'exclusion pouvant supprimer les journaux de flux VPC.

Certains journaux n'affichent aucune valeur de type DAR ou octet.

  • Les mesures de latence DAR (délai aller-retour) peuvent être manquantes si un nombre insuffisant de paquets ont été échantillonnés pour capturer cette valeur. Cette situation est davantage susceptible de se produire pour les connexions à faible volume.
  • Les valeurs de type DAR ne sont disponibles que pour les flux TCP.
  • Certains paquets sont envoyés sans charge utile. Si l'échantillonage n'a sélectionné que des paquets avec uniquement des en-têtes, la valeur de type octet sera égale à 0.

Certains flux sont manquants.

  • Les paquets d'entrée sont échantillonnés après les règles de pare-feu VPC d'entrée. Assurez-vous qu'aucune règle de pare-feu d'entrée ne refuse les paquets qui doivent être journalisés. Si vous ne savez pas si les règles de pare-feu VPC bloquent des paquets d'entrée, vous pouvez activer la journalisation des règles de pare-feu et inspecter les journaux correspondants.
  • Seuls les protocoles TCP, UDP, ICMP, ESP et GRE sont acceptés. Les journaux de flux VPC ne sont compatibles avec aucun autre protocole.
  • Les journaux sont échantillonnés. Certains paquets à très faible volume peuvent donc passer à travers les mailles du filet.

Annotations GKE manquantes dans certains journaux

Assurez-vous que la version de votre cluster GKE est une version compatible.

Journaux manquants pour certains flux GKE

Assurez-vous que la visibilité intranœud est activée dans le cluster. Sinon, les flux entre les pods du même nœud ne sont pas consignés.

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.

Étape suivante