Dépannage

Ce guide vous aide à résoudre les problèmes courants liés à Cloud NAT.

Problèmes courants

Les machines virtuelles peuvent accéder à Internet de façon inattendue, sans Cloud NAT.

Si vos instances de machine virtuelle (VM) ou vos instances de conteneur peuvent accéder à Internet sans Cloud NAT, mais que vous ne le souhaitez pas, vérifiez les points suivants :

  • Déterminez si l'interface réseau de la VM dispose d'une adresse IP externe. Si une adresse IP externe est attribuée à l'interface réseau, Google Cloud exécute automatiquement une NAT de type "un à un" pour les paquets dont les sources correspondent à l'adresse IP interne principale de l'interface. Pour en savoir plus, consultez la section Spécifications de Cloud NAT.

    Pour vérifier si une VM possède une adresse IP externe, consultez la section Modifier ou attribuer une adresse IP externe à une instance existante.

  • Assurez-vous que votre cluster Google Kubernetes Engine (GKE) est un cluster privé. Chaque VM de nœud d'un cluster non privé possède une adresse IP externe. Chaque nœud peut donc utiliser des routes de votre réseau VPC (cloud privé virtuel), dont le saut suivant est la passerelle Internet par défaut, sans avoir à faire appel à Cloud NAT. Pour en savoir plus, y compris sur la manière dont les clusters non privés interagissent avec les passerelles Cloud NAT, consultez la page Interaction avec GKE.

  • Répertoriez les routes de votre réseau VPC pour rechercher celles qui pourraient fournir une connectivité Internet via un saut suivant différent de la passerelle Internet par défaut. Par exemple :

    • Les routes statiques personnalisées dont les sauts suivants correspondent à des VM, des équilibreurs de charge TCP/UDP internes ou des tunnels Cloud VPN peuvent indirectement fournir une connectivité Internet. Par exemple, les VM de saut suivant ou VM de backend pour un équilibreur de charge TCP/UDP interne peuvent avoir des adresses IP externes, ou un tunnel Cloud VPN peut se connecter à un réseau qui offre un accès Internet.

    • Les routes dynamiques personnalisées apprises des réseaux sur site par les routeurs Cloud Router de votre réseau VPC peuvent se connecter à un réseau offrant un accès Internet.

  • Gardez à l'esprit que les autres routes personnalisées de votre réseau VPC peuvent avoir des priorités supérieures à celles des routes dont les sauts suivants correspondent à des passerelles Internet par défaut. Pour plus d'informations sur la manière dont Google Cloud évalue les routes, consultez la section Applicabilité et ordre de routage.

Aucun journal n'est généré

Certains journaux sont exclus

  • Vérifiez que la journalisation NAT est activée et que votre filtre de journal n'exclut pas les journaux que vous souhaitez conserver. Vous pouvez effacer un filtre de journaux pour éviter toute exclusion.

  • Cloud NAT ne journalise pas chaque événement. Pendant les périodes de trafic sortant important, la journalisation NAT est limitée de manière proportionnelle au type de machine de la VM. Les journaux de traduction ou d'erreur peuvent être omis et il est alors impossible de déterminer les éléments omis lors de la limitation.

Paquets supprimés avec le motif out of resources

Si vous constatez une perte de paquets à partir de VM qui utilisent Cloud NAT, cela peut être dû au fait que le nombre de tuples de port source et d'adresse IP source NAT disponibles n'est pas suffisant pour permettre à la VM de l'utiliser au moment de la perte de paquets. Vous ne pouvez pas réutiliser un 5-tuple (port source, adresse IP source NAT, port source et 3-tuple de destination) dans le délai de 120 secondes requis.

Si le nombre de tuples NAT disponibles n'est pas suffisant, le motif dropped_sent_packets_count est out of resources. Pour plus d'informations sur les métriques, consultez la page Utiliser des métriques d'instance de VM.

Pour augmenter le nombre de ports par VM, consultez la section Modifier le nombre minimal de ports par défaut alloués par VM associée à la NAT.

Vous devez allouer plus d'adresses IP

Si une instance ne peut pas accéder à Internet et si vous allouez manuellement des adresses IP, vous devrez peut-être ajouter d'autres adresses IP.

Dans Cloud Console, si le message Vous devez allouer au moins X autres adresses IP supplémentaires pour permettre à toutes les instances d'accéder à Internet s'affiche, vous devez allouer davantage d'adresses IP. Pour en savoir plus, consultez la section Adresses IP NAT.

Vous pouvez surveiller ce problème en définissant des règles d'alerte sur le message nat_allocation_failed.

Questions fréquentes

Restriction régionale pour Cloud NAT

Puis-je utiliser la même passerelle Cloud NAT dans plusieurs régions ?

Non. Les passerelles Cloud NAT sont des ressources régionales, associées à une seule région, un réseau VPC et un routeur Cloud Router.

Vous pouvez créer des passerelles Cloud NAT supplémentaires dans d'autres régions ou sur d'autres réseaux VPC. Pour déterminer si vous pouvez créer plusieurs passerelles dans une région et un réseau VPC donnés, consultez la section Applicabilité des plages d'adresses IP de sous-réseau.

Les adresses IP NAT externes sont-elles utilisées par les passerelles Cloud NAT à l'échelle mondiale ou régionale ?

Les passerelles Cloud NAT utilisent des adresses IP externes régionales comme adresses IP NAT. Même si elles sont régionales, elles peuvent être routées publiquement. Pour plus d'informations sur les différentes façons dont les adresses IP NAT peuvent être allouées ou attribuées, consultez la section Adresses IP NAT.

Cas dans lesquels Cloud NAT est utilisable et non utilisable

Cloud NAT s'applique-t-il aux instances, y compris aux VM de nœuds GKE, qui possèdent des adresses IP externes ?

Généralement, non. Si l'interface réseau d'une VM possède une adresse IP externe, Google Cloud effectue toujours une NAT de type "un à un" pour les paquets envoyés à partir de l'adresse IP interne principale de l'interface réseau, sans utiliser Cloud NAT. Toutefois, Cloud NAT peut toujours fournir des services NAT aux paquets envoyés à partir des plages d'adresses IP d'alias de la même interface réseau. Pour en savoir plus, consultez les sections Spécifications de Cloud NAT et Interaction GKE.

Puis-je utiliser Cloud NAT pour la communication entre les VM d'un réseau VPC ?

Non, Cloud NAT est conçu pour fournir une connectivité à Internet uniquement.

Puis-je utiliser Cloud NAT pour connecter un réseau VPC à un autre réseau afin de contourner les chevauchements d'adresses IP ?

Non, Cloud NAT ne peut pas s'appliquer à une route personnalisée dont le saut suivant ne correspond pas à la passerelle Internet par défaut. Par exemple, Cloud NAT ne peut pas s'appliquer au trafic envoyé à un tunnel Cloud VPN de saut suivant, même si la destination est une adresse IP pouvant être routée publiquement.

Cloud NAT permet-il à une VM source, dont l'interface réseau ne possède pas d'adresse IP externe, d'envoyer du trafic vers une VM de destination ou un équilibreur de charge disposant d'une adresse IP externe, même si la source et la destination se trouvent sur le même réseau VPC ?

Oui. Le chemin d'accès réseau implique d'envoyer le trafic hors du réseau VPC via une passerelle Internet par défaut, puis à le recevoir sur le même réseau.

Lorsque la VM source envoie un paquet à la destination, Cloud NAT effectue la traduction NAT source (SNAT) avant de distribuer le paquet à la deuxième instance. Cloud NAT effectue une traduction NAT de destination pour les réponses émises par la seconde instance à destination de la première. Pour obtenir un exemple détaillé, consultez la section Flux NAT.

Les connexions entrantes non sollicitées ne sont pas acceptées

Cloud NAT autorise-t-il les connexions entrantes (par exemple, SSH) vers des instances sans adresse IP externe ?

Non, Cloud NAT n'accepte pas les connexions entrantes non sollicitées. Pour en savoir plus, consultez la section Spécifications de Cloud NAT.

Si vous devez vous connecter à une VM dépourvue d'adresse IP externe, consultez la section Se connecter à des instances sans adresse IP externe. Par exemple, dans le cadre de l'exemple de configuration Compute Engine de Cloud NAT, vous vous connectez à une VM sans adresse IP externe à l'aide d'Identity-Aware Proxy.

Cloud NAT et ports

Pourquoi une VM possède-t-elle un nombre fixe de ports (64 par défaut) ?

Lorsqu'une passerelle Cloud NAT fournit une NAT à une VM, elle réserve les tuples d'adresse source et de port source conformément à la procédure de réservation de port.

Pour en savoir plus, consultez la section Exemples de réservations de port.

Puis-je modifier le nombre minimal de ports réservés pour une VM ?

Oui. Vous pouvez augmenter ou diminuer le nombre minimal de ports par VM lorsque vous créez une passerelle Cloud NAT ou en la modifiant ultérieurement. Chaque passerelle Cloud NAT réserve les tuples d'adresse source et de port source conformément à la procédure de réservation de port.

Pour en savoir plus sur la réduction du nombre minimal de ports, consultez la question suivante.

Puis-je diminuer le nombre minimal de ports par VM après la création de la passerelle Cloud NAT ?

Oui. Toutefois, si vous diminuez le nombre minimal de ports, la procédure de réservation de port peut conduire à une réduction du nombre de ports réservés par VM. Dans ce cas, les connexions TCP existantes peuvent être réinitialisées et doivent alors être rétablies.

Lorsque vous passez du mappage NAT des plages principale et secondaire à la plage principale uniquement, des ports supplémentaires alloués à chaque instance sont-ils immédiatement libérés ?

Non. Tous les ports supplémentaires utilisés par les plages secondaires sont conservés par les instances jusqu'à ce que le paramètre Nombre minimal de ports par VM soit réduit. Lorsque Cloud NAT est configuré pour mapper des plages secondaires (alias) pour les sous-réseaux, Cloud NAT attribue au minimum 1 024 ports par instance, en fonction de la procédure de réservation de port.

En basculant vers les plages principales uniquement, Cloud NAT conserve ces ports supplémentaires alloués pour les instances qui possèdent déjà ces ports. Une fois que vous avez modifié les plages pour lesquelles Cloud NAT est appliqué à la plage principale uniquement, le nombre réel de ports attribués à ces instances n'est modifié que lorsque le paramètre nombre minimal de ports par VM est également réduit.

Pour réduire le nombre de ports alloués à ces instances, après avoir basculé sur les plages principales, vous devez réduire le paramètre Nombre minimal de ports par VM. Une fois cette valeur réduite, Cloud NAT réduit automatiquement le nombre de ports alloués par instance, ce qui réduit la consommation de ports.

Cloud NAT et autres services Google

Cloud NAT permet-il d'accéder aux API et services Google ?

Lorsque vous activez Cloud NAT pour la plage d'adresses IP principale d'un sous-réseau, Google Cloud active automatiquement l'accès privé à Google. Pour plus d'informations, consultez la section Interaction avec l'accès privé à Google.

Étape suivante