Utiliser Cloud NAT

Présentation

Cette page vous explique comment configurer Cloud NAT. Avant de configurer Cloud NAT, consultez la page Présentation de Cloud NAT.

Prérequis

Autorisations IAM

  • Le rôle roles/compute.networkAdmin peut créer une passerelle NAT sur Cloud Router, réserver/attribuer des adresses IP NAT et spécifier les sous-réseaux dont le trafic doit utiliser la traduction NAT par la passerelle NAT.

Configurer Google Cloud

Avant de commencer, configurez les éléments suivants dans Google Cloud.

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Cloud.

    Accéder à la page de sélection du projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Installez et initialisez le SDK Cloud.
      gcloud config set project PROJECT_ID
    

Vous avez également la possibilité d'afficher un ID de projet déjà défini :

      gcloud config list --format='text(core.project)'
    

Exemples de configurations

Ces exemples vous montrent comment tester Cloud NAT avec Google Cloud.

Exemple de configuration Compute Engine

Consultez la page Exemple de configuration de Compute Engine.

Exemple de configuration GKE

Consultez la page Exemple de configuration GKE.

Scénarios d'utilisation et exemples de commandes

Créer une NAT

Configuration simple

Cette configuration alloue automatiquement les adresses IP externes nécessaires pour fournir des services NAT à une région. Les instances de VM sans adresse IP externe dans un sous-réseau de la région disposent d'un accès Internet via la NAT. La journalisation est également activée pour tous les types de journaux.

Lorsque vous utilisez l'allocation automatique, Google Cloud réserve automatiquement les adresses IP dans votre projet. Ces adresses sont prises en compte dans les quotas d'adresses IP statiques du projet.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur Commencer ou Créer une passerelle NAT.
  3. Saisissez un nom de passerelle.
  4. Sélectionnez un réseau VPC.
  5. Définissez la région pour la passerelle NAT.
  6. Sélectionnez ou créez un routeur cloud dans la région.
  7. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration pour ouvrir cette section.
  8. Sous Stackdriver Logging, sélectionnez l'option suivante :
    • Logging for translation info and errors : envoie tous les journaux à la suite d'opérations Google Cloud.
  9. Cliquez sur Créer.

gcloud

    gcloud compute routers nats create nat-config \
        --router=nat-router \
        --auto-allocate-nat-external-ips \
        --nat-all-subnet-ip-ranges \
        --enable-logging
    

Spécifier les adresses IP pour la NAT

Chaque adresse IP est le nom d'une ressource d'adresse IP statique réservée.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur Commencer ou Créer une passerelle NAT.
  3. Saisissez un nom de passerelle.
  4. Sélectionnez un réseau VPC.
  5. Définissez la région pour la passerelle NAT.
  6. Sélectionnez ou créez un routeur cloud dans la région.
  7. Définissez les adresses IP NAT sur Manual.
  8. Sélectionnez ou créez une adresse IP externe réservée statique à utiliser pour la NAT.
  9. Si vous souhaitez spécifier des adresses IP supplémentaires, cliquez sur Ajouter une adresse IP, puis sélectionnez ou créez une adresse IP externe réservée statique supplémentaire.
  10. Cliquez sur Créer.

gcloud

    gcloud compute routers nats create nat-config \
        --router=nat-router \
        --nat-external-ip-pool=ip-address1,ip-address2
    

Spécifier des plages de sous-réseaux pour la NAT

Par défaut, la NAT fonctionne pour toutes les plages d'adresses IP principales et secondaires pour tous les sous-réseaux de la région pour le réseau VPC donné. Vous pouvez restreindre les plages principales et secondaires du sous-réseau qui peuvent utiliser la NAT.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur Commencer ou Créer une passerelle NAT.
  3. Saisissez un nom de passerelle.
  4. Sélectionnez un réseau VPC.
  5. Définissez la région pour la passerelle NAT.
  6. Sélectionnez ou créez un routeur cloud dans la région.
  7. Sous Mppage NAT, définissez la source sur Custom.
  8. Sélectionnez un sous-réseau.
  9. Dans la liste déroulante Plages d'adresses IP, sélectionnez les plages d'adresses IP du sous-réseau à inclure.
  10. Cliquez sur OK.
  11. Si vous souhaitez spécifier des plages supplémentaires, cliquez sur Ajouter un sous-réseau et une plage d'adresses IP.
  12. Cliquez sur Créer.

gcloud

    gcloud compute routers nats create nat-config \
        --router=nat-router \
        --auto-allocate-nat-external-ips \
        --nat-custom-subnet-ip-ranges=SUBNET_1,SUBNET_3
    

Spécifier un nombre minimal différent de ports par défaut pour chaque VM pour la NAT

Pour plus d'informations, reportez-vous au nombre de ports et de connexions NAT.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur Commencer ou Créer une passerelle NAT.
  3. Saisissez un nom de passerelle.
  4. Sélectionnez un réseau VPC.
  5. Définissez la région pour la passerelle NAT.
  6. Sélectionnez ou créez un routeur cloud dans la région.
  7. Cliquez sur Journalisation, ports nombre minimal de ports, délai avant expiration.
  8. Définissez le nombre minimal de ports par instance de VM sur une valeur différente.
  9. Cliquez sur Créer.

gcloud

    gcloud compute routers nats create nat-config \
        --router=nat-router \
        --auto-allocate-nat-external-ips \
        --min-ports-per-vm=128
    

Spécifier différents délais avant expiration pour la NAT

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur Commencer ou Créer une passerelle NAT.
  3. Saisissez un nom de passerelle.
  4. Sélectionnez un réseau VPC.
  5. Définissez la région pour la passerelle NAT.
  6. Sélectionnez ou créez un routeur cloud dans la région.
  7. Cliquez sur Journalisation, ports nombre minimal de ports, délai avant expiration.
  8. Modifiez les délais avant expiration à votre guise.
  9. Cliquez sur Créer.

gcloud

    gcloud compute routers nats create nat-config \
        --router=nat-router \
        --auto-allocate-nat-external-ips \
        --nat-custom-subnet-ip-ranges=SUBNET_1,SUBNET_3 \
        --udp-mapping-idle-timeout=60s \
        --icmp-mapping-idle-timeout=60s \
        --tcp-established-connection-idle-timeout=60s \
        --tcp-transitory-connection-idle-timeout=60s
    

Mettre à jour la NAT

Modifier les sous-réseaux et les ressources d'adresses IP associées à la NAT

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Sous Mppage NAT, définissez la source sur Custom.
  5. Sélectionnez un sous-réseau.
  6. Dans la liste déroulante Plages d'adresses IP, sélectionnez les plages d'adresses IP du sous-réseau à inclure.
  7. Si vous souhaitez spécifier des plages supplémentaires, cliquez sur Ajouter un sous-réseau et une plage d'adresses IP.
  8. Cliquez sur la liste déroulante Adresses IP NAT, puis sélectionnez Automatic ou Manual.
  9. Si vous avez sélectionné Manual, spécifiez une adresse IP externe.
  10. Pour bénéficier d'une haute disponibilité avec des adresses IP manuelles, cliquez sur Ajouter une adresse IP et ajoutez une deuxième adresse.
  11. Cliquez sur Save.

gcloud

    gcloud compute routers nats update nat-config \
        --router=nat-router \
        --nat-external-ip-pool=ip-address2,ip-address3 \
        --nat-custom-subnet-ip-ranges=SUBNET_3,SUBNET_3,SUBNET_3:range1
    

Modifier les adresses IP externes associées à la NAT

Vous pouvez modifier la liste d'adresses IP externes pour une passerelle donnée. Dans ce cas, GCP supprime les anciennes adresses et ajoute les nouvelles adresses. Toutes les connexions existantes sur les anciennes adresses IP sont immédiatement arrêtées. Pour autoriser les connexions existantes à continuer, tout en empêchant les nouvelles connexions sur ces adresses IP, consultez la section Drainer les adresses IP externes associées à la NAT.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Cliquez sur la liste déroulante Adresses IP NAT, puis sélectionnez Automatic ou Manual.
  5. Si vous avez sélectionné Manual, spécifiez une adresse IP externe.
  6. Pour bénéficier d'une haute disponibilité, cliquez sur Ajouter une adresse IP et ajoutez une deuxième adresse.
  7. Cliquez sur Save.

gcloud

    gcloud compute routers nats update nat-config \
        --router=nat-router \
        --nat-external-ip-pool=ip-address2,ip-address3
    

Drainer les adresses IP externes associées à la NAT

Avant de supprimer une adresse IP configurée manuellement, vous pouvez la drainer afin de ne pas perturber les connexions existantes. Lorsqu'une adresse IP est drainée, toutes les connexions existantes sont autorisées jusqu'à leur expiration naturelle. Vous pouvez afficher les journaux pour vérifier l'état des connexions existantes.

Aucune nouvelle connexion n'est acceptée sur les adresses IP drainées. Cependant, l'adresse IP reste associée à la configuration NAT.

Vous devez disposer d'au moins une adresse active dans une configuration NAT, ce qui signifie que vous ne pouvez pas drainer toutes les adresses IP dans une configuration.

Vous pouvez afficher l'état de la NAT pour connaître l'état de vos adresses IP NAT.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Sous Adresses IP NAT, définissez la valeur Drainage d'adresse IP à côté de l'adresse IP sur On.
  5. Cliquez sur Save.

gcloud

Pour drainer une adresse, vous devez la déplacer du pool actif vers le pool de drainage dans la même commande. Si vous la supprimez du pool actif sans l'ajouter au pool drainé dans une seule commande, l'adresse IP est supprimée du service et les connexions existantes sont immédiatement interrompues.

Si vous déplacez une adresse IP du pool de drainage vers le pool actif, vous annulez le drainage de l'adresse IP. Si vous supprimez une adresse IP NAT des deux pools, vous la déconnectez de la configuration NAT.

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

    gcloud compute routers nats update nat-config \
        --router=nat-router \
        --nat-external-ip-pool=ip-address3 \
        --nat-external-drain-ip-pool=ip-address2
    

Où :

  • --nat-external-ip-pool=ip-address3 met à jour le pool actif pour omettre ip-address2.
  • --nat-external-drain-ip-pool=ip-address2 ajoute ip-address2 au pool de drainage.

Modifier les ports par défaut alloués par VM associés à la NAT

Pour plus d'informations, reportez-vous au nombre de ports et de connexions NAT.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Cliquez sur Journalisation, ports nombre minimal de ports, délai avant expiration.
  5. Modifiez le champ Nombre minimal de ports par instance de VM.
  6. Cliquez sur Save.

gcloud

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

    gcloud compute routers nats update nat-config \
        --router=nat-router \
        --min-ports-per-vm=128
    

Modifier les délais avant expiration de la connexion associés à la NAT

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Cliquez sur Journalisation, ports nombre minimal de ports, délai avant expiration.
  5. Modifiez les valeurs de délai d'expiration souhaitées.
  6. Cliquez sur Save.

gcloud

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

    gcloud compute routers nats update nat-config \
        --router=nat-router \
        --udp-mapping-idle-timeout=60s \
        --icmp-mapping-idle-timeout=60s \
        --tcp-established-connection-idle-timeout=60s \
        --tcp-transitory-connection-idle-timeout=60s
    

Réinitialiser les délais d'attente avant expiration de la connexion associés à la NAT

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.
  3. Cliquez sur Modifier.
  4. Cliquez sur Journalisation, ports nombre minimal de ports, délai avant expiration.
  5. Supprimez toutes les valeurs configurées par l'utilisateur que vous souhaitez réinitialiser.
  6. Cliquez sur Save.

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 NAT.

    gcloud compute routers nats update nat-config \
        --router=nat-router \
        --clear-udp-mapping-idle-timeout \
        --clear-icmp-mapping-idle-timeout \
        --clear-tcp-established-connection-idle-timeout \
        --clear-tcp-transitory-connection-idle-timeout
    

Ajouter, modifier ou supprimer des journaux

Pour activer, modifier ou supprimer la journalisation d'une passerelle existante, consultez la section Configuration de la journalisation.

Supprimer la NAT

Cette opération supprime une configuration NAT d'un routeur cloud. Elle ne supprime pas le routeur lui-même.

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cochez la case à côté de la configuration de la passerelle que vous souhaitez supprimer.
  3. Cliquez sur Supprimer.

gcloud

    gcloud compute routers nats delete nat-config --router=nat-router
    

où vous remplacez

  • nat-config par le nom de votre configuration NAT
  • nat-router par le nom de votre routeur cloud

Afficher les informations NAT

Afficher la configuration NAT

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.

gcloud

    gcloud compute routers nats describe nat-config --router=nat-router
    

Afficher le mappage plage d'adresses IP NAT/port (IP:port-ranges)

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Cliquez sur votre passerelle NAT.

gcloud

    gcloud compute routers get-nat-mapping-info
    

Afficher l'état de la NAT

Console

  1. Accédez à la page "Cloud NAT" dans Google Cloud Console.
    Accéder à la page Cloud NAT
  2. Consultez la colonne État de votre passerelle NAT.
  3. Cliquez sur le nom de la passerelle pour afficher les détails de la configuration.

gcloud

La commande routers get-status existante indique l'état de la NAT.

    gcloud compute routers get-status
    

Quotas et limites

Consultez la page Quotas.

Étape suivante

  • Consultez la page Dépannage pour obtenir de l'aide sur les configurations NAT.