Utiliser la mise en miroir de paquets

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 en savoir plus sur l'utilisation des rôles IAM, consultez la page Accorder, modifier et révoquer les accès à des ressources dans la documentation 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.

Nous vous recommandons d'utiliser un modèle d'instance et un groupe d'instances géré pour les instances de collecteur. Un groupe d'instances géré fournit des fonctionnalités d'autoscaling et d'autoréparation pour répondre à vos demandes de trafic et à vos exigences de disponibilité. Si vous utilisez un groupe d'instances géré, ne considérez pas vos disques de démarrage comme des données persistantes. Sauvegardez vos données dans un autre emplacement central pour les conserver.

Pour en savoir plus sur les groupes d'instances et les équilibreurs de charge internes, consultez les articles suivants : Créer des modèles d'instance, Créer des groupes d'instances gérés et 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 de 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 une règle.
  3. Saisissez les informations suivantes sur la règle, puis cliquez sur Continuer.

    1. Donnez un nom à la 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. Ignorez le champ Priorité. Il ne peut pas être ajusté pour le moment.
    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.

    Pour le VPC partagé, si la destination du collecteur et les sources mises en miroir se trouvent dans le même réseau VPC partagé, vous devez sélectionner le projet où se trouve la destination du collecteur, puis un équilibreur de charge.

  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 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,...]]

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

  • policy-name correspond au nom de la règle de mise en miroir de paquets.
  • region correspond à la région dans laquelle se trouvent les sources mises en miroir et la destination du collecteur.
  • network-name correspond au réseau sur lequel se trouvent les sources mises en miroir.
  • forwarding-rule-name correspond au 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 correspond au 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 correspond à un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance correspond à l'ID complet d'une instance à mettre en miroir.
  • address-range correspond à une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol correspond à 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

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/v1/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 correspond à l'ID du projet dans lequel vous créez la règle.
  • policy-name correspond au nom de la règle de mise en miroir de paquets.
  • region correspond à la région dans laquelle se trouvent les sources mises en miroir et la destination du collecteur.
  • network-url correspond à l'URL du réseau sur lequel se trouvent les sources mises en miroir.
  • forwarding-rule-url correspond à 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 correspond à l'URL d'un sous-réseau à mettre en miroir. Google Cloud met en miroir aussi bien les instances existantes dans le sous-réseau que celles qui sont définies ultérieurement.
  • tag correspond à un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance correspond à l'ID complet d'une instance à mettre en miroir.
  • address-range correspond à une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol correspond à un protocole d'adresse IP à mettre en miroir (TCP, UDP ou ICMP).

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 appliquée , 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 ses 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 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 correspond au nom de la règle de mise en miroir de paquets à modifier.
  • region correspond à la région dans laquelle se trouve la règle.
  • forwarding-rule-name correspond au 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 correspond au nom d'un sous-réseau à mettre en miroir. Google Cloud met en miroir aussi bien les instances existantes dans le sous-réseau que celles qui sont définies ultérieurement.
  • tag correspond à un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance correspond à l'ID complet d'une instance à mettre en miroir.
  • address-range correspond à une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol correspond à 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/v1/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 correspond à l'ID du projet dans lequel se trouve la règle.
  • policy-name correspond au nom de la règle de mise en miroir de paquets à modifier.
  • region correspond à la région dans laquelle se trouve la règle.
  • forwarding-rule-url correspond à 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 correspond à l'URL d'un sous-réseau à mettre en miroir. Google Cloud met en miroir aussi bien les instances existantes dans le sous-réseau que celles qui sont définies ultérieurement.
  • tag correspond à un tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau.
  • instance correspond à l'ID complet d'une instance à mettre en miroir.
  • address-range correspond à une plage d'adresses IP (plage CIDR) à mettre en miroir.
  • protocol correspond à un protocole d'adresse IP à mettre en miroir (TCP, UDP ou ICMP).

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 compute packet-mirrorings list \
  [--filter="region:(region...)"]

Remplacez region par le nom de la région qui contient 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/v1/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/v1/projects/project-id/regions/region/packetMirrorings

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

  • project-id correspond à l'ID du projet contenant les règles à répertorier.
  • region correspond à 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 ses filtres, par exemple.

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 compute packet-mirrorings describe policy-name \
  --region=region \

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

  • policy-name correspond au nom de la règle de mise en miroir de paquets à décrire.
  • region correspond à 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/v1/projects/project-id/regions/region/packetMirrorings/policy-name

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

  • project-id correspond à l'ID du projet dans lequel se trouve la règle.
  • policy-name correspond au nom de la règle de mise en miroir de paquets à décrire.
  • region correspond à 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 la collecte 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 compute packet-mirrorings update policy-name \
  --region=region \
  --no-enable

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

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

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

  • policy-name correspond au nom de la règle de mise en miroir de paquets à désactiver ou à activer.
  • region correspond à 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/v1/projects/project-id/regions/region/packetMirrorings/policy-name
{
  "enable": "FALSE|TRUE"
}

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

  • project-id correspond à l'ID du projet dans lequel se trouve la règle.
  • policy-name correspond au nom de la règle de mise en miroir de paquets à désactiver.
  • region correspond à 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 compute packet-mirrorings delete policy-name \
  --region=region \

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

  • policy-name correspond au nom de la règle de mise en miroir de paquets à supprimer.
  • region correspond à 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/v1/projects/project-id/regions/region/packetMirrorings/policy-name

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

  • project-id correspond à l'ID du projet dans lequel se trouve la règle.
  • policy-name correspond au nom de la règle de mise en miroir de paquets à supprimer.
  • region correspond à 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.