Utiliser Cloud NAT

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

Prérequis

Vous devez effectuer les opérations suivantes avant de configurer Cloud NAT.

Obtenir des autorisations IAM

Le rôle roles/compute.networkAdmin vous permet de créer une passerelle NAT sur Cloud Router, de réserver et d'attribuer des adresses IP NAT et de spécifier les sous-réseaux dont le trafic doit utiliser la traduction d'adresse réseau 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 Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

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

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Installez et initialisez le SDK Cloud.

Exemples d'utilisation et de commandes

Créer une passerelle NAT

Définir une 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. Cette 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.

Vous pouvez activer ou désactiver le mappage indépendant des points de terminaison de votre passerelle. Il est activé par défaut. Pour le désactiver dans la commande gcloud, spécifiez --no-enable-endpoint-independent-mapping.

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur Commencer ou Créer une passerelle NAT.

  3. Saisissez un nom de passerelle.

  4. Choisissez un réseau VPC.

  5. Définissez la région de la passerelle NAT.

  6. Sélectionnez ou créez un routeur Cloud Router dans la région.

  7. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration pour ouvrir cette section.

  8. Dans Stackdriver Logging, sélectionnez Traduction et erreurs. Cette action envoie tous les journaux à Cloud Logging.

  9. Cliquez sur Create (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

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router

Spécifier les adresses IP pour la passerelle NAT

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

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur Commencer ou Créer une passerelle NAT.

  3. Saisissez un nom de passerelle.

  4. Choisissez un réseau VPC.

  5. Définissez la région de la passerelle NAT.

  6. Sélectionnez ou créez un routeur Cloud Router dans la région.

  7. Définissez le paramètre Adresses IP NAT sur Manuel.

  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 Create (Créer).

gcloud

gcloud compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --nat-all-subnet-ip-ranges \
    --nat-external-ip-pool=IP_ADDRESS1,IP_ADDRESS2

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router
  • IP_ADDRESS1 : adresse IP externe réservée statique à utiliser pour la NAT
  • IP_ADDRESS2 : autre adresse IP externe réservée statique à utiliser pour la NAT

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 de sous-réseau principales et secondaires qui peuvent utiliser la NAT.

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur Commencer ou Créer une passerelle NAT.

  3. Saisissez un nom de passerelle.

  4. Choisissez un réseau VPC.

  5. Définissez la région de la passerelle NAT.

  6. Sélectionnez ou créez un routeur Cloud Router dans la région.

  7. Sous Mappage NAT, définissez le champ Source sur Personnalisé.

  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 Create (Créer).

gcloud

gcloud compute routers nats create NAT_CONFIG \
    --router=NAT_ROUTER \
    --auto-allocate-nat-external-ips \
    --nat-custom-subnet-ip-ranges=SUBNETS

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router
  • SUBNETS : liste de sous-réseaux séparés par une virgule

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

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur Commencer ou Créer une passerelle NAT.

  3. Saisissez un nom de passerelle.

  4. Choisissez un réseau VPC.

  5. Définissez la région de la passerelle NAT.

  6. Sélectionnez ou créez un routeur Cloud Router dans la région.

  7. Cliquez sur Journalisation, 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 Create (Créer).

gcloud

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

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router

Pour plus d'informations, consultez la section Ports et connexions.

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

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur Commencer ou Créer une passerelle NAT.

  3. Saisissez un nom de passerelle.

  4. Choisissez un réseau VPC.

  5. Définissez la région de la passerelle NAT.

  6. Sélectionnez ou créez un routeur Cloud Router dans la région.

  7. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration.

  8. Modifiez les délais avant expiration à votre guise.

  9. Cliquez sur Create (Créer).

gcloud

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

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router
  • SUBNETS : liste de sous-réseaux séparés par une virgule

Mettre à jour la passerelle NAT

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

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur Modifier ().

  4. Sous Mappage NAT, définissez le champ Source sur Personnalisé.

  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 Automatique ou Manuel.

  9. Si vous sélectionnez Manuel, indiquez une adresse IP externe.

  10. Pour bénéficier d'une haute disponibilité avec des adresses IP manuelles, cliquez sur Ajouter une adresse IP, puis ajoutez une deuxième adresse.

  11. Cliquez sur Enregistrer.

gcloud

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3 \
    --nat-custom-subnet-ip-ranges=SUBNETS:range1

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router
  • IP_ADDRESS2 : une adresse IP externe manuelle
  • IP_ADDRESS3 : autre adresse IP externe manuelle
  • SUBNETS : liste de sous-réseaux séparés par une virgule

Modifier les adresses IP externes associées à la NAT

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

Console

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

    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 Automatique ou Manuel.

  5. Si vous sélectionnez Manuel, indiquez une adresse IP externe.

  6. Pour bénéficier d'une haute disponibilité, cliquez sur Ajouter une adresse IP, puis ajoutez une deuxième adresse.

  7. Cliquez sur Enregistrer.

gcloud

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --nat-external-ip-pool=IP_ADDRESS2,IP_ADDRESS3

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router
  • IP_ADDRESS2 : une adresse IP externe manuelle
  • IP_ADDRESS3 : autre adresse IP externe manuelle

Drainer les adresses IP externes associées à la NAT

Avant de supprimer une adresse IP configurée manuellement, vous pouvez la drainer afin que les connexions existantes ne soient pas interrompues. Lorsqu'une adresse IP est drainée, toutes les connexions existantes sont autorisées jusqu'à ce qu'elles expirent naturellement. 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.

Pour voir l'état de vos adresses IP NAT, vous pouvez afficher l'état de la NAT.

Console

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

    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 de Drainage d'adresse IP à côté de l'adresse IP sur Activé.

  5. Cliquez sur Enregistrer.

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.

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router
  • IP_ADDRESS3 : une adresse IP
  • IP_ADDRESS2 : une autre adresse IP

Modifier le nombre minimal de ports par défaut alloués par instance de VM associé à la NAT

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration.

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

gcloud compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    --min-ports-per-vm=128

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router

Pour plus d'informations, consultez la section Ports et connexions.

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

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration.

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

  6. Cliquez sur Enregistrer.

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

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router

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

Console

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

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur Modifier ().

  4. Cliquez sur Journalisation, 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 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 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

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router

Définir le mappage des points de terminaison

Vous pouvez activer ou désactiver le mappage indépendant des points de terminaison de votre passerelle. Il est activé par défaut.

Console

Exécutez plutôt la commande gcloud.

gcloud

Mettre à jour pour une passerelle existante

gcloud alpha compute routers nats update NAT_CONFIG \
    --router=NAT_ROUTER \
    [--enable-endpoint-independent-mapping | --no-enable-endpoint-independent-mapping]

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router

Configurer la journalisation

Pour ajouter (activer), modifier ou supprimer la journalisation sur une passerelle existante, consultez la section Configurer la journalisation.

Supprimer la configuration NAT

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

Console

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

    Accéder à la page Cloud NAT

  2. Cochez la case à côté de la configuration de passerelle que vous souhaitez supprimer.

  3. Dans le menu , cliquez sur Supprimer.

gcloud

gcloud compute routers nats delete NAT_CONFIG --router=NAT_ROUTER

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router

Afficher la configuration NAT, le mappage plages d'adresses IP/port (IP:port-ranges) et l'état

Console

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

    Accéder à la page Cloud NAT

  2. Pour afficher les détails de la passerelle NAT, les informations de mappage ou les détails de configuration, cliquez sur le nom de votre passerelle NAT.

  3. Pour afficher l'état de la NAT, consultez la colonne État de votre passerelle NAT.

gcloud

gcloud compute routers nats describe NAT_CONFIG --router=NAT_ROUTER

Remplacez l'élément suivant :

  • NAT_CONFIG : nom de votre configuration NAT
  • NAT_ROUTER : nom de votre routeur Cloud Router
gcloud compute routers get-nat-mapping-info

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

gcloud compute routers get-status

Quotas et limites

Le calcul d'un quota ou d'une limite s'effectue par ressource. Les quotas et les limites peuvent être définis par projet, par réseau, par région ou par une autre ressource. Pour en savoir plus, consultez la page Quotas.

Exemples de configurations

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

Étape suivante