Configurer le routage pour les interfaces Private Service Connect

Cette page explique comment configurer le routage pour les interfaces Private Service Connect virtuelles et dynamiques.

Acheminer le trafic via une interface Private Service Connect

Après avoir créé une interface Private Service Connect, vous devez acheminer le trafic via l'interface en configurant le système d'exploitation invité (OS invité) sur la VM de l'interface.

Autoriser la connectivité SSH

Assurez-vous que les règles de pare-feu sont configurées pour autoriser les connexions SSH d'entrée vers la VM de votre interface Private Service Connect.

Recherchez le nom Google Cloud de votre interface Private Service Connect.

Pour configurer le routage, vous devez connaître le nom Google Cloud de votre interface Private Service Connect.

Pour trouver le nom Google Cloud d'une interface Private Service Connect dynamique, utilisez Google Cloud CLI.

Console

  1. Dans la console Google Cloud , accédez à la page Instances de VM :

    Accéder à la page Instances de VM

  2. Cliquez sur le nom de la VM qui contient votre interface Private Service Connect.

  3. Dans la section Interfaces réseau, recherchez et notez le nom de votre interface Private Service Connect virtuelle, par exemple nic1.

gcloud

  1. Exécutez la commande gcloud compute instances describe.

    gcloud compute instances describe VM_NAME \
        --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de la VM sur laquelle se trouve votre interface Private Service Connect
    • ZONE : zone de la VM
  2. Dans le résultat de la commande, recherchez et notez le nom Google Cloud de votre interface Private Service Connect.

    • Pour les interfaces Private Service Connect virtuelles, le nom se présente sous la forme nic[interface_number] (par exemple, nic0 ou nic1).
    • Pour les interfaces Private Service Connect dynamiques, le nom se présente sous la forme nic[parent_interface_number.VLAN_ID] (par exemple, nic0.10 ou nic1.42).

Configurer la gestion automatique des interfaces Private Service Connect dynamiques

Si vous configurez le routage pour une interface Private Service Connect dynamique, activez la gestion automatique des interfaces réseau dynamiques. Vous ne devez effectuer cette opération qu'une seule fois par VM.

Rechercher le nom du système d'exploitation invité de votre interface Private Service Connect

Pour configurer le routage, vous devez connaître le nom du système d'exploitation invité de votre interface Private Service Connect, qui est différent du nom de l'interface dans Google Cloud.

Pour trouver le nom de l'interface sur une VM Debian, procédez comme suit. Pour les VM dotées d'autres systèmes d'exploitation, consultez la documentation publique du système d'exploitation.

  1. Connectez-vous à la VM de votre interface Private Service Connect.
  2. Exécutez la commande suivante :

    ip address
    

    Dans la liste des interfaces réseau, recherchez et notez le nom de l'interface associé à l'adresse IP de votre interface Private Service Connect. Par exemple, si l'agent invité Linux gère les interfaces réseau de votre VM, les noms se présentent comme suit :

    • Interfaces Private Service Connect virtuelles : ens[number], par exemple ens5.
    • Interfaces Private Service Connect dynamiques : gcp.ens[parent_interface_number].[VLAN_ID], par exemple gcp.ens5.10.

Rechercher l'adresse IP de la passerelle de votre interface Private Service Connect

Pour configurer le routage, vous devez connaître l'adresse IP de la passerelle par défaut de votre interface Private Service Connect.

  1. Connectez-vous à la VM de votre interface Private Service Connect.
  2. Envoyez une requête GET depuis la VM de votre interface vers le serveur de métadonnées associé.

    • Pour les interfaces Private Service Connect virtuelles, envoyez la requête suivante :

      curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google" && echo
      

      Remplacez INTERFACE_NUMBER par l'index de votre interface. Par exemple, si le nomGoogle Cloud de votre interface Private Service Connect est nic1, utilisez la valeur 1.

    • Pour les interfaces Private Service Connect dynamiques, envoyez la requête suivante :

      curl http://metadata.google.internal/computeMetadata/v1/instance/vlan-network-interfaces/PARENT_INTERFACE_NUMBER/VLAN_ID/gateway -H "Metadata-Flavor: Google" && echo
      

      Remplacez les éléments suivants :

      • PARENT_INTERFACE_NUMBER : index de la carte d'interface réseau virtuelle parente de l'interface Private Service Connect dynamique

        Par exemple, si le nomGoogle Cloud de votre interface Private Service Connect est nic1.5, utilisez la valeur 1.

      • VLAN_ID : ID de VLAN de votre interface Private Service Connect dynamique.

        Par exemple, si le nom Google Cloud de votre interface Private Service Connect est nic1.5, utilisez la valeur 5.

    Le résultat de la requête affiche l'adresse IP de la passerelle.

Ajouter des routes pour les sous-réseaux utilisateur

Vous devez ajouter une route à la passerelle par défaut de votre interface Private Service Connect pour chaque sous-réseau utilisateur qui se connecte à votre interface Private Service Connect. Cela permet au trafic destiné au réseau consommateur de transiter par l'interface Private Service Connect.

Les étapes suivantes décrivent comment mettre à jour temporairement la table de routage pour une VM qui utilise le système d'exploitation Debian. Pour mettre à jour la table de manière permanente ou pour mettre à jour la route sur un autre système d'exploitation, consultez la documentation publique du système d'exploitation.

  1. Connectez-vous à la VM de votre interface Private Service Connect.

  2. Exécutez la commande suivante pour chaque sous-réseau utilisateur qui se connecte à votre interface Private Service Connect:

    sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Remplacez les éléments suivants :

  3. Exécutez la commande suivante pour supprimer toutes les entrées de la table de routage du cache. Cette opération peut être nécessaire si vous utilisez une instance existante avec des tables de routage précédemment configurées.

    sudo ip route flush cache
    

Utiliser une interface Private Service Connect avec VPC Service Controls

Vous pouvez utiliser des interfaces Private Service Connect avec VPC Service Controls. Cela permet à un réseau VPC producteur d'accéder aux API et services Google via un réseau VPC consommateur, tandis que l'organisation consommateur peut bénéficier des avantages de sécurité de VPC Service Controls.

Vous pouvez implémenter cette configuration en utilisant l'une des approches suivantes, décrites dans les sections suivantes :

  • Configurer le routage de l'OS invité
  • Isolez l'interface Private Service Connect avec des espaces de noms réseau ou VRF, puis configurez le routage.

Configurer le routage de l'OS invité

Pour utiliser une interface Private Service Connect avec VPC Service Controls, configurez le routage dans l'OS invité de la VM de l'interface. Redirigez le trafic direct destiné aux API et services Google via votre interface Private Service Connect.

Les étapes suivantes décrivent comment mettre à jour temporairement la table de routage pour une VM qui utilise le système d'exploitation Debian. Pour mettre à jour la table de manière permanente ou pour mettre à jour la route sur un autre système d'exploitation, consultez la documentation publique du système d'exploitation.

Pour configurer le routage, procédez comme suit :

  1. Autorisez la connectivité SSH à la VM de votre interface Private Service Connect.
  2. Connectez-vous à la VM.
  3. Pour créer une table de routage personnalisée pour votre interface Private Service Connect, exécutez la commande suivante :

    echo "1 ROUTE_TABLE_NAME" | sudo tee -a /etc/iproute2/rt_tables
    

    Remplacez ROUTE_TABLE_NAME par le nom de la table de routage.

  4. Ajoutez une route à votre table de routage pour le trafic vers les API et services Google. Par exemple, pour ajouter un itinéraire pour le trafic vers l'adresse IP virtuelle (VIP) restricted.googleapis.com, utilisez la commande suivante, qui spécifie la plage d'adresses IPv4 pour restricted.googleapis.com :

    sudo ip route add 199.36.153.4/30 dev OS_INTERFACE_NAME table ROUTE_TABLE_NAME
    

    Remplacez OS_INTERFACE_NAME par le nom du système d'exploitation invité de votre interface Private Service Connect, par exemple ens5 ou gcp.ens5.10.

  5. Pour ajouter une règle de routage qui utilise la table de routage personnalisée pour les paquets provenant de votre interface Private Service Connect, utilisez la commande suivante :

    sudo ip rule add from INTERFACE_IP table ROUTE_TABLE_NAME
    

    Remplacez INTERFACE_IP par l'adresse IP de votre interface Private Service Connect. Vous pouvez trouver l'adresse IP de l'interface en décrivant la VM de l'interface.

  6. Exécutez la commande suivante pour supprimer toutes les entrées de la table de routage du cache. Cette opération peut être nécessaire si vous utilisez une instance existante avec des tables de routage précédemment configurées.

    sudo ip route flush cache
    

Isoler les interfaces Private Service Connect avec des espaces de noms ou VRF

Vous pouvez également configurer votre VM pour qu'elle utilise des espaces de noms réseau ou le routage et le transfert virtuels (VRF) afin d'isoler l'interface Private Service Connect. Cette approche est utile pour les charges de travail conteneurisées, telles que celles exécutées dans les pods Google Kubernetes Engine.

Configurez le routage en utilisant le même contexte que celui utilisé pour isoler l'interface, et assurez-vous que les charges de travail qui utilisent votre interface Private Service Connect existent dans ce même contexte.