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
Dans la console Google Cloud , accédez à la page Instances de VM :
Cliquez sur le nom de la VM qui contient votre interface Private Service Connect.
Dans la section Interfaces réseau, recherchez et notez le nom de votre interface Private Service Connect virtuelle, par exemple
nic1
.
gcloud
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 ConnectZONE
: zone de la VM
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
ounic1
). - 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
ounic1.42
).
- Pour les interfaces Private Service Connect virtuelles, le nom se présente sous la forme
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.
- Connectez-vous à la VM de votre interface Private Service Connect.
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 exempleens5
. - Interfaces Private Service Connect dynamiques :
gcp.ens[parent_interface_number].[VLAN_ID]
, par exemplegcp.ens5.10
.
- Interfaces Private Service Connect virtuelles :
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.
- Connectez-vous à la VM de votre interface Private Service Connect.
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 estnic1
, utilisez la valeur1
.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 dynamiquePar exemple, si le nomGoogle Cloud de votre interface Private Service Connect est
nic1.5
, utilisez la valeur1
.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 valeur5
.
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.
Connectez-vous à la VM de votre interface Private Service Connect.
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 :
CONSUMER_SUBNET_RANGE
: plage d'adresses IP de votre sous-réseau utilisateurGATEWAY_IP
: adresse IP de la passerelle par défaut pour le sous-réseau de votre interfaceOS_INTERFACE_NAME
: nom du système d'exploitation invité de votre interface Private Service Connect (par exemple,ens5
ougcp.ens5.10
)
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 :
- Autorisez la connectivité SSH à la VM de votre interface Private Service Connect.
- Connectez-vous à la VM.
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.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 exempleens5
ougcp.ens5.10
.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.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.