Régler la configuration NAT

Une fois la configuration de votre passerelle Cloud NAT définie (Public NAT ou Private NAT), vous pouvez la modifier en fonction de vos besoins. Cette page répertorie les tâches que vous pouvez effectuer pour ajuster votre configuration Cloud NAT.

La modification des configurations peut être de nature perturbatrice et peut entraîner la perte des connexions NAT (Network Address Translation) existantes. Pour en savoir plus sur l'impact du réglage des configurations Cloud NAT, consultez la page Impact du réglage des configurations NAT sur les connexions NAT existantes.

Afficher l'utilisation des ports

Avant de modifier l'utilisation minimale des ports par VM, vérifiez votre utilisation des ports par VM. Vous pouvez obtenir ces informations à l'aide de la métrique compute.googleapis.com/nat/port_usage.

  1. Dans la console Google Cloud, accédez à la page Monitoring.

    Accéder à Monitoring

    1. Dans le volet de navigation, sélectionnez Explorateur de métriques .

    2. Développez le menu Sélectionner une métrique et utilisez les sous-menus pour choisir la métrique compute.googleapis.com/nat/port_usage :

      • Dans le champ Ressource, sélectionnez Instance de VM.
      • Pour Catégorie de métriques, sélectionnez Nat.
      • Dans Métrique, sélectionnez Utilisation des ports.
    3. Cliquez sur Appliquer.

    4. Pour sélectionner votre passerelle Cloud NAT, utilisez le champ Filtres.

    5. Dans la section Group by (Grouper par), sous labels, sélectionnez instance_id.

    6. Dans la liste Fonction de regroupement, sélectionnez Max.

    7. Développez Autres options et définissez le champ Aligneur sur max.

    8. Pour afficher l'utilisation au cours des 30 derniers jours, spécifiez 30d.

    Pour en savoir plus sur l'utilisation de l'Explorateur de métriques, consultez la page Sélectionner des métriques lors de l'utilisation de l'Explorateur de métriques.

Choisir un nombre minimal de ports par VM

Le choix d'un nombre minimal de ports approprié est important pour vous aider à optimiser l'utilisation des adresses IP NAT.

Avant d'augmenter le nombre de ports par VM, envisagez d'autres stratégies pour réduire l'utilisation des ports.

Si vous devez augmenter le nombre de ports par VM, commencez par tenir compte de l'utilisation des ports par VM sur votre passerelle. Pour savoir comment trouver ces données, consultez la section Afficher l'utilisation des ports.

Vérifiez votre utilisation maximale des ports au cours des 30 derniers jours ou pour une autre période qui vous semble représentative de votre passerelle Cloud NAT.

Effectuez l'une des opérations suivantes :

  • Si vous utilisez l'allocation de ports statique, configurez le nombre de ports par VM de sorte que le nombre minimal soit égal à votre pic actuel d'utilisation des ports.

  • Si vous utilisez l'allocation dynamique de ports, configurez le nombre de ports par VM de sorte que la valeur minimale soit inférieure à l'utilisation maximale des ports, et que la valeur maximale soit supérieure à l'utilisation maximale des ports.

Modifier le nombre minimal de ports par défaut alloués par VM

Pour savoir comment configurer le nombre minimal de ports par VM, consultez la section Choisir un nombre minimal de ports par VM.

Pour en savoir plus sur les conséquences de la modification de l'allocation minimale de ports, consultez les sections suivantes :

Si l'allocation de ports dynamique est configurée sur votre passerelle Cloud NAT, consultez la section Modifier le nombre minimal ou maximal de ports lorsque l'allocation de ports dynamique est configurée.

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle Cloud NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Configurations avancées.

  5. Modifiez le champ Nombre minimal de ports par instance de VM.

  6. Cliquez sur Enregistrer.

gcloud

Cette commande ne modifie pas les autres champs de la configuration Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --min-ports-per-vm=128

Remplacez les éléments suivants :

  • NAT_CONFIG: nom de votre configuration Cloud NAT.
  • ROUTER_NAME : nom de votre routeur Cloud Router.
  • REGION: région du Cloud NAT à mettre à jour. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).

Modifier la méthode d'allocation de ports

L'allocation de ports statique et l'allocation de ports dynamique ont des exigences de configuration différentes.

Avant de mettre à jour le type d'allocation de ports sur une passerelle Cloud NAT existante, assurez-vous que la configuration de la passerelle Cloud NAT est compatible avec ce type d'allocation de ports. Si la configuration n'est pas compatible, la modification échoue.

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle Cloud NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Configurations avancées.

  5. Cochez ou décochez la case Activer l'allocation de ports dynamique.

  6. Si nécessaire, ajustez les valeurs correspondant au nombre minimal de ports par instance de VM et au nombre maximal de ports par instance de VM.

  7. Cliquez sur Enregistrer.

gcloud

Cette commande ne modifie pas les autres champs de la configuration Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-dynamic-port-allocation | --no-enable-dynamic-port-allocation \
    [ --min-ports-per-vm=MIN_PORTS ] \
    [ --max-ports-per-vm=MAX_PORTS ]

Remplacez les éléments suivants :

  • NAT_CONFIG: nom de votre configuration Cloud NAT.
  • ROUTER_NAME : nom de votre routeur Cloud Router.
  • REGION: région du Cloud NAT à mettre à jour. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
  • MIN_PORTS : nombre minimal de ports à allouer à chaque VM. Si l'allocation de ports dynamique est activée, MIN_PORTS doit être une puissance de 2, et peut être compris entre 32 et 32768.
  • MAX_PORTS : nombre maximal de ports à allouer à chaque VM. MAX_PORTS doit être une puissance de 2, et peut être compris entre 64 et 65536. La valeur MAX_PORTS doit être supérieure à la valeur MIN_PORTS. La valeur par défaut est 65536.

Modifier le nombre minimal ou maximal de ports lorsque l'allocation de ports dynamique est configurée

Une fois que vous avez configuré l'allocation de ports dynamique, vous pouvez modifier le nombre minimal ou maximal de ports attribués par VM.

Pour savoir comment configurer le nombre minimal de ports par VM, consultez la section Choisir un nombre minimal de ports par VM.

Pour en savoir plus sur les conséquences de la modification de l'allocation minimale de ports, consultez les sections suivantes :

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle Cloud NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Configurations avancées.

  5. Ajustez les champs Nombre minimal de ports par instance de VM et Nombre maximal de ports par instance de VM.

  6. Cliquez sur Enregistrer.

gcloud

Cette commande ne modifie pas les autres champs de la configuration Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --min-ports-per-vm=MIN_PORTS \
    --max-ports-per-vm=MAX_PORTS

Remplacez les éléments suivants :

  • NAT_CONFIG: nom de votre configuration Cloud NAT.
  • ROUTER_NAME : nom de votre routeur Cloud Router.
  • REGION: région du Cloud NAT à mettre à jour. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
  • MIN_PORTS : nombre minimal de ports à allouer à chaque VM. Si l'allocation de ports dynamique est activée, MIN_PORTS doit être une puissance de 2, et peut être compris entre 32 et 32768.
  • MAX_PORTS : nombre maximal de ports à allouer à chaque VM. MAX_PORTS doit être une puissance de 2, et peut être compris entre 64 et 65536. La valeur MAX_PORTS doit être supérieure à la valeur MIN_PORTS.

Modifier les délais avant expiration NAT

Les sections suivantes décrivent les délais avant expiration NAT et comment les modifier:

Expiration de la NAT

Cloud NAT utilise les délais avant expiration suivants pour les connexions de protocole. Sauf indication contraire, ces délais s'appliquent à la fois à la NAT publique et au NAT privé. Vous pouvez modifier les valeurs du délai avant expiration par défaut pour réduire ou augmenter la fréquence de réutilisation des ports. Chaque valeur de délai avant expiration correspond à un équilibre entre une utilisation efficace des ressources Cloud NAT et une perturbation possible des connexions, flux ou sessions actifs.

Délai avant expiration Description Valeur par défaut de Cloud NAT Configurable

Délai d'inactivité du mappage UDP

RFC 4787 REQ-5

Spécifie le délai, en secondes, au-delà duquel les flux UDP doivent cesser d'envoyer du trafic aux points de terminaison afin de supprimer les mappages Cloud NAT.

Le délai d'inactivité du mappage UDP affecte deux points de terminaison qui cessent d'envoyer du trafic l'un à l'autre. Il affecte également les points de terminaison dont la réponse prend plus de temps ou si la latence du réseau augmente.

Vous pouvez augmenter la valeur spécifiée pour le délai avant expiration afin de réduire la fréquence de réutilisation des ports. Une valeur plus élevée du délai d'expiration signifie que les ports sont conservés pour des connexions plus longues et protège ainsi contre les interruptions du trafic qui transite via un socket UDP spécifique.

30 secondes Oui

Délai d'inactivité de la connexion TCP établie

RFC 5382 REQ-5

Spécifie le délai d'inactivité d'une connexion, en secondes, avant la suppression des mappages Cloud NAT.

Le délai d'inactivité de la connexion TCP établie affecte les points de terminaison dont la réponse prend plus de temps ou si la latence du réseau augmente.

Vous pouvez augmenter la valeur de ce délai avant expiration lorsque vous souhaitez ouvrir des connexions TCP et les garder ouvertes longtemps sans mettre en place de mécanisme keepalive.

1 200 secondes (20 minutes) Oui

Délai d'inactivité de la connexion TCP transitoire

RFC 5382 REQ-5

Spécifie la durée, en secondes, pendant laquelle les connexions TCP peuvent rester à l'état semi-ouverte avant que les mappages Cloud NAT puissent être supprimés.

Le délai d'inactivité de la connexion TCP transitoire affecte un point de terminaison lorsqu'un point de terminaison externe prend plus de temps que le délai spécifié ou lorsque la latence du réseau augmente. Contrairement au délai d'inactivité de la connexion TCP établie, celui-ci n'affecte que les connexions à moitié ouvertes.

30 seconds

Remarque:Quelle que soit la valeur que vous définissez pour ce délai avant expiration, Cloud NAT peut nécessiter jusqu'à 30 secondes supplémentaires avant qu'un tuple d'adresse IP source et de port source Cloud NAT puisse être utilisé pour traiter une nouvelle connexion.

Oui

Délai d'inactivité de la connexion TCP TIME_WAIT

RFC 5382 REQ-5

Spécifie la durée, en secondes, pendant laquelle une connexion TCP entièrement fermée est conservée dans les mappages Cloud NAT après son expiration.

Le délai d'expiration TCP TIME_WAIT empêche vos points de terminaison internes de recevoir des paquets non valides appartenant à une connexion TCP fermée qui sont retransmis.

Vous pouvez réduire la valeur du délai avant expiration pour améliorer la réutilisation des ports Cloud NAT, au prix de la réception de paquets retransmis à partir d'une connexion précédemment fermée qui n'est pas liée.

120 secondes

Remarque:Quelle que soit la valeur que vous définissez pour ce délai avant expiration, Cloud NAT peut nécessiter jusqu'à 30 secondes supplémentaires avant qu'un tuple d'adresse IP source et de port source Cloud NAT puisse être utilisé pour traiter une nouvelle connexion. Si vous utilisez l'allocation de ports dynamique, définissez ce délai avant expiration sur 30 secondes ou plus pour éviter la perte de paquets.

Oui

Délai d'inactivité du mappage ICMP
(applicable uniquement à Public NAT)

RFC 5508 REQ-2

Spécifie l'heure, en secondes, après laquelle les mappages ICMP (Internet Control Message Protocol) Cloud NAT qui ne comportent aucun flux de trafic sont fermés.

Le délai d'inactivité du mappage ICMP affecte un point de terminaison lorsque le point de terminaison met plus de temps à répondre que le délai spécifié, ou lorsque la latence du réseau augmente.

30 seconds Oui

Modifier les délais avant expiration de la NAT

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle Cloud NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Configurations avancées.

  5. Modifiez les valeurs de délai d'expiration que vous souhaitez modifier.

  6. Cliquez sur Enregistrer.

gcloud

Exécutez la commande gcloud compute routers nats update avec les options suivantes pour modifier ces valeurs de délai avant expiration:

  • Délai d'inactivité du mappage UDP: --udp-idle-timeout
  • Délai d'inactivité de la connexion TCP établie: --tcp-established-idle-timeout
  • Délai d'inactivité de la connexion TCP transitoire: --tcp-transitory-idle-timeout
  • Délai d'expiration TCP TIME_WAIT: --tcp-time-wait-timeout
  • Délai d'inactivité du mappage ICMP: --icmp-idle-timeout

Cette commande ne modifie pas les autres champs dans la configuration NAT.

Par exemple, la commande suivante modifie la valeur du délai d'inactivité du mappage UDP.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --udp-idle-timeout=VALUE

Remplacez les éléments suivants :

  • NAT_CONFIG: nom de votre configuration Cloud NAT.
  • ROUTER_NAME : nom de votre routeur Cloud Router.
  • REGION: région du Cloud NAT à mettre à jour. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).
  • VALUE: valeur du délai avant expiration (en secondes)

Rétablir les valeurs par défaut des délais avant expiration NAT

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur votre passerelle Cloud NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Configurations avancées.

  5. Supprimez toutes les valeurs configurées par l'utilisateur que vous souhaitez réinitialiser.

  6. Cliquez sur Enregistrer.

Les valeurs supprimées sont réinitialisées sur les valeurs par défaut.

gcloud

Cette commande ne modifie pas les autres champs de la configuration Cloud NAT.

gcloud compute routers nats update NAT_CONFIG \
    --router=ROUTER_NAME \
    --region=REGION \
    --clear-udp-idle-timeout \
    --clear-icmp-idle-timeout \
    --clear-tcp-established-idle-timeout \
    --clear-tcp-time-wait-timeout \
    --clear-tcp-transitory-idle-timeout

Remplacez les éléments suivants :

  • NAT_CONFIG: nom de votre passerelle Cloud NAT.
  • ROUTER_NAME : nom de votre routeur Cloud Router.
  • REGION: région du Cloud NAT à mettre à jour. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).

Impact du réglage des configurations NAT sur les connexions NAT existantes

Le tableau suivant récapitule l'impact du réglage des configurations Cloud NAT sur les connexions existantes:

Action de réglage Perte de connexion
Désactiver le mappage indépendant du point de terminaison Non
Réduisez le nombre minimal de ports par VM tout en activant l'allocation de ports dynamique:
le nombre maximal de ports par VM >= le nombre maximal de ports par VM et
le nombre maximal de ports par VM >= 1024
Non
Augmenter le nombre minimal de ports par VM lorsque l'allocation de ports dynamique est déjà activée Non
Diminuer le nombre minimal de ports par VM lorsque l'allocation de ports dynamique est déjà activée Non
Augmenter le nombre minimal de ports par VM lorsque l'allocation de ports dynamique est déjà désactivée Non
Réduisez le nombre minimal de ports par VM lorsque l'allocation de ports dynamique est déjà désactivée Oui
Augmenter le nombre maximal de ports par VM Non
Réduisez le nombre maximal de ports par VM lorsque l'allocation de ports dynamique est déjà activée Oui
Modifier les délais avant expiration Cloud NAT lorsque l'allocation de ports dynamique est activée ou désactivée Non
Désactiver l'allocation de ports dynamique Oui

Étapes suivantes