Utiliser la mise en miroir de paquets

beta

La mise en miroir de paquets met en miroir le trafic vers et depuis des instances de VM particulières. Le trafic collecté peut vous permettre de détecter les menaces de sécurité et de surveiller les performances des applications. Pour plus d'informations sur la mise en miroir de paquets, consultez sa présentation.

Les sections suivantes expliquent comment créer et gérer des règles de mise en miroir de paquets.

Avant de commencer

Avant de créer une règle de mise en miroir de paquets, vous devez disposer des autorisations appropriées. Vous devez également créer un équilibreur de charge interne, qui est la destination du collecteur, dans la même région que les instances à mettre en miroir.

Permissions

Pour la création et la gestion de règles de mise en miroir de paquets, Google Cloud fournit deux rôles liés à la mise en miroir de paquets :

  • compute.packetMirroringUser autorise les utilisateurs à créer, mettre à jour et supprimer des règles de mise en miroir de paquets. Pour utiliser la mise en miroir de paquets, les utilisateurs doivent disposer de ce rôle dans les projets dans lesquels ils créent des règles de mise en miroir de paquets.

  • compute.packetMirroringAdmin autorise les utilisateurs à mettre en miroir des ressources spécifiques. Même si les utilisateurs sont autorisés à créer une règle de mise en miroir de paquets, ils ont tout de même besoin d'une autorisation pour mettre en miroir les sources associées. Utilisez ce rôle dans les projets pour lesquels le propriétaire d'une règle ne dispose d'aucune autre autorisation, par exemple, dans les scénarios de VPC partagé.

Pour plus d'informations sur l'utilisation des rôles Cloud IAM, consultez la page Accorder, modifier et révoquer les accès à des ressources dans la documentation Cloud IAM.

Équilibreur de charge interne

Vous devez disposer d'un équilibreur de charge TCP/UDP interne configuré pour la mise en miroir de paquets et situé dans la même région que les instances mises en miroir. L'ensemble du trafic provenant de sources mises en miroir est envoyé aux instances du collecteur qui se trouvent derrière l'équilibreur de charge.

Pour configurer l'équilibreur de charge interne pour la mise en miroir de paquets, vous devez configurer la règle de transfert en tant que collecteur de mise en miroir de paquets. Le trafic non mis en miroir envoyé à l'équilibreur de charge est supprimé. Par ailleurs, si une règle de mise en miroir de paquets peut s'appliquer aux instances du collecteur, la mise en miroir de paquets les ignore et ne met pas en miroir leur trafic.

Pour plus d'informations sur la configuration des équilibreurs de charge internes, consultez la page Configurer les composants de l'équilibreur de charge.

Règles de pare-feu

Le trafic mis en miroir doit pouvoir passer des instances source aux instances de destination qui font partie de l'équilibreur de charge interne. Vous avez peut-être déjà défini des règles qui autorisent ce trafic.

  • Vérifiez que les instances mises en miroir disposent d'une règle de sortie qui leur permet d'envoyer le trafic vers la règle de transfert de l'équilibreur de charge interne.
  • Vérifiez que les instances du collecteur du groupe d'instances de l'équilibreur de charge disposent d'une règle d'entrée qui leur permet de recevoir le trafic des instances mises en miroir ou de leur plage d'adresses IP. Par exemple, vous pouvez spécifier une plage source 0.0.0.0/0 pour collecter l'ensemble du trafic entrant provenant d'instances mises en miroir. Pour empêcher le trafic Internet d'atteindre les instances du collecteur, attribuez-leur uniquement des adresses IP internes.

Si vous ne disposez pas déjà de règles autorisant ce trafic, consultez la page Utiliser des règles de pare-feu pour en créer.

Créer une règle de mise en miroir de paquets

Créez une règle de mise en miroir de paquets pour lancer la mise en miroir du trafic vers et depuis des instances données.

Console

  1. Accédez à la page "Mise en miroir de paquets" dans Google Cloud Console.
    Accéder à la page "Mise en miroir de paquets"
  2. Cliquez sur Créer.
  3. Saisissez les informations suivantes sur la règle, puis cliquez sur Continuer.

    1. Donnez un nom à cette règle.
    2. Sélectionnez la région qui inclut les sources mises en miroir et la destination du collecteur. Les règles de mise en miroir de paquets doivent se trouver dans la même région que la source et la destination.
    3. Saisissez une priorité pour la règle. Google Cloud s'appuie sur la valeur de priorité pour déterminer la règle à utiliser lorsque plusieurs règles peuvent s'appliquer.
    4. Sélectionnez Activé pour activer la règle lorsque vous la créez.
  4. Sélectionnez les réseaux VPC sur lesquels se trouvent la source mise en miroir et la destination du collecteur, puis cliquez sur Continuer.

    La source et la destination peuvent appartenir à des réseaux VPC différents ou au même réseau VPC. Si elles se trouvent sur le même réseau VPC, sélectionnez La source en miroir et la destination du collecteur se situent dans le même réseau VPC, puis sélectionnez le réseau. Si elles se trouvent sur des réseaux différents, sélectionnez La source en miroir et la destination du collecteur se situent dans des réseaux VPC appairés distincts, sélectionnez le réseau source mis en miroir, puis le réseau de destination du collecteur.

  5. Sélectionnez les sources mises en miroir, puis cliquez sur Continuer. Vous pouvez sélectionner une ou plusieurs sources. Google Cloud met en miroir toute instance correspondant à au moins une des sources sélectionnées.

    • Sous-réseaux : sélectionnez un ou plusieurs sous-réseaux. Google Cloud met en miroir les instances existantes et futures dans les sous-réseaux sélectionnés.
    • Tag réseau : spécifiez un ou plusieurs tags réseau. Google Cloud met en miroir les instances qui possèdent au moins un des tags spécifiés.
    • Nom de l'instance : sélectionnez les instances spécifiques à mettre en miroir.
  6. Sélectionnez un équilibreur de charge interne qui a été configuré pour la mise en miroir de paquets, puis cliquez sur Continuer. Google Cloud envoie le trafic mis en miroir aux instances qui se trouvent derrière l'équilibreur de charge interne.

  7. Si vous souhaitez limiter le trafic mis en miroir, sélectionnez Mettre en miroir le trafic filtré. Par défaut, Google Cloud met en miroir l'ensemble du trafic.

    Vous pouvez choisir de mettre en miroir le trafic en fonction des plages d'adresses IP, des protocoles ou des deux.

  8. Cliquez sur Envoyer pour créer la règle de mise en miroir de paquets.

gcloud

Créez une règle de mise en miroir de paquets et spécifiez une ou plusieurs sources à mettre en miroir. Google Cloud met en miroir toute instance correspondant à au moins une des sources indiquées.

    gcloud beta compute packet-mirrorings create policy-name \
      --region=region \
      --network=network-name \
      --collector-ilb=forwarding-rule-name \
      [--mirrored-subnets=subnet,[subnet,...]] \
      [--mirrored-tags=tag,[tag,...]] \
      [--mirrored-instances=instance,[instance,...]] \
      [--filter-cidr-ranges=address-range,[address-range,...]] \
      [--filter-protocols=protocol,[protocol,...]] \
      [--priority=priority-number]
    

Remplacez les espaces réservés par des valeurs valides :

  • policy-name est le nom de la règle de mise en miroir de paquets.
  • region est la région dans laquelle se trouvent les sources mises en miroir et la destination du collecteur.
  • network-name est le réseau sur lequel se trouvent les sources mises en miroir.
  • forwarding-rule-name est le nom d'une règle de transfert configurée en tant que collecteur de mise en miroir. Google Cloud envoie l'intégralité du trafic mis en miroir à l'équilibreur de charge interne associé.
  • subnet est le nom d'un sous-réseau à mettre en miroir. Google Cloud met en miroir les instances existantes et futures dans le sous-réseau.
  • tag est un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance est l'ID complet d'une instance à mettre en miroir.
  • address-range est une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol est un protocole d'adresse IP à mettre en miroir (TCP, UDP ou ICMP).
  • priority-number est un nombre compris entre 0 et 65535. Google Cloud s'appuie sur la valeur de priorité pour déterminer la règle à utiliser lorsque plusieurs règles peuvent s'appliquer.

Pour obtenir plus d'informations et la description de chaque option, consultez la documentation de référence du SDK.

API

Créez une règle de mise en miroir de paquets et spécifiez une ou plusieurs sources à mettre en miroir. Google Cloud met en miroir toute instance correspondant à au moins une des sources indiquées.

    POST https://compute.googleapis.com/compute/beta/projects/project-id/regions/region/packetMirrorings
    {
      "name": "policy-name",
      "network": {
        "url": "network-url"
      },
      "priority": priority,
      "mirroredResources": {
        "subnetworks": [
          {
            "url": "subnet-url"
          }
        ],
        "tags": [
          "tag"
        ],
        "instances": [
          {
            "url": "instance"
          }
        ]
      },
      "collectorIlb": {
        "url": "forwarding-rule-url"
      },
      "filter": {
        "IPProtocols": [
          "protocol"
        ],
        "cidrRanges": [
          "address-range"
        ]
      }
    }
    

Remplacez les espaces réservés par des valeurs valides :

  • project-id est l'ID du projet dans lequel la règle est créée.
  • policy-name est le nom de la règle de mise en miroir de paquets.
  • region est la région dans laquelle se trouvent les sources mises en miroir et la destination du collecteur.
  • network-url est l'URL du réseau sur lequel se trouvent les sources mises en miroir.
  • forwarding-rule-url est l'URL d'une règle de transfert configurée en tant que collecteur de mise en miroir. Google Cloud envoie l'intégralité du trafic mis en miroir à l'équilibreur de charge interne associé.
  • subnet-url est l'URL d'un sous-réseau à mettre en miroir. Google Cloud met en miroir les instances existantes et futures dans le sous-réseau.
  • tag est un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance est l'ID complet d'une instance à mettre en miroir.
  • address-range est une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol est un protocole d'adresse IP à mettre en miroir (TCP, UDP ou ICMP).
  • priority-number est un nombre compris entre 0 et 65535. Google Cloud s'appuie sur la valeur de priorité pour déterminer la règle à utiliser lorsque plusieurs règles peuvent s'appliquer.

Pour obtenir plus d'informations et la description de chaque champ, reportez-vous à la méthode packetmirrorings.insert.

Pour vérifier que votre règle de mise en miroir de paquets est en vigueur, consultez la page Surveiller la mise en miroir de paquets.

Modifier une règle de mise en miroir de paquets

Mettez à jour une règle existante pour modifier sa priorité, les sources mises en miroir ou la destination du collecteur.

Console

  1. Accédez à la page "Mise en miroir de paquets" dans Google Cloud Console.
    Accéder à la page "Mise en miroir de paquets"
  2. Dans la liste des règles de mise en miroir de paquets, cliquez sur celle que vous souhaitez modifier.
  3. Sur la page des détails de la règle, cliquez sur Modifier.
  4. Modifiez les champs que vous souhaitez mettre à jour. La console suit le même flux que lorsque vous créez une règle. Pour plus d'informations sur chaque champ, consultez la section Créer une règle de mise en miroir de paquets.

gcloud

Mettez à jour une règle de mise en miroir de paquets existante.

    gcloud beta compute packet-mirrorings update policy-name \
      --region=region \
      [--collector-ilb=forwarding-rule-name] \
      [--mirrored-subnets=subnet,[subnet,...]] \
      [--mirrored-tags=tag,[tag,...]] \
      [--mirrored-instances=instance,[instance,...]] \
      [--filter-cidr-ranges=address-range,[address-range,...]] \
      [--filter-protocols=protocol,[protocol,...]]
    

Remplacez les espaces réservés par des valeurs valides :

  • policy-name est le nom de la règle de mise en miroir de paquets à modifier.
  • region est la région dans laquelle se trouve la règle.
  • forwarding-rule-name est le nom d'une règle de transfert configurée en tant que collecteur. Google Cloud envoie l'intégralité du trafic mis en miroir à l'équilibreur de charge interne associé.
  • subnet est le nom d'un sous-réseau à mettre en miroir. Google Cloud met en miroir les instances existantes et futures dans le sous-réseau.
  • tag est un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance est l'ID complet d'une instance à mettre en miroir.
  • address-range est une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol est un protocole d'adresse IP à mettre en miroir (TCP, UDP ou ICMP).

Pour obtenir plus d'informations et la description de chaque option, consultez la documentation de référence du SDK.

API

Mettez à jour une règle de mise en miroir de paquets existante.

    PATCH https://compute.googleapis.com/compute/beta/projects/project-id/regions/region/packetMirrorings/policy-name
    {
      "priority": priority,
      "mirroredResources": {
        "subnetworks": [
          {
            "url": "subnet-url"
          }
        ],
        "tags": [
          "tag"
        ],
        "instances": [
          {
            "url": "instance"
          }
        ]
      },
      "collectorIlb": {
        "url": "forwarding-rule-url"
      },
      "filter": {
        "IPProtocols": [
          "protocol"
        ],
        "cidrRanges": [
          "address-range"
        ]
      }
    }
    

Remplacez les espaces réservés par des valeurs valides :

  • project-id est l'ID du projet dans lequel se trouve la règle.
  • policy-name est le nom de la règle de mise en miroir de paquets à modifier.
  • region est la région dans laquelle se trouve la règle.
  • forwarding-rule-url est l'URL d'une règle de transfert configurée en tant que collecteur de mise en miroir. Google Cloud envoie l'intégralité du trafic mis en miroir à l'équilibreur de charge interne associé.
  • subnet-url est l'URL d'un sous-réseau à mettre en miroir. Google Cloud met en miroir les instances existantes et futures dans le sous-réseau.
  • tag est un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance est l'ID complet d'une instance à mettre en miroir.
  • address-range est une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol est un protocole d'adresse IP à mettre en miroir (TCP, UDP ou ICMP).
  • priority-number est un nombre compris entre 0 et 65535. Google Cloud s'appuie sur la valeur de priorité pour déterminer la règle à utiliser lorsque plusieurs règles peuvent s'appliquer.

Pour obtenir plus d'informations et la description de chaque champ, reportez-vous à la méthode packetmirrorings.patch.

Répertorier les règles de mise en miroir de paquets

Répertoriez les règles de mise en miroir de paquets pour afficher les règles existantes.

Console

  1. Accédez à la page "Mise en miroir de paquets" dans Google Cloud Console.
    Accéder à la page "Mise en miroir de paquets"

    Cloud Console répertorie toutes les règles de votre projet.

gcloud

Répertoriez les règles de mise en miroir de paquets existantes dans votre projet ou pour une région spécifique.

    gcloud beta compute packet-mirrorings list \
      [--filter="region:(region...)"]
    

Remplacez region par le nom de la région contenant les règles à répertorier.

Pour obtenir plus d'informations et la description de chaque option, consultez la documentation de référence du SDK.

API

Répertoriez les règles de mise en miroir de paquets existantes dans votre projet.

    GET https://compute.googleapis.com/compute/beta/projects/project-id/aggregated/packetMirrorings
    

Répertoriez les règles de mise en miroir de paquets existantes pour une région spécifique

    GET https://compute.googleapis.com/compute/beta/projects/project-id/regions/region/packetMirrorings
    

Remplacez les espaces réservés par des valeurs valides :

  • project-id est l'ID du projet qui contient les règles à répertorier.
  • region est la région qui contient les règles à répertorier.

Pour obtenir plus d'informations et la description de chaque champ, reportez-vous à la méthode packetmirrorings.aggregatedList ou packetmirrorings.list.

Afficher la description d'une règle de mise en miroir de paquets

Affichez les détails d'une règle de mise en miroir de paquets existante pour consulter, par exemple, sa priorité ou ses filtres.

Console

  1. Accédez à la page "Mise en miroir de paquets" dans Google Cloud Console.
    Accéder à la page "Mise en miroir de paquets"
  2. Dans la liste des règles de mise en miroir de paquets, sélectionnez celle que vous souhaitez afficher.

    Cloud Console affiche les détails de la règle sélectionnée.

gcloud

Affichez la description d'une règle de mise en miroir de paquets existante pour en consulter les détails.

    gcloud beta compute packet-mirrorings describe policy-name \
      --region=region \
    

Remplacez les espaces réservés par des valeurs valides :

  • policy-name est le nom de la règle de mise en miroir de paquets à détailler.
  • region est la région dans laquelle se trouve la règle.

Pour obtenir plus d'informations et la description de chaque option, consultez la documentation de référence du SDK.

API

Affichez la description d'une règle de mise en miroir de paquets existante pour en consulter les détails.

    GET https://compute.googleapis.com/compute/beta/projects/project-id/regions/region/packetMirrorings/policy-name
    

Remplacez les espaces réservés par des valeurs valides :

  • project-id est l'ID du projet dans lequel se trouve la règle.
  • policy-name est le nom de la règle de mise en miroir de paquets à détailler.
  • region est la région dans laquelle se trouve la règle.

Pour obtenir plus d'informations et la description de chaque champ, reportez-vous à la méthode packetmirrorings.get.

Désactiver ou activer une règle de mise en miroir de paquets

Désactivez ou activez une règle de mise en miroir de paquets pour arrêter ou démarrer à collecter du trafic mis en miroir.

Console

  1. Accédez à la page "Mise en miroir de paquets" dans Google Cloud Console.
    Accéder à la page "Mise en miroir de paquets"
  2. Dans la liste des règles de mise en miroir de paquets, sélectionnez celle à désactiver ou activer.
  3. Cliquez sur Désactiver ou Activer.
  4. Confirmez l'opération en cliquant sur Désactiver ou Activer.

gcloud

Désactivez une règle de mise en miroir de paquets existante.

    gcloud beta compute packet-mirrorings update policy-name \
      --region=region \
      --no-enable
    

Activez une règle de mise en miroir de paquets existante.

    gcloud beta compute packet-mirrorings update policy-name \
      --region=region \
      --enable
    

Remplacez les espaces réservés par des valeurs valides :

  • policy-name est le nom de la règle de mise en miroir de paquets à désactiver ou activer.
  • region est la région dans laquelle se trouve la règle.

Pour obtenir plus d'informations et la description de chaque option, consultez la documentation de référence du SDK.

API

Désactivez ou activez une règle de mise en miroir de paquets existante.

    PATCH https://compute.googleapis.com/compute/beta/projects/project-id/regions/region/packetMirrorings/policy-name
    {
      "enable": "FALSE|TRUE"
    }
    

Remplacez les espaces réservés par des valeurs valides :

  • project-id est l'ID du projet dans lequel se trouve la règle.
  • policy-name est le nom de la règle de mise en miroir de paquets à désactiver.
  • region est la région dans laquelle se trouve la règle.

Pour obtenir plus d'informations et la description de chaque champ, reportez-vous à la méthode packetmirrorings.patch.

Supprimer une règle de mise en miroir de paquets

Supprimez une règle de mise en miroir de paquets pour la retirer de votre projet. Lorsque vous supprimez une règle, Google Cloud arrête la mise en miroir de l'ensemble du trafic associé à la règle.

Console

  1. Accédez à la page "Mise en miroir de paquets" dans Google Cloud Console.
    Accéder à la page "Mise en miroir de paquets"
  2. Dans la liste des règles de mise en miroir de paquets, sélectionnez celle que vous souhaitez désactiver.
  3. Cliquez sur Supprimer.
  4. Confirmez l'opération en cliquant sur Supprimer.

gcloud

Supprimez une règle de mise en miroir de paquets existante.

    gcloud beta compute packet-mirrorings delete policy-name \
      --region=region \
    

Remplacez les espaces réservés par des valeurs valides :

  • policy-name est le nom de la règle de mise en miroir de paquets à supprimer.
  • region est la région dans laquelle se trouve la règle.

Pour obtenir plus d'informations et la description de chaque option, consultez la documentation de référence du SDK.

API

Supprimez une règle de mise en miroir de paquets existante.

    DELETE https://compute.googleapis.com/compute/beta/projects/project-id/regions/region/packetMirrorings/policy-name
    

Remplacez les espaces réservés par des valeurs valides :

  • project-id est l'ID du projet dans lequel se trouve la règle.
  • policy-name est le nom de la règle de mise en miroir de paquets à supprimer.
  • region est la région dans laquelle se trouve la règle.

Pour obtenir plus d'informations et la description de chaque champ, reportez-vous à la méthode packetmirrorings.delete.

Dépannage

Si vos règles de mise en miroir de paquets ne collectent pas le trafic mis en miroir attendu, vérifiez les configurations suivantes :

  • Vérifiez que vous disposez de règles de pare-feu qui autorisent le trafic provenant des instances mises en miroir vers les instances du collecteur.

  • Vérifiez que vos sources mises en miroir incluent ou excluent les instances à mettre en miroir. Par exemple, si vous spécifiez un sous-réseau en tant que source mise en miroir, toutes les instances existantes et futures du sous-réseau sont mises en miroir. Si vous spécifiez des tags, seules les instances comportant des tags correspondants sont mises en miroir.

  • Vérifiez que les filtres de mise en miroir de paquets ne sont ni trop vastes, ni trop restreints. Vous avez peut-être configuré des filtres involontairement pour inclure ou exclure un certain trafic.