Utiliser la mise en miroir de paquets

La mise en miroir de paquets met en miroir le trafic vers et depuis des instances de machine virtuelle (VM) spécifiques. 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 la page Mise en miroir de paquets.

Le trafic en miroir est envoyé aux VM sur lesquelles vous avez installé un logiciel approprié. Pour obtenir la liste des fournisseurs qui fournissent des logiciels, consultez la page Fournisseurs de mise en miroir de paquets.

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

Limites

  • La mise en miroir de paquets ne peut pas mettre en miroir les paquets pour le trafic des services publiés par Private Service Connect.

  • Pour des raisons de sécurité, la mise en miroir de paquets ne met pas en miroir les paquets envoyés à la plage d'adresses IP de liaison locale 169.254.0.0/16. Cette plage inclut les requêtes de métadonnées des VM vers leur serveur de métadonnées.

  • L'utilisation d'un service LoadBalancer de Google Kubernetes Engine (GKE) en tant que collecteur de mise en miroir de paquets n'est pas disponible.

  • 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.

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 réseau interne à stratégie directe qui servira de destination de collecteur. Cet équilibreur de charge réseau interne à stratégie directe nécessite un groupe d'instances afin que son service de backend puisse utiliser les VM comme destinations de collecteur.

Autorisations

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 de rôles IAM, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations dans la documentation IAM.

Créer des instances de collecteur

La mise en miroir de paquets nécessite un groupe d'instances de collecteur. Pour en savoir plus sur les groupes d'instances, consultez la documentation suivante : Créer un modèle d'instance et Créer un MIG dans une seule zone.

Créer un équilibreur de charge interne pour la mise en miroir de paquets

Pour activer la mise en miroir de paquets, vous devez disposer d'un équilibreur de charge réseau interne à stratégie directe qui peut servir de collecteur de mise en miroir de paquets. L'équilibreur de charge réseau interne doit répondre aux exigences suivantes :

  • La mise en miroir de paquets doit être activée à la création de la règle de transfert de l'équilibreur de charge réseau interne à stratégie directe. Cet état ne peut pas être modifié après la création de la règle. Vous pouvez utiliser cette règle de transfert pour collecter le trafic IPv4 et IPv6.
  • L'équilibreur de charge réseau interne à stratégie directe se trouve dans la même région que les instances que vous mettez en miroir.
  • Le service de backend de l'équilibreur de charge réseau interne à stratégie directe doit utiliser une affinité de session de NONE (hachage à cinq tuples).
  • Le sous-paramètre de backend doit être désactivé pour le service de backend de l'équilibreur de charge réseau interne à stratégie directe.

Si vos instances de collecteur ne sont pas configurées pour répondre à la vérification d'état que vous avez configurée avec votre service de backend, celle-ci peut échouer. Dans ce cas, les paquets peuvent toujours être mis en miroir.

Pour plus d'informations sur la création d'un équilibreur de charge réseau interne à stratégie directe pour la mise en miroir de paquets, consultez la page Créer un équilibreur de charge pour la mise en miroir de paquets.

Configurer des règles de pare-feu

Pour préparer votre réseau VPC au trafic de mise en miroir de paquets, procédez comme suit :

  • Assurez-vous que les instances de collecteur du groupe d'instances de l'équilibreur de charge peuvent recevoir le trafic provenant des instances mises en miroir ou de leurs plages d'adresses IPv4 et IPv6. Par exemple, pour permettre aux instances de collecteur de recevoir le trafic IPv4 de n'importe quelle VM, créez une règle de pare-feu avec 0.0.0.0/0 comme plage d'adresses IPv4 source. Pour permettre aux instances de collecteur de recevoir le trafic IPv6 de n'importe quelle VM, créez une règle de pare-feu avec ::/0 comme plage d'adresses IPv6 source. Pour empêcher le trafic Internet d'atteindre les instances du collecteur, attribuez-leur uniquement des adresses IPv4 et IPv6 internes.

  • Assurez-vous qu'aucune autre règle de pare-feu ne remplace la règle implicite de sortie afin que le trafic mis en miroir puisse circuler des instances sources vers les instances de destination qui font partie de l'équilibreur de charge réseau interne à stratégie directe.

  • Assurez-vous que les instances de collecteur peuvent recevoir le trafic des systèmes de vérification d'état Google Cloud. Par exemple, pour le trafic IPv4, créez une règle de pare-feu qui autorise le trafic vers les instances de collecteur à partir des plages d'adresses IPv4 130.211.0.0/22 et 35.191.0.0/16. Pour le trafic IPv6, créez une règle de pare-feu qui autorise le trafic vers les instances de collecteur à partir de la plage d'adresses IPv6 2600:2d00:1:b029::/64.

  • Si vous souhaitez tester la mise en miroir de paquets en envoyant manuellement le trafic sortant d'une ou de plusieurs instances mises en miroir, créez une règle de pare-feu autorisant le trafic SSH vers ces instances. Par exemple, pour autoriser les connexions SSH à vos instances mises en miroir à partir de toutes les adresses IPv4 et IPv6, autorisez le trafic entrant TCP vers le port 22 à partir de n'importe quelle adresse IPv4 et IPv6 source. Si vous souhaitez n'autoriser que les connexions SSH provenant d'une certaine plage d'adresses IPv4 ou IPv6, spécifiez cette plage d'adresses IPv4 ou IPv6 en tant que plage source pour la règle de pare-feu. Pour en savoir plus sur les tests de l'équilibreur de charge réseau interne passthrough, consultez la page Tester l'équilibrage de charge.

Si vous ne disposez pas déjà de règles autorisant ce trafic, consultez la page Utiliser des règles de pare-feu VPC pour en créer. Pour en savoir plus sur la création de règles de pare-feu pour un équilibreur de charge réseau interne à stratégie directe, consultez la section Configurer les règles de pare-feu dans la documentation Cloud Load Balancing.

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

Pour commencer la mise en miroir du trafic vers et depuis des instances spécifiques, créez une règle de mise en miroir de paquets. Google Cloud met en miroir toute instance correspondant à au moins une des sources indiquées.

Console

  1. Dans la console Google Cloud, accédez à la page Mise en miroir de paquets.

    Accéder à la mise en miroir de paquets

  2. Cliquez sur Create policy (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, puis sélectionnez le réseau de la 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 réseau interne à stratégie directe 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 réseau interne à stratégie directe.

    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. Pour sélectionner le trafic à mettre en miroir, procédez comme suit :

    • Pour mettre en miroir l'ensemble du trafic IPv4, sélectionnez Mettre en miroir l'ensemble du trafic IPv4 (par défaut).
    • Pour mettre en miroir l'ensemble du trafic IPv4 et IPv6, sélectionnez Mettre en miroir le trafic filtré, puis procédez comme suit :
      • Sélectionnez Autoriser tous les protocoles.
      • Sélectionnez Autoriser toutes les plages d'adresses IPv4 (0.0.0.0/0).
      • Sélectionnez Autoriser toutes les plages d'adresses IPv6 (::/0).
      • Sélectionnez Autoriser le trafic entrant et sortant.
    • Pour limiter le trafic mis en miroir, sélectionnez Mettre en miroir le trafic filtré, puis procédez comme suit :

      • Pour limiter le trafic mis en miroir par protocole, sélectionnez Autoriser des protocoles spécifiques, puis sélectionnez les protocoles de votre choix. Si vous ne voyez pas un protocole dont vous souhaitez mettre en miroir le trafic, sélectionnez Autres protocoles, puis saisissez le protocole dans le champ Autres protocoles. Les valeurs valides sont tcp, udp, esp, ah, ipip, sctp, ou un Numéro de protocole IANA. Pour spécifier ICMP pour IPv6, saisissez 58.

      • Pour les filtres de plage d'adresses IPv4, procédez comme suit :

        • Pour mettre en miroir l'ensemble du trafic IPv4, sélectionnez Autoriser toutes les plages d'adresses IPv4 (0.0.0.0/0).
        • Pour mettre en miroir le trafic pour des plages d'adresses IPv4 spécifiques, sélectionnez Autoriser des plages IPv4 spécifiques. Dans le champ Plages IPv4, saisissez une seule plage d'adresses IPv4, puis appuyez sur Entrée. Vous pouvez ajouter plusieurs plages IPv4 en appuyant sur la touche Entrée après chaque plage saisie.
      • Pour les filtres de plage d'adresses IPv6, procédez comme suit :

        • Pour filtrer tout le trafic IPv6, sélectionnez Aucun.
        • Pour mettre en miroir l'ensemble du trafic IPv6, sélectionnez Autoriser toutes les plages d'adresses IPv6 (::/0).
        • Pour mettre en miroir le trafic pour des plages d'adresses IPv6 spécifiques, sélectionnez Autoriser des plages IPv6 spécifiques. Dans le champ Plages IPv6, saisissez une seule plage d'adresses IPv6, puis appuyez sur Entrée. Vous pouvez ajouter plusieurs plages IPv6 en appuyant sur la touche Entrée après chaque plage saisie.
  8. Sélectionnez le sens du trafic que vous souhaitez mettre en miroir.

  9. Pour créer la règle de mise en miroir de paquets, cliquez sur Envoyer.

gcloud

Pour créer une règle de mise en miroir de paquets, utilisez la commande packet-mirrorings create.

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=CIDR_RANGE,[CIDR_RANGE,...]] \
    [--filter-protocols=PROTOCOL,[PROTOCOL,...]] \
    [--filter-direction=DIRECTION]

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la règle de mise en miroir de paquets.
  • REGION : région dans laquelle se trouvent les sources mises en miroir et la destination du collecteur.
  • NETWORK_NAME : réseau sur lequel se trouvent les sources mises en miroir.
  • FORWARDING_RULE_NAME : nom de la 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 réseau interne à stratégie directe associé.
  • SUBNET : nom d'un ou de plusieurs sous-réseaux à mettre en miroir. Vous pouvez fournir plusieurs sous-réseaux dans une liste d'éléments séparés par une virgule. Google Cloud met en miroir aussi bien les instances existantes dans le sous-réseau que celles qui sont définies ultérieurement.
  • TAG : un ou plusieurs tags réseau. Google Cloud met en miroir les instances qui comportent le tag réseau. Vous pouvez fournir plusieurs tags dans une liste d'éléments séparés par une virgule.
  • INSTANCE : ID complet d'une ou de plusieurs instances à mettre en miroir. Vous pouvez fournir plusieurs instances dans une liste d'éléments séparés par une virgule.
  • CIDR_RANGE : une ou plusieurs plages CIDR IPv4 ou IPv6 à mettre en miroir. Si aucune plage CIDR n'est spécifiée, tout le trafic IPv4 correspondant aux protocoles spécifiés est mis en miroir. Si aucune plage CIDR ni aucun protocole n'est spécifié, tout le trafic IPv4 est mis en miroir. Pour mettre en miroir l'ensemble du trafic IPv4 et IPv6, utilisez 0.0.0.0/0,::/0. Vous pouvez inclure des plages CIDR IPv4 et IPv6. Vous pouvez fournir plusieurs plages à l'aide d'une liste d'éléments séparés par une virgule.
  • PROTOCOL : un ou plusieurs protocoles à mettre en miroir. Les valeurs valides sont tcp, udp, icmp, esp, ah, ipip, sctp, ou un Numéro de protocole IANA. Si aucun protocole n'est spécifié, tout le trafic correspondant aux plages CIDR spécifiées est mis en miroir. Si aucun protocole ni aucune plage CIDR ne sont spécifiés, tout le trafic IPv4 est mis en miroir. Pour spécifier ICMP pour IPv6, utilisez 58. Vous pouvez fournir plusieurs protocoles dans une liste d'éléments séparés par une virgule.
  • DIRECTION : direction du trafic à mettre en miroir par rapport à la VM. La valeur par défaut est both, ce qui signifie que le trafic entrant et le trafic sortant sont mis en miroir. Vous pouvez limiter les paquets capturés en spécifiant ingress pour ne capturer que les paquets d'entrée, ou egress pour ne capturer que les paquets de sortie.

Terraform

Vous pouvez utiliser une ressource Terraform pour créer une règle de mise en miroir de paquets.

resource "google_compute_packet_mirroring" "default" {
  region      = "europe-west1"
  name        = "my-mirroring"
  description = "My packet mirror"
  network {
    url = google_compute_network.ilb_network.id
  }
  collector_ilb {
    url = google_compute_forwarding_rule.default.id
  }
  mirrored_resources {
    tags = ["foo"]
    instances {
      url = google_compute_instance.vm_test.id
    }
  }
  filter {
    ip_protocols = ["tcp"]
    cidr_ranges  = ["0.0.0.0/0"]
    direction    = "BOTH"
  }
}

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

API

Pour créer une règle de mise en miroir de paquets, envoyez une requête POST à la méthode packetMirrorings.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings
{
  "name": "POLICY_NAME",
  "enable": "ENABLED",
  "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": [
      "CIDR_RANGE"
    ],
    "direction": "DIRECTION"
  }
}

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet dans lequel créer la règle.
  • REGION : région dans laquelle se trouvent les sources mises en miroir et la destination du collecteur.
  • POLICY_NAME : nom de la règle de mise en miroir de paquets.
  • ENABLED : indique si cette règle prend effet. Les options sont TRUE et FALSE. TRUE est la valeur par défaut.
  • NETWORK_URL : URL du réseau sur lequel se trouvent les sources mises en miroir.
  • PRIORITY : priorité de la règle de transfert, utilisée pour départager les égalités lorsqu'il existe plusieurs règles correspondantes. La plage valide est comprise entre 0 et 65 535 et la valeur par défaut est de 1000.
  • SUBNET_URL : 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. Vous pouvez fournir plusieurs sous-réseaux dans une liste d'éléments séparés par une virgule.
  • TAG : tag réseau. Google Cloud met en miroir les instances qui comportent le tag réseau. Vous pouvez fournir plusieurs tags dans une liste d'éléments séparés par une virgule.
  • INSTANCE : ID complet d'une instance à mettre en miroir. Vous pouvez fournir plusieurs instances dans une liste d'éléments séparés par une virgule.
  • FORWARDING_RULE_URL : 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 réseau interne à stratégie directe associé.
  • PROTOCOL : un ou plusieurs protocoles. Les options sont tcp, udp, icmp, esp, ah, ipip, sctp ou un numéro de protocole IANA. Si aucun protocole n'est spécifié, tout le trafic correspondant aux plages CIDR spécifiées est mis en miroir. Si aucune plage CIDR ni aucun protocole n'est spécifié, tout le trafic IPv4 est mis en miroir. Pour spécifier ICMP pour IPv6, saisissez 58. Vous pouvez fournir plusieurs protocoles au format suivant : "icmp", "udp".
  • CIDR_RANGE : une ou plusieurs plages CIDR IPv4 ou IPv6 à mettre en miroir. Si aucune plage CIDR n'est spécifiée, tout le trafic IPv4 correspondant aux protocoles spécifiés est mis en miroir. Si aucune plage CIDR ni aucun protocole n'est spécifié, tout le trafic IPv4 est mis en miroir. Pour mettre en miroir l'ensemble du trafic IPv4 et IPv6, utilisez "0.0.0.0/0", "::/0". Vous pouvez inclure des plages CIDR IPv4 et IPv6. Vous pouvez fournir plusieurs plages CIDR au format suivant : "192.0.2.0/24", "2001:0DB8::/32".
  • PROTOCOL : un ou plusieurs protocoles à mettre en miroir.
  • DIRECTION : direction du trafic à mettre en miroir. Les options sont INGRESS, EGRESS ou BOTH. La valeur par défaut est BOTH.

Vérifier la mise en miroir de paquets

Pour vérifier que vos instances de collecteur reçoivent correctement le trafic mis en miroir, vous pouvez utiliser tcpdump.

  1. Connectez-vous à une instance de collecteur.

  2. Si la commande tcpdump n'est pas disponible, installez-la.

  3. Identifiez l'interface réseau :

    ip address
    

    Dans la liste des interfaces réseau, recherchez le nom associé à l'adresse IPv4 interne principale de votre instance de collecteur, par exemple ens4.

  4. Commencez à analyser les paquets :

    sudo tcpdump -i INTERFACE_NAME -f "host IP_ADDRESS"
    

    Remplacez les éléments suivants :

    • INTERFACE_NAME : nom d'interface que vous avez identifié à l'étape 3.
    • IP_ADDRESS : adresse IPv4 d'une VM source mise en miroir.
  5. Pour exécuter le test, envoyez le trafic à partir de la VM source mise en miroir, par exemple en envoyant un ping ICMP. Dans le résultat de tcpdump, vérifiez que vous pouvez voir le trafic attendu.

Modifier une règle de mise en miroir de paquets

Vous pouvez mettre à jour une règle existante pour modifier des détails tels que des sources mises en miroir ou des destinations de collecteur.

Console

  1. Dans la console Google Cloud, accédez à la page Mise en miroir de paquets.

    Accéder à la 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 les étapes de création d'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

Pour mettre à jour une règle de mise en miroir de paquets existante, exécutez la commande packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME [--async] \
  [--collector-ilb=FORWARDING_RULE_NAME] [--description=DESCRIPTION] [--enable] \
  [--filter-direction=DIRECTION] [--region=REGION] \
  [--add-filter-cidr-ranges=[CIDR_RANGE,...] | --clear-filter-cidr-ranges \
    | --remove-filter-cidr-ranges=[CIDR_RANGE,...] \
    | --set-filter-cidr-ranges=[CIDR_RANGE,...]] \
  [--add-filter-protocols=[PROTOCOL,...] | --clear-filter-protocols \
    | --remove-filter-protocols=[PROTOCOL,...] \
    | --set-filter-protocols=[PROTOCOL,...]] \
  [--add-mirrored-instances=[INSTANCE,...] | --clear-mirrored-instances \
    | --remove-mirrored-instances=[INSTANCE,...] \
    | --set-mirrored-instances=[INSTANCE,...]] \
  [--add-mirrored-subnets=[SUBNET,...] | --clear-mirrored-subnets \
    | --remove-mirrored-subnets=[SUBNET,...] \
    | --set-mirrored-subnets=[SUBNET,...]] \
  [--add-mirrored-tags=[TAG,...] | --clear-mirrored-tags \
    | --remove-mirrored-tags=[TAG,...] | --set-mirrored-tags=[TAG,...]]

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la règle de mise en miroir de paquets à modifier.
  • FORWARDING_RULE_NAME : nom de la 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 réseau interne à stratégie directe associé.
  • DESCRIPTION : description de la règle de mise en miroir de paquets.
  • DIRECTION : direction du trafic auquel appliquer la règle de mise en miroir de paquets. Les options sont egress, ingress ou both.
  • REGION : région où se trouve la règle.
  • CIDR_RANGE : une ou plusieurs plages CIDR IPv4 ou IPv6 à mettre en miroir. Si aucune plage CIDR n'est spécifiée, tout le trafic IPv4 correspondant aux protocoles spécifiés est mis en miroir. Si aucune plage CIDR ni aucun protocole n'est spécifié, tout le trafic IPv4 est mis en miroir. Pour mettre en miroir l'ensemble du trafic IPv4 et IPv6, utilisez 0.0.0.0/0,::/0. Vous pouvez inclure des plages CIDR IPv4 et IPv6. Vous pouvez fournir plusieurs plages à l'aide d'une liste d'éléments séparés par une virgule.
  • PROTOCOL : un ou plusieurs protocoles à mettre en miroir. Les valeurs valides sont tcp, udp, icmp, esp, ah, ipip, sctp, ou un Numéro de protocole IANA. Si aucun protocole n'est spécifié, le trafic correspondant aux plages CIDR spécifiées est mis en miroir. Si aucun protocole ni aucune plage CIDR ne sont spécifiés, tout le trafic IPv4 est mis en miroir. Pour spécifier ICMP pour IPv6, utilisez 58. Vous pouvez fournir plusieurs protocoles dans une liste d'éléments séparés par une virgule.
  • INSTANCE : ID complet d'une ou de plusieurs instances de VM à mettre en miroir. Vous pouvez fournir plusieurs instances dans une liste d'éléments séparés par une virgule.
  • SUBNET : un ou plusieurs sous-réseaux. Vous pouvez fournir plusieurs sous-réseaux dans une liste d'éléments séparés par une virgule. Google Cloud met en miroir aussi bien les instances existantes dans le sous-réseau que celles qui sont définies ultérieurement.
  • TAG : un ou plusieurs tags réseau. Vous pouvez fournir plusieurs tags dans une liste d'éléments séparés par une virgule.

API

Pour mettre à jour une règle de mise en miroir de paquets, envoyez une requête POST à la méthode packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "name": "POLICY_NAME",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "collectorIlb": {
    "url": "FORWARDING_RULE_URL"
  },
  "mirroredResources": {
    "subnetworks": [
      {
        "url": "SUBNET_URL"
      }
    ],
    "instances": [
      {
        "url": "INSTANCE_URL"
      }
    ],
    "tags": [
      "NETWORK_TAGS"
    ]
  },
  "filter": {
    "cidrRanges": [
      "CIDR_RANGE"
    ],
    "IPProtocols": [
      "PROTOCOL"
    ],
    "direction": "DIRECTION"
  },
  "enable": "ENABLED"
}

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID du projet dans lequel la règle est située.
  • REGION : région de la règle de mise en miroir de paquets.
  • POLICY_NAME : nom de la règle de mise en miroir de paquets à modifier.
  • DESCRIPTION : description facultative de la règle.
  • PRIORITY : priorité de la règle, qui permet de dissocier les conditions lorsqu'il existe plusieurs règles de correspondance. La valeur par défaut est 1 000. La plage valide est comprise entre 0 et 65 535.
  • FORWARDING_RULE_URL : URL d'une règle de transfert avec la mise en miroir de paquets activée. Google Cloud envoie l'intégralité du trafic mis en miroir à l'équilibreur de charge réseau interne à stratégie directe associé.
  • SUBNET_URL : URL d'un sous-réseau. Google Cloud met en miroir aussi bien les instances existantes dans le sous-réseau que celles qui sont définies ultérieurement. Vous pouvez fournir plusieurs sous-réseaux dans une liste d'éléments séparés par une virgule.
  • INSTANCE_URL : URL d'une instance de VM à mettre en miroir. Vous pouvez fournir plusieurs instances dans une liste d'éléments séparés par une virgule.
  • NETWORK_TAGS : tag réseau. Google Cloud met en miroir les instances associées à un ou plusieurs tags réseau. Vous pouvez fournir plusieurs tags dans une liste d'éléments séparés par une virgule.
  • CIDR_RANGE : une ou plusieurs plages CIDR IPv4 ou IPv6 à mettre en miroir. Si aucune plage CIDR n'est spécifiée, tout le trafic IPv4 correspondant aux protocoles spécifiés est mis en miroir. Si aucune plage CIDR ni aucun protocole n'est spécifié, tout le trafic IPv4 est mis en miroir. Pour mettre en miroir l'ensemble du trafic IPv4 et IPv6, utilisez "0.0.0.0/0", "::/0". Vous pouvez inclure des plages CIDR IPv4 et IPv6. Vous pouvez fournir plusieurs plages CIDR au format suivant : "192.0.2.0/24", "2001:DB8::/32".
  • IP_PROTOCOL : un ou plusieurs protocoles. Les options sont tcp, udp, icmp, esp, ah, ipip, sctp ou un numéro de protocole IANA. Si aucun protocole n'est spécifié, tout le trafic correspondant aux plages CIDR spécifiées est mis en miroir. Si aucune plage CIDR ni aucun protocole ne sont spécifiés, tout le trafic IPv4 est mis en miroir. Pour spécifier ICMP pour IPv6, utilisez 58. Vous pouvez fournir plusieurs protocoles au format suivant : "icmp", "udp".
  • DIRECTION : direction du trafic à mettre en miroir. Les options sont INGRESS, EGRESS ou BOTH. La valeur par défaut est BOTH.
  • ENABLED : indique si la règle est activée ou non. Les options sont TRUE ou FALSE.

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

Vous pouvez répertorier les règles de mise en miroir de paquets pour afficher les règles existantes.

Console

gcloud

Pour répertorier les règles de mise en miroir de paquets qui se trouvent dans votre projet ou pour une région spécifique, utilisez la commande packet-mirrorings list.

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

Remplacez REGION par le nom de la région qui contient les règles à répertorier.

API

Pour répertorier les règles de mise en miroir de paquets existantes dans votre projet, envoyez une requête GET à la méthode packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/packetMirrorings

Remplacez PROJECT_ID par l'ID de votre projet.

Pour répertorier les règles de mise en miroir de paquets existantes pour une région spécifique, envoyez une requête GET à la méthode packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant les règles à répertorier.
  • REGION : région qui contient les règles à répertorier.

Décrire une règle de mise en miroir de paquets

Vous pouvez décrire une règle de mise en miroir de paquets pour afficher des détails tels que les filtres de la règle.

Console

  1. Dans la console Google Cloud, accédez à la page Mise en miroir de paquets.

    Accéder à la mise en miroir de paquets

  2. Dans la liste des règles de mise en miroir de paquets, sélectionnez la règle vous souhaitez afficher. La console Google Cloude affiche les détails de la règle sélectionnée.

gcloud

Pour décrire une règle de mise en miroir de paquets, utilisez la commande packet-mirrorings describe.

gcloud compute packet-mirrorings describe POLICY_NAME \
  --region=REGION \

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la règle de mise en miroir de paquets à décrire.
  • REGION : région où se trouve la règle.

API

Pour décrire une règle de mise en miroir de paquets, envoyez une requête GET à la méthode packetMirrorings.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID du projet dans lequel la règle est stockée.
  • REGION : région où se trouve la règle.
  • POLICY_NAME : nom de la règle de mise en miroir de paquets à décrire.

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

Vous pouvez désactiver ou activer une règle de mise en miroir de paquets pour arrêter ou démarrer la collecte du trafic mis en miroir.

Console

  1. Dans la console Google Cloud, accédez à la page Mise en miroir de paquets.

    Accéder à la 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

Pour désactiver une règle de mise en miroir de paquets, utilisez la commande packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --no-enable

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la règle de mise en miroir de paquets à désactiver ou à activer.
  • REGION : région où se trouve la règle.

Pour activer une règle de mise en miroir de paquets, utilisez la commande packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --enable

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la règle de mise en miroir de paquets à désactiver ou à activer.
  • REGION : région où se trouve la règle.

API

Pour désactiver ou activer une règle de mise en miroir de paquets existante, envoyez une requête PATCH à la méthode packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "enable": "FALSE|TRUE"
}

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID du projet dans lequel la règle est stockée.
  • REGION : région où se trouve la règle.
  • POLICY_NAME : nom de la règle de mise en miroir de paquets à désactiver.

Supprimer une règle de mise en miroir de paquets

Vous pouvez supprimer 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. Dans la console Google Cloud, accédez à la page Mise en miroir de paquets.

    Accéder à la mise en miroir de paquets

  2. Dans la liste des règles de mise en miroir de paquets, sélectionnez celle que vous souhaitez supprimer.

  3. Cliquez sur Supprimer.

  4. Confirmez l'opération en cliquant sur Supprimer.

gcloud

Pour supprimer une règle de mise en miroir de paquets, utilisez la commande packet-mirrorings delete.

gcloud compute packet-mirrorings delete POLICY_NAME \
  --region=REGION \

Remplacez les éléments suivants :

  • POLICY_NAME : nom de la règle de mise en miroir de paquets à supprimer.
  • REGION : région où se trouve la règle.

API

Pour supprimer une règle de mise en miroir de paquets, envoyez une requête DELETE à la méthode packetMirrorings.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : l'ID du projet dans lequel la règle est stockée.
  • POLICY_NAME : nom de la règle de mise en miroir de paquets à supprimer.
  • REGION : région où se trouve la règle.

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.

  • Si vous avez configuré une règle de mise en miroir de paquets pour collecter le trafic IPv6, assurez-vous que les sources du trafic mis en miroir sont des VM double pile connectées à des sous-réseaux double pile.