Ajuster la configuration NAT

Après avoir configuré votre passerelle Cloud NAT (NAT public ou NAT privé), vous pouvez modifier la configuration en fonction de vos besoins. Cette page liste les tâches que vous pouvez effectuer pour ajuster la configuration de Cloud NAT.

La modification des configurations peut être de nature perturbatrice et peut entraîner l'abandon des connexions NAT (Network Address Translation) existantes. Pour en savoir plus sur l'impact de l'ajustement des configurations Cloud NAT, consultez la section Impact de l'ajustement 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 Google Cloud Console, 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 Grouper par, pour labels (Libellés), sélectionnez instance_id.

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

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

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

    Pour en savoir plus sur l'utilisation de l'explorateur de métriques, consultez la section 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 prendre en compte l'utilisation des ports par VM dans votre passerelle. Pour savoir comment trouver ces données, consultez la section Afficher l'utilisation des ports.

Examinez votre utilisation maximale des ports au cours des 30 derniers jours ou pour une autre période que vous considérez comme représentative de votre passerelle Cloud NAT.

Effectuez l'une des opérations suivantes :

  • Si vous utilisez l'allocation de ports statiques, configurez le nombre de ports par VM afin que le minimum soit égal à votre pic d'utilisation actuel.

  • 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 dans 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 port

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

Avant de modifier le type d'allocation de port sur une passerelle Cloud NAT existante, assurez-vous que la configuration de la passerelle Cloud NAT est compatible avec ce type d'allocation de port. 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 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 dans 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 dans 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 de la NAT

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

Expiration de la NAT

Cloud NAT utilise les délais d'expiration suivants pour les connexions de protocole. Sauf exception explicitement signalée, ces délais avant expiration s'appliquent à la fois au NAT public et au NAT privé. Vous pouvez modifier les valeurs par défaut des délais avant expiration pour diminuer ou augmenter la vitesse à laquelle les ports sont réutilisés. 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 le délai, en secondes, pendant lequel les connexions TCP peuvent rester à l'état semi-ouvert avant la suppression des mappages Cloud NAT.

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, le délai d'inactivité de la connexion TCP transitoire n'affecte que les connexions semi-ouvertes.

30 seconds

Remarque:Quelle que soit la valeur définie pour ce délai d'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 le délai, en secondes, pendant lequel une connexion TCP entièrement fermée est conservée dans les mappages Cloud NAT après expiration de la connexion.

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

Vous pouvez réduire la valeur de ce délai avant expiration pour améliorer la réutilisation des ports Cloud NAT au prix d'une réception possible de paquets retransmis depuis une connexion sans lien et précédemment fermée.

120 secondes

Remarque:Quelle que soit la valeur définie pour ce délai d'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 dynamique de ports, définissez ce délai avant expiration sur 30 secondes ou plus pour éviter les paquets perdus.

Oui

Délai d'inactivité du mappage ICMP
(applicable au NAT public uniquement)

RFC 5508 REQ-2

Spécifie le délai, en secondes, au-delà duquel les mappages Cloud NAT ICMP (Internet Control Message Protocol) sans flux de trafic sont fermés.

Le délai d'inactivité du mappage ICMP affecte un point de terminaison lorsque celui-ci prend plus de temps 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

Utilisez 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 transitoire TCP: --tcp-transitory-idle-timeout
  • Délai d'inactivité de la connexion 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éinitialiser les délais avant expiration de la NAT aux valeurs par défaut

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 dans 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 de l'ajustement des configurations NAT sur les connexions NAT existantes

Le tableau suivant récapitule l'impact de l'ajustement 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
Diminuez le nombre minimal de ports par VM tout en activant l'allocation de ports dynamique:
le nombre maximal de ports par VM doit être ≥ au ancien nombre minimal de ports par VM, et
le nombre maximal de ports par VM doit être ≥ à 1024
Non
Augmenter le nombre minimal de ports par VM lorsque l'allocation de ports dynamique est déjà activée Non
Réduire 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éduire 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
Diminuer 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 de Cloud NAT lorsque l'allocation de ports dynamique est activée ou désactivée Non
Désactiver l'allocation de ports dynamique Oui

Étape suivante