Utiliser des journaux de flux VPC

Les journaux de flux VPC enregistrent un échantillon des flux du réseau envoyés et reçus par les instances de VM, y compris les instances utilisées comme 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.

Vous pouvez consulter les journaux de flux dans Cloud Logging et exporter les journaux vers n'importe quelle destination compatible avec l'exportation Cloud Logging.

Les journaux de flux sont agrégés par connexion à partir de VM Compute Engine, puis exportés en temps réel. En vous abonnant à Pub/Sub, vous pouvez analyser les journaux de flux à l'aide d'API de streaming en temps réel.

Propriétés clés

  • Vous pouvez activer ou désactiver les journaux de flux VPC pour chaque sous-réseau VPC. Si cette option est activée pour un sous-réseau, les journaux de flux VPC collectent les données issues de toutes les instances de VM de ce sous-réseau.
  • Les VM génèrent des rapports pour tous les flux TCP et UDP. Chaque enregistrement de flux inclut les informations décrites dans la section Format de l'enregistrement.
  • Chaque VM échantillonne les flux TCP et UDP détectés, entrants et sortants, que le flux soit acheminé vers ou depuis une autre VM, un hôte dans votre centre de données sur site, un service Google ou un hôte sur Internet. Si deux VM GCP communiquent et que les journaux de flux VPC sont activés pour chacune, les deux VM génèrent des rapports sur les flux.
  • Vous pouvez avoir recours aux filtres pour sélectionner les journaux de flux exclus dans Logging et exportés vers les API externes.
  • Les journaux de flux VPC sont intégrés en natif dans la pile réseau de l'infrastructure réseau VPC. Le routage des paquets IP enregistrés vers leur destination n'entraîne ni délai supplémentaire, ni perte de performances.

Cas d'utilisation

Surveillance du réseau

Les journaux de flux VPC vous offrent une visibilité en temps réel du débit et des performances du réseau. Vous pouvez :

  • surveiller le réseau VPC ;
  • réaliser un diagnostic du réseau ;
  • filtrer les journaux de flux par VM et par application pour comprendre les évolutions du trafic ;
  • comprendre la croissance du trafic pour prévoir les besoins en capacité.

Comprendre l'utilisation du réseau et optimiser les frais liés au trafic réseau

Vous pouvez analyser l'utilisation du réseau grâce aux journaux de flux VPC. Vous pouvez analyser les flux du réseau pour les éléments suivants :

  • Trafic entre régions et zones
  • Trafic vers certains pays sur Internet
  • Top talkers

Sur la base de l'analyse, vous pouvez optimiser les dépenses liées au trafic réseau.

Investigation numérique du réseau

Vous pouvez utiliser les journaux de flux VPC pour analyser le réseau. Par exemple, en cas d'incident, vous pouvez examiner :

  • les adresses IP impliquées, et avec qui et quand elles ont communiqué ;
  • les éventuelles adresses IP compromises en analysant tous les flux réseau entrants et sortants.

Analyse de la sécurité en temps réel

Vous pouvez exploiter les API de streaming en temps réel (via Pub/Sub) et les intégrer aux systèmes SIEM (Security Information and Event Management, gestion des informations et des événements de sécurité). Vous obtenez ainsi une surveillance en temps réel, la corrélation des événements, ainsi que des analyses et des alertes de sécurité.

Collecte de journaux

Les journaux de flux sont collectés pour chaque connexion à une VM à des intervalles spécifiques. Tous les paquets collectés pour un intervalle et une connexion donnés sont agrégés pendant une certaine période (intervalle d'agrégation) en une seule entrée de journal de flux. Ces données sont ensuite envoyées à Logging.

Les journaux sont stockés dans Logging pendant 30 jours. Si vous souhaitez les conserver plus longtemps, vous devez les exporter vers une destination compatible.

Échantillonnage et traitement des journaux

Google Cloud échantillonne les paquets qui quittent une VM et y entrent pour générer des journaux de flux. Les paquets ne sont pas tous capturés dans leur propre enregistrement de journal. Environ un paquet sur dix est capturé, mais ce taux d'échantillonnage peut être inférieur en fonction de la charge de la VM. Vous ne pouvez pas ajuster ce taux.

Une fois les journaux de flux générés, Google Cloud les traite selon la procédure suivante :

  1. Agrégation : les informations des paquets échantillonnés sont agrégées sur un intervalle d'agrégation configurable pour générer une entrée de journal de flux.
  2. Échantillonnage de journal de flux : il s'agit d'un deuxième processus d'échantillonnage. Les entrées de journal de flux sont ré-échantillonnées en fonction d'un paramètre de taux d'échantillonnage configurable.
  3. Métadonnées : si elles sont activées, des annotations de métadonnées sont ajoutées.
  4. Écriture de journalisation : les entrées de journal finales sont écrites dans Cloud Logging.

Bien que Google Cloud ne capture pas tous les paquets, les captures d'enregistrements de journal peuvent être relativement volumineuses. Vous pouvez équilibrer vos besoins en termes de visibilité du trafic et de coûts de stockage en ajustant les aspects suivants de la collecte de journaux :

  • Intervalle d'agrégation : les paquets échantillonnés pendant un intervalle de temps sont agrégés dans une seule entrée de journal. Cet intervalle peut être de 5 secondes (par défaut), 30 secondes, 1 minute, 5 minutes, 10 minutes ou 15 minutes.
  • Taux d'échantillonnage : avant d'être écrits dans la base de données, vous pouvez échantillonner les journaux afin d'en réduire le nombre. Par défaut, le volume des entrées de journal est réduit de 0,50 (50 %), ce qui signifie que la moitié des entrées sont conservées. Cette valeur peut être comprise entre 1.0 (100 %, toutes les entrées de journal sont conservées) et 0.0 (0 %, aucun journal n'est conservé).
  • Annotations de métadonnées : par défaut, les entrées de journal de flux sont annotées avec des informations de métadonnées, telles que les noms des VM sources et de destination, ou bien la région géographique des sources et des destinations externes. Cette annotation de métadonnées peut être désactivée pour économiser de l'espace de stockage.

Format de l'enregistrement

Les enregistrements de journal contiennent des champs de base, qui constituent les principaux champs de chaque enregistrement de journal, ainsi que des champs de métadonnées qui ajoutent des informations supplémentaires. Les champs de métadonnées peuvent être omis pour réduire les coûts de stockage.

Le format "multi-champs" de certains champs affiche plusieurs données dans un même champ. Par exemple, le champ connection est au format IpConnection, qui contient l'adresse IP et le port sources et de destination, ainsi que le protocole, dans un seul champ. Ces champs particuliers sont décrits sous le tableau relatif au format de l'enregistrement.

Champ Format du champ Type de champ : métadonnées de base ou facultatives
connection IpConnection
5-tuple décrivant cette connexion.
Base
start_time string
Horodatage (format de chaîne de date RFC 3339) du premier paquet observé pendant l'intervalle de temps cumulé
Base
end_time string
Horodatage (format de chaîne de date RFC 3339) du dernier paquet observé pendant l'intervalle de temps cumulé
Base
bytes_sent int64
Quantité d'octets envoyés depuis la source vers la destination
Base
packets_sent int64
Nombre de paquets envoyés depuis la source vers la destination
Base
rtt_msec int64
Latence mesurée (uniquement pour les flux TCP) pendant l'intervalle de temps. Il s'agit du temps écoulé entre l'envoi d'une séquence et la réception de l'indicateur ACK correspondant. Il contient la latence DAR du réseau, ainsi que le délai lié à l'application.
Base
reporter string
Côté ayant signalé le flux. Il peut s'agir de "SRC" ou de "DEST".
Base
src_instance InstanceDetails
Si la source de la connexion est une VM située sur le même réseau VPC, les détails de l'instance de VM sont insérés dans ce champ. Dans une configuration de réseau VPC partagé, project_id correspond au projet propriétaire de l'instance, généralement le projet de service.
Métadonnées
dest_instance InstanceDetails
Si la destination de la connexion est une VM située sur le même réseau VPC, les détails de l'instance de VM sont insérés dans ce champ. Dans une configuration de réseau VPC partagé, project_id correspond au projet propriétaire de l'instance, généralement le projet de service.
Métadonnées
src_vpc VpcDetails
Si la source de la connexion est une VM située sur le même réseau VPC, les détails du réseau VPC sont insérés dans ce champ. Dans une configuration de VPC partagé, project_id correspond à l'ID du projet hôte.
Métadonnées
dest_vpc VpcDetails
Si la destination de la connexion est une VM située sur le même réseau VPC, les détails du réseau VPC sont insérés dans ce champ. Dans une configuration de VPC partagé, project_id correspond à l'ID du projet hôte.
Métadonnées
src_location GeographicDetails
Si la source de la connexion est externe au réseau VPC Google, les métadonnées relatives à l'emplacement disponible sont insérées dans ce champ.
Métadonnées
dest_location GeographicDetails
Si la destination de la connexion est externe au réseau VPC Google, les métadonnées relatives à l'emplacement disponible sont insérées dans ce champ.
Métadonnées

Format de champ IpConnection

Champ Type Description
src_ip string Adresse IP source
src_port int32 Port source
dest_ip string Adresse IP de destination
dest_port int32 Port de destination
protocol int32 Numéro de protocole IANA

Format de champ InstanceDetails

Champ Type Description
project_id string ID du projet contenant la VM
vm_name string Nom d'instance de la VM
region string Région de la VM
zone string Zone de la VM

Format de champ VpcDetails

Champ Type Description
project_id string ID du projet contenant le VPC
vpc_name string VPC sur lequel la VM fonctionne
subnetwork_name string Sous-réseau sur lequel la VM fonctionne

Format de champ GeographicDetails

Champ Type Description
continent string Continent des points de terminaison externes
country string Pays des points de terminaison externes, représentés par leurs codes pays ISO 3166-1 Alpha-3
region string Région des points de terminaison externes
city string Ville des points de terminaison externes
asn int32 Numéro ASN (Autonomous System Number) du réseau externe auquel appartient ce point de terminaison

Exemples de modèle de trafic

Cette section décrit le fonctionnement des journaux de flux VPC dans les cas d'utilisation suivants :

Flux entre plusieurs VM au sein du même VPC

Flux entre plusieurs VM au sein d'un VPC (cliquez pour agrandir)
Flux entre plusieurs VM au sein d'un VPC (cliquez pour agrandir)

Pour les flux entre plusieurs VM au sein d'un même VPC, les journaux de flux sont transmis à la fois par la VM formulant la requête et par la VM formulant la réponse, tant que les journaux de flux VPC sont activés dans les sous-réseaux où se trouvent les deux VM. Dans cet exemple, la VM 10.10.0.2 envoie une requête contenant 1 224 octets à la VM 10.50.0.2, qui se trouve également dans un sous-réseau où la journalisation est activée. À son tour, 10.50.0.2 formule une réponse à la requête, contenant 5 342 octets. La requête et la réponse sont toutes deux enregistrées à partir de la VM formulant la requête et de la VM formulant la réponse.

Tel que transmis par la VM formulant la requête (10.10.0.2)
request/reply connection.src_ip connection.dest_ip bytes_sent Annotations VPC
request 10.10.0.2 10.50.0.2 1224 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
reply 10.50.0.2 10.10.0.2 5342 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
Tel que transmis par la VM formulant la réponse (10.50.0.2)
request/reply connection.src_ip connection.dest_ip bytes Annotations VPC
request 10.10.0.2 10.50.0.2 1224 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*
reply 10.50.0.2 10.10.0.2 5342 src_instance.*
dest_instance.*
src_vpc.*
dest_vpc.*

Flux entre une VM et un système externe

Flux entre une VM vers un système externe (cliquez pour agrandir)
Flux d'une VM vers un système externe (cliquez pour agrandir)

Pour les flux entre une VM et une entité externe, les journaux de flux sont transmis uniquement par la VM :

  • Pour les flux de sortie, les journaux sont transmis par la VM qui est la source du trafic.
  • Pour les flux d'entrée, les journaux sont transmis par la VM qui est la destination du trafic.

Cela s'applique :

  • au trafic entre un réseau VPC et un réseau sur site via un VPN ou Cloud Interconnect ;
  • au trafic entre des VM et des emplacements sur Internet.

Dans cet exemple, la VM 10.10.0.2 et le point de terminaison sur site 10.30.0.2 sont connectés via une passerelle VPN ou Cloud Interconnect. Le trafic sortant de 1 224 octets envoyés depuis 10.10.0.2 vers 10.30.0.2 est transmis par la VM source, 10.10.0.2. Le trafic entrant de 5 342 octets envoyés depuis 10.30.0.2 vers 10.10.0.2 est transmis par la VM de destination du trafic, 10.10.0.2.

request/reply connection.src_ip connection.dest_ip bytes_sent Annotations VPC
request 10.10.0.2 10.30.0.2 1224 src_instance.*
src_vpc.*
dest_location.*
reply 10.30.0.2 10.10.0.2 5342 dest_instance.*
dest_vpc.*
src_location.*

Flux entre plusieurs VM pour un VPC partagé

Flux pour les VPC partagés (cliquez pour agrandir)
Flux pour les VPC partagés (cliquez pour agrandir)

Pour les flux entre plusieurs VM pour les VPC partagés, vous pouvez activer les journaux de flux VPC pour le sous-réseau du projet hôte. Par exemple, le sous-réseau 10.10.0.0/20 appartient à un réseau VPC partagé défini dans un projet hôte. Vous pouvez afficher les journaux de flux des VM appartenant à ce sous-réseau, y compris ceux créés par des projets de service. Dans cet exemple, les projets de service sont appelés "webserver" (serveur Web), "recommendation" (recommandation), "database" (base de données).

Pour les flux entre plusieurs VM, si les deux VM se trouvent dans le même projet ou, dans le cas d'un réseau partagé, dans le même projet hôte, des annotations pour l'ID de projet et d'autres éléments sont fournies pour l'autre point de terminaison de la connexion. Si l'autre VM se trouve dans un projet différent, l'annotation de l'autre VM n'est pas fournie.

Le tableau suivant présente un flux tel que transmis par 10.10.0.10 ou 10.10.0.20.

  • src_vpc.project_id et dest_vpc.project_id concernent le projet hôte, car le sous-réseau VPC appartient au projet hôte.
  • src_instance.project_id et dest_instance.project_id concernent les projets de service, car les instances appartiennent aux projets de service.
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

Les projets de service ne sont pas propriétaires du réseau VPC partagé et n'ont pas accès aux journaux de flux de ce réseau.

Flux entre plusieurs VM pour l'appairage de VPC

Flux pour l'appairage de VPC (cliquez pour agrandir)
Flux pour l'appairage de VPC (cliquez pour agrandir)

À moins que les deux VM ne soient dans le même projet GCP, les flux entre plusieurs VM pour les VPC appairés sont transmis de la même manière que pour les points de terminaison externes : les informations relatives au projet et à d'autres annotations pour l'autre VM ne sont pas fournies. Si les deux VM sont dans le même projet, des informations relatives à ce projet et à d'autres annotations sont également fournies pour l'autre VM, même si les deux se trouvent dans des réseaux différents.

Dans cet exemple, les sous-réseaux de la VM 10.10.0.2 dans le projet "analytics-prod" et de la VM 10.50.0.2 dans le projet "webserver-test" sont connectés via l'appairage de VPC. Si les journaux de flux VPC sont activés dans le projet "analytics-prod", le trafic (1 224 octets) envoyé depuis 10.10.0.2 vers 10.50.0.2 est transmis par la VM 10.10.0.2, qui est la source du flux. Le trafic (5 342 octets) envoyé depuis 10.50.0.2 vers 10.10.0.2 est également transmis par la VM 10.10.0.2, qui est la destination du flux.

Dans cet exemple, les journaux de flux VPC ne sont pas activés dans le projet "webserver-test". Ainsi, aucun journal n'est enregistré par la VM 10.50.0.2.

reporter connection.src_ip connection.dest_ip bytes_sent Annotations VPC
source 10.10.0.2 10.50.0.2 1224 src_instance.*
src_vpc.*
destination 10.50.0.2 10.10.0.2 5342 dest_instance.*
dest_vpc.*

Flux entre plusieurs VM pour l'équilibrage de charge interne

Flux pour l'équilibrage de charge interne (cliquez pour agrandir)
Flux pour l'équilibrage de charge interne (cliquez pour agrandir)

Lorsque vous ajoutez une VM au service de backend pour un équilibreur de charge interne, l'environnement invité Linux ou Windows ajoute l'adresse IP de l'équilibreur de charge à la table de routage locale de la VM. Cet ajout permet à la VM d'accepter les paquets de requête dont les destinations sont l'adresse IP de l'équilibreur de charge. Lorsque la VM formule sa réponse, elle l'envoie directement. Cependant, l'adresse IP source des paquets de réponse est définie sur l'adresse IP de l'équilibreur de charge, et non sur la VM soumise à un équilibrage de charge.

Les flux entre plusieurs VM envoyés via un équilibreur de charge interne sont transmis à la fois par la source et par la destination. Pour un exemple de paire requête/réponse HTTP, le tableau suivant explique les champs des entrées du journal de flux observées. Pour les besoins d'illustration de cet exemple, prenez en compte la configuration réseau suivante :

  • Instance du navigateur à l'adresse 192.168.1.2
  • Équilibreur de charge interne à l'adresse 10.240.0.200
  • Instance du serveur Web à l'adresse 10.240.0.3
Sens du trafic reporter connection.src_ip connection.dest_ip connection.src_instance connection.dest_instance
Requête SRC 192.168.1.2 10.240.0.200 Instance du navigateur
Requête DEST 192.168.1.2 10.240.0.3 Instance du navigateur Instance du serveur Web
Réponse SRC 10.240.0.3 192.168.1.2 Instance du serveur Web Instance du navigateur
Réponse DEST 10.240.0.200 192.168.1.2 Instance du navigateur

La VM formulant une requête ne sait pas quelle VM y répondra. De plus, comme l'autre VM formule sa réponse avec l'adresse IP de l'équilibreur de charge interne en tant qu'adresse source, elle ne sait pas quelle VM a formulé la réponse. Pour toutes ces raisons, la VM formulant la requête ne peut pas ajouter d'informations relatives à dest_instance à son rapport, mais uniquement des informations relatives à src_instance. Étant donné que la VM formulant la réponse connaît l'adresse IP de l'autre VM, elle peut fournir des informations relatives à la fois à src_instance et à dest_instance.

Activer la journalisation de flux VPC

Lorsque vous activez les journaux de flux VPC, l'activation est appliquée à toutes les VM d'un sous-réseau. Vous pouvez également spécifier des paramètres d'échantillonnage des journaux lorsque vous activez la journalisation. Pour en savoir plus sur les paramètres que vous pouvez contrôler, consultez la section Échantillonnage des journaux et agrégation.

Activer la journalisation de flux VPC à la création d'un sous-réseau

Console

  1. Accédez à la page Réseaux VPC dans Google Cloud Console.
    Accéder à la page des 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. Sous 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 :
    • Intervalle d'agrégation
    • L'inclusion ou non des métadonnées dans les entrées de journal finales
    • 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

    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]
    

Où :

  • --logging-aggregation-interval=<var>INTERVAL</var> définit 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.
  • --logging-flow-sampling 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.
  • --logging-metadata=(include-all | exclude-all) active ou désactive les annotations de métadonnées d'enregistrement (activées par défaut).

API

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

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

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 des 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.
  • IP_RANGE correspond à la plage d'adresses IP interne principale du sous-réseau.
  • NETWORK_URL est l'URL du réseau VPC dans lequel le sous-réseau sera créé.
  • SUBNET_NAME est le nom du sous-réseau.

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

Activer la journalisation de flux VPC pour un sous-réseau existant

Console

  1. Accédez à la page Réseaux VPC dans Google Cloud Console.
    Accéder à la page des réseaux VPC
  2. Cliquez sur le sous-réseau que vous souhaitez mettre à jour.
  3. Cliquez sur Modifier.
  4. Sous 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 :
    • Intervalle d'agrégation
    • L'inclusion ou non des métadonnées dans les entrées de journal finales
    • Le taux d'échantillonnage, 100% signifiant que toutes les entrées sont conservées
  6. Cliquez sur Save.

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

Où :

  • --logging-aggregation-interval=<var>INTERVAL</var> définit 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.
  • --logging-flow-sampling 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.
  • --logging-metadata=(include-all | exclude-all) active ou désactive les annotations de métadonnées d'enregistrement (activées par défaut).

API

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

    PATCH https://www.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

Google Cloud Console 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.

  1. Accédez à la page Réseaux VPC dans Google Cloud Console.
    Accéder à la page des réseaux VPC
  2. Cliquez sur le sous-réseau pour lequel vous souhaitez estimer les coûts.
  3. Cliquez sur Modifier.
  4. Sous 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.

Mettre à jour les paramètres de journalisation 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.

Console

  1. Accédez à la page Réseaux VPC dans Google Cloud Console.
    Accéder à la page des réseaux VPC
  2. Cliquez sur le sous-réseau que vous souhaitez mettre à jour.
  3. Cliquez sur Modifier.
  4. Cliquez sur Configurer les journaux pour ajuster l'échantillonnage des journaux et l'agrégation :
    • Intervalle d'agrégation
    • L'inclusion ou non des métadonnées dans les entrées de journal finales
    • Le taux d'échantillonnage, 100% signifiant que toutes les entrées sont conservées
  5. Cliquez sur Save.

gcloud

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

Où :

  • --logging-aggregation-interval=<var>INTERVAL</var> définit 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.
  • --logging-flow-sampling 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.
  • --logging-metadata=(include-all | exclude-all) active ou désactive les annotations de métadonnées d'enregistrement (activées par défaut).

API

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

    PATCH https://www.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 la journalisation de flux VPC pour un sous-réseau

Console

  1. Accédez à la page Réseaux VPC dans Google Cloud Console.
    Accéder à la page des réseaux VPC
  2. Cliquez sur le sous-réseau que vous souhaitez mettre à jour.
  3. Cliquez sur Modifier.
  4. Sous Journaux de flux, sélectionnez Désactivé.
  5. Cliquez sur Enregistrer.

gcloud

    gcloud compute networks subnets update 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://www.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 ce sous-réseau.
  • SUBNET_NAME est le nom du sous-réseau existant.
  • SUBNET_FINGERFINT est 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 via Logging

Configurer IAM

Suivez les instructions du guide du contrôle des accès pour Logging.

Affichez les journaux via la page de la visionneuse de journaux.

Vous avez besoin de l'ID de votre projet pour exécuter ces commandes.

Accéder à tous les journaux de flux

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. Dans le premier menu déroulant, sélectionnez Sous-réseau GCE.
  3. Dans le deuxième menu déroulant, sélectionnez vpc_flows.
  4. Cliquez sur OK.

Vous pouvez également procéder comme suit :

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. À droite du champ Filtrer par étiquette ou texte recherché, cliquez sur la flèche vers le bas et sélectionnez Convertir en filtre avancé.
  3. Collez le texte suivant dans le champ. Remplacez PROJECT_ID par l'ID de votre projet.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        
  4. Cliquez sur Envoyer le filtre.

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

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. Dans le premier menu déroulant, déplacez le curseur vers Sous-réseau GCE, puis vers la droite pour ouvrir le menu de sélection du sous-réseau.
  3. Dans le deuxième menu déroulant, sélectionnez vpc_flows.
  4. Cliquez sur OK.

Vous pouvez également procéder comme suit :

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. À droite du champ Filtrer par étiquette ou texte recherché, cliquez sur la flèche vers le bas et sélectionnez Convertir en filtre avancé.
  3. Collez le texte suivant dans le champ. Remplacez PROJECT_ID par l'ID de votre projet et SUBNETWORK_NAME par votre sous-réseau.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        resource.labels.subnetwork_name="SUBNETWORK_NAME"
        
  4. Cliquez sur Envoyer le filtre.

Accéder aux journaux pour des VM spécifiques

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. À droite du champ Filtrer par étiquette ou texte recherché, cliquez sur la flèche vers le bas et sélectionnez Convertir en filtre avancé.
  3. Collez le texte suivant dans le champ. Remplacez PROJECT_ID par l'ID de votre projet et VM_NAME par 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 Envoyer le filtre.

Accéder aux journaux relatifs au trafic vers un préfixe spécifique

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. À droite du champ Filtrer par étiquette ou texte recherché, cliquez sur la flèche vers le bas et sélectionnez Convertir en filtre avancé.
  3. Collez le texte suivant dans le champ. Remplacez PROJECT_ID par l'ID de votre projet et SUBNETWORK_NAME par votre sous-réseau.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        ip_in_net(jsonPayload.connection.dest_ip, SUBNETWORK_NAME)
        
  4. Cliquez sur Envoyer le filtre.

Accéder aux journaux pour des ports et protocoles spécifiques

Pour un port seul, procédez comme suit :

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. À droite du champ Filtrer par étiquette ou texte recherché, cliquez sur la flèche vers le bas et sélectionnez Convertir en filtre avancé.
  3. Collez le texte suivant dans le champ. Remplacez PROJECT_ID par l'ID de votre projet, PORT par le port et PROTOCOL par le protocole.
        resource.type="gce_subnetwork"
        logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Fvpc_flows"
        jsonPayload.connection.src_port=PORT
        jsonPayload.connection.protocol=PROTOCOL
        
  4. Cliquez sur Envoyer le filtre.

Pour plusieurs ports, procédez comme suit :

  1. Accédez à la page "Journaux" dans Google Cloud Console.
    "Accéder à la page Journaux"
  2. À droite du champ Filtrer par étiquette ou texte recherché, cliquez sur la flèche vers le bas et sélectionnez Convertir en filtre avancé.
  3. Collez le texte suivant dans le champ. Remplacez PROJECT_ID par l'ID de votre projet, PORT1 et PORT2 par les ports, et PROTOCOL par le protocole.
        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. Cliquez sur Envoyer le filtre.

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

Vous pouvez exporter les journaux de flux depuis Logging vers la destination de votre choix, comme décrit dans la documentation de Logging. Pour obtenir des exemples de filtres, consultez la section précédente.

Dépannage

vpc_flows n'apparaît pas dans Logging sous la ressource gce_subnetwork.

  • Les flux VPC ne sont disponibles que pour un réseau VPC. Si vous disposez d'un ancien réseau, aucun journal ne s'affichera.
  • Pour les réseaux VPC partagés, les journaux apparaissent uniquement 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 la latence DAR. Cette situation est plus susceptible de se produire pour les connexions à faible volume.
  • Aucune valeur de type DAR n'est disponible pour les flux UDP.
  • Certains paquets sont envoyés sans charge utile. Si les paquets avec uniquement des en-têtes ont été échantillonnés, la valeur de type octet sera égale à 0.

Certains flux sont manquants.

  • Les journaux sont disponibles uniquement pour les protocoles UDP et TCP. 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.

Prix

Pour Logging, BigQuery et Pub/Sub, la tarification standard s'applique. Les tarifs des journaux de flux VPC sont décrits dans les tarifs de Network Telemetry.

FAQ

  • Les journaux de flux VPC incluent-ils à la fois le trafic autorisé et le trafic refusé en fonction des règles de pare-feu ?

    • Les journaux de flux VPC couvrent le trafic du point de vue d'une VM. L'ensemble du trafic sortant d'une VM est journalisé, même s'il est bloqué par une règle de pare-feu de refus du trafic sortant. Le trafic entrant est journalisé s'il est autorisé par une règle de pare-feu d'autorisation du trafic entrant. Le trafic entrant bloqué par une règle de pare-feu de refus du trafic entrant n'est pas journalisé.
  • Les journaux de flux VPC fonctionnent-ils avec des instances de VM à plusieurs interfaces ?

  • Les journaux de flux VPC fonctionnent-ils avec les anciens réseaux ?

    • Non, les journaux de flux VPC ne sont pas disponibles sur les anciens réseaux.

Étape suivante