Passerelles NAT - Amazon Virtual Private Cloud

Passerelles NAT

Vous pouvez utiliser une passerelle de traduction d'adresses réseau (NAT) pour autoriser les instances d'un sous-réseau privé à se connecter à Internet ou à d'autres services AWS, mais empêcher Internet de lancer une connexion avec ces instances. Pour plus d'informations sur NAT, consultez NAT.

La création et l'utilisation d'une passerelle NAT vous sont facturées dans votre compte. Des tarifs s'appliquent au coût horaire et au traitement de données d'une passerelle NAT. Des frais Amazon EC2 sont également facturés pour le transfert de données. Pour plus d'informations, consultez Tarification Amazon VPC.

Les passerelles NAT ne sont pas prises en charge pour le trafic IPv6 ; utilisez une passerelle Internet de sortie uniquement à la place. Pour plus d'informations, consultez Passerelles Internet de sortie uniquement.

Principes de base d'une passerelle NAT

Pour créer une passerelle NAT, vous devez spécifier le sous-réseau public dans lequel la passerelle NAT doit résider. Pour plus d'informations sur les sous-réseaux publics et privés, consultez Routage des sous-réseaux. Vous devez également spécifier une adresse IP Elastic (EIP) à associer à la passerelle NAT quand vous la créez. L'adresse IP Elastic ne peut pas être modifiée une fois qu'elle est associée à la passerelle NAT. Après avoir créé une passerelle NAT, vous devez mettre à jour la table de routage associée à un ou à plusieurs de vos sous-réseaux privés pour pointer le trafic lié à Internet vers la passerelle NAT. Cela permet aux instances des sous-réseaux privés de communiquer avec Internet.

Chaque passerelle NAT est créée dans une zone de disponibilité spécifique et implémentée de manière redondante dans cette zone. Vous disposez d'un quota de passerelles NAT que vous pouvez créer dans chaque zone de disponibilité. Pour plus d'informations, consultez Quotas Amazon VPC.

Note

Si vous avez des ressources dans plusieurs zones de disponibilité et qu'elles partagent une passerelle NAT, si une panne affecte la zone de disponibilité de la passerelle NAT, les ressources des autres zones de disponibilité perdent leur accès à Internet. Pour créer une architecture de zone de disponibilité indépendante, créez une passerelle NAT dans chaque zone de disponibilité et configurez votre routage pour vous assurer que les ressources utilisent la passerelle NAT dans la même zone de disponibilité.

Si vous n'avez plus besoin d'une passerelle NAT, vous pouvez la supprimer. Supprimer une passerelle NAT dissocie son adresse IP Elastic mais ne libère pas l'adresse de votre compte.

Le graphique suivant illustre l'architecture du VPC avec une passerelle NAT. La table de routage principale envoie le trafic Internet sortant des instances du sous-réseau privé vers la passerelle NAT. La passerelle NAT envoie le trafic vers la passerelle Internet en utilisant l'adresse IP Elastic de la passerelle NAT comme adresse IP source.


          Un VPC avec des sous-réseaux publics et privés et une passerelle NAT

Limitations et règles appliquées aux passerelles NAT

Une passerelle NAT comporte les caractéristiques et limitations suivantes :

  • Une passerelle NAT prend en charge jusqu'à 5 Gb/s de bande passante et est mise à l'échelle automatiquement jusqu'à 45 Gb/s. Si vous avez besoin d'une augmentation supérieure, vous pouvez répartir la charge de travail en répartissant vos ressources dans plusieurs sous-réseaux et en créant une passerelle NAT dans chaque sous-réseau.

  • Vous pouvez associer exactement une adresse IP Elastic à une passerelle NAT. Vous ne pouvez pas dissocier une adresse IP Elastic d'une passerelle NAT après qu'elle ait été créée. Si vous souhaitez utiliser une adresse IP Elastic différente pour votre passerelle NAT, vous devez créer une nouvelle passerelle NAT avec l'adresse requise, mettre à jour vos tables de routage, puis supprimer la passerelle NAT existante si vous n'en avez plus besoin.

  • Une passerelle NAT prend en charge les protocoles suivants : TCP, UDP et ICMP.

  • Vous ne pouvez pas associer de groupe de sécurité à une passerelle NAT. Vous pouvez utiliser des groupes de sécurité pour vos instances dans les sous-réseaux privés pour contrôler le trafic entrant et sortant de ces instances.

  • Vous pouvez utiliser une liste ACL réseau pour contrôler le trafic entrant et sortant du sous-réseau dans lequel la passerelle NAT est située. La liste ACL réseau s'applique au trafic de la passerelle NAT. Une passerelle NAT utilise les ports 1024–65535. Pour plus d'informations, consultez ACL réseau.

  • Quand une passerelle NAT est créée, elle reçoit une interface réseau qui est automatiquement attribuée à une adresse IP privée à partir de la plage d'adresses IP de votre sous-réseau. Vous pouvez voir l'interface réseau de la passerelle NAT dans la console Amazon EC2. Pour plus d'informations, consultez Affichage des détails relatifs à une interface réseau. Vous ne pouvez pas modifier les attributs de cette interface réseau.

  • Une connexion ClassicLink associée à votre VPC ne peut pas accéder à la passerelle NAT.

  • Vous ne pouvez pas acheminer de trafic vers une passerelle NAT via une connexion d'appairage de VPC, une connexion Site-to-Site VPN ou AWS Direct Connect. Une passerelle NAT ne peut pas être utilisée par des ressources de l'autre côté de ces connexions.

  • Une passerelle NAT peut prendre en charge jusqu'à 55,000  connexions simultanées pour chaque destination unique. Cette limite existe également si vous créez environ 900 connexions par seconde avec une seule destination (environ 55 000 connexions par minute). Si l'adresse IP de destination, le port de destination ou le protocole (TCP/UDP/ICMP) change, vous pouvez créer 55 000 connexions supplémentaires. Pour plus de 55 000 connexions, le risque d'erreur de connexion est plus élevé en raison des erreurs d'allocation de port. Ces erreurs peuvent être surveillées en affichant la métrique ErrorPortAllocation CloudWatch pour votre passerelle NAT. Pour plus d'informations, consultez Surveillance des passerelles NAT à l'aide de Amazon CloudWatch.

Migration à partir d'une instance NAT

Si vous utilisez déjà une instance NAT, vous pouvez la remplacer avec une passerelle NAT. Pour ce faire, vous pouvez créer passerelle NAT dans le même sous-réseau que votre instance NAT, puis remplacer la route existant dans votre table de routage qui pointe vers l'instance NAT par une route qui pointe vers la passerelle NAT. Si vous souhaitez utiliser la même adresse IP Elastic pour la passerelle NAT que vous utilisez actuellement et pour votre instance NAT, vous devez d'abord dissocier l'adresse IP Elastic de votre instance NAT, puis l'associer à votre passerelle NAT lors de la création de la passerelle.

Note

Si vous changez votre routage d'une instance NAT pour une passerelle NAT, ou si vous dissociez l'adresse IP Elastic de votre instance NAT, toutes les connexions en cours sont abandonnées et doivent être rétablies. Assurez-vous de ne pas avoir de tâches importantes (ou toute autre tâche qui fonctionne via l'instance NAT) en cours d'exécution.

Bonne pratique lors de l'envoi de trafic à Amazon S3 ou à DynamoDB dans la même région

Pour éviter les frais de traitement des données pour les passerelles NAT lors de l'accès à Amazon S3 et DynamoDB se trouvant dans la même région, configurez un point de terminaison de passerelle et acheminez le trafic via ce dernier au lieu de la passerelle NAT. Il n'y a pas de frais pour l'utilisation d'un point de terminaison de passerelle. Pour plus d'informations, consultez Points de terminaison d'un VPC de passerelle.

Utilisation des passerelles NAT

Vous pouvez utiliser la console Amazon VPC pour créer, voir et supprimer une passerelle NAT. Vous pouvez également utiliser l'assistant Amazon VPC pour créer un VPC avec un sous-réseau public, un sous-réseau privé et une passerelle NAT. Pour plus d'informations, consultez VPC avec des sous-réseaux publics et privés (NAT).

Création d'une passerelle NAT

Pour créer une passerelle NAT, vous devez spécifier un sous-réseau et une adresse IP Elastic. Assurez-vous que l'adresse IP Elastic n'est actuellement associée à aucune instance ou interface réseau. Si vous migrez d'une instance NAT vers une passerelle NAT et que vous voulez réutiliser l'adresse IP Elastic de l'instance NAT, vous devez d'abord dissocier l'adresse de votre instance NAT.

Créer une passerelle NAT

  1. Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.

  2. Dans le volet de navigation, choisissez NAT Gateways, Create NAT Gateway.

  3. Spécifiez le sous-réseau dans lequel créer la passerelle NAT et sélectionnez un ID d'allocation d'adresse IP Elastic à associer à la passerelle NAT.

  4. (Facultatif) Ajoutez ou supprimez une balise.

    [Ajouter une balise] Choisissez Ajouter une balise et procédez comme suit :

    • Pour Clé, saisissez le nom de la clé.

    • Pour Value (Valeur), saisissez la valeur de la clé.

    [Supprimer une balise] Choisissez le bouton de suppression (« x ») situé à la droite de la clé et de la valeur de la balise.

  5. Choisissez Créer une passerelle NAT.

  6. La passerelle NAT s'affiche dans la console. Après quelques instants, son statut change pour Available, après quoi elle est prête à être utilisée.

Si le statut de la passerelle NAT devient Failed, alors il y a eu une erreur pendant la création. Pour plus d'informations, consultez La passerelle NAT passe en statut d'échec.

Mise à jour de votre table de routage

Après avoir créé la passerelle NAT, vous devez mettre à jour les tables de routage afin que les sous-réseaux privés pointent le trafic Internet vers la passerelle NAT. Nous utilisons la route la plus spécifique qui correspond au trafic afin de déterminer comment router le trafic (correspondance de préfixe le plus long). Pour plus d'informations, consultez Priorité de route.

Créer une route pour une passerelle NAT

  1. Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.

  2. Dans le volet de navigation, choisissez Route Tables.

  3. Sélectionnez la table de routage associée à votre sous-réseau privé et choisissez Routes, puis Edit.

  4. Choisissez Add another route. En regard de Destination, entrez 0.0.0.0/0. Pour Target, sélectionnez l'ID de votre passerelle NAT.

    Note

    Si vous migrez l'utilisation d'une instance NAT, vous pouvez remplacer la route actuelle qui pointe vers l'instance NAT par une route vers la passerelle NAT.

  5. Choisissez Save.

Pour veiller à ce que votre passerelle NAT puisse accéder à Internet, la table de routage associée au sous-réseau dans lequel votre passerelle NAT réside doit inclure une route qui pointe le trafic Internet vers une passerelle Internet. Pour plus d'informations, consultez Création d'une table de routage personnalisée. Si vous supprimez une passerelle NAT, les routes de la passerelle NAT restent en statut blackhole jusqu'à ce que vous supprimiez ou mettiez les routes à jour. Pour plus d'informations, consultez Ajout et suppression de routes d'une table de routage.

Suppression d'une passerelle NAT

Vous pouvez supprimer une passerelle NAT à l'aide de la console Amazon VPC. Après avoir supprimé une passerelle NAT, son entrée reste visible dans la console Amazon VPC pendant un court laps de temps (généralement une heure), après quoi elle est automatiquement supprimée. Vous ne pouvez pas supprimer cette entrée vous-même.

Supprimer une passerelle NAT

  1. Ouvrez la console Amazon VPC à l'adresse https://console.aws.amazon.com/vpc/.

  2. Dans le volet de navigation, choisissez NAT Gateways.

  3. Sélectionnez la passerelle NAT, puis choisissez Actions , Delete NAT Gateway (Supprimer la passerelle NAT).

  4. Dans la boîte de dialogue de confirmation, choisissez Delete NAT Gateway.

Test d'une passerelle NAT

Après avoir créé votre passerelle NAT et mis à jour vos tables de routage, vous pouvez effectuer un test ping sur quelques adresses distantes sur Internet depuis une instance de votre sous-réseau privé pour tester sa connexion à Internet. Pour obtenir un exemple montrant la façon de procéder, consultez Test de la connexion Internet.

Si vous ne pouvez pas vous connecter à Internet, vous pouvez également réaliser les tests suivants afin de déterminer si le trafic Internet est acheminé via la passerelle NAT :

  • Vous pouvez tracer la route du trafic d'une instance vers votre sous-réseau privé. Pour ce faire, exécutez la commande traceroute depuis une instance Linux dans votre sous-réseau privé. A la sortie, vous devez voir l'adresse IP privée de la passerelle NAT dans un des sauts (il s'agit généralement du premier saut).

  • Utilisez un site Web ou un outil tiers qui affiche l'adresse IP source quand vous vous y connectez depuis une instance dans votre sous-réseau privé. L'adresse IP source doit être l'adresse IP Elastic de votre passerelle NAT. Vous pouvez obtenir l'adresse IP Elastic et l'adresse IP privée de votre passerelle NAT en consultant ses informations sur la page Passerelles NAT dans la console Amazon VPC.

Si les tests précédents échouent, consultez Résolution des problèmes de passerelles NAT.

Test de la connexion Internet

L'exemple suivant montre comment tester si votre instance d'un sous-réseau privé peut se connecter à Internet.

  1. Lancez une instance dans votre sous-réseau public (vous l'utiliserez comme hôte bastion). Pour plus d'informations, consultez Lancement d'une instance dans votre sous-réseau. Dans l'assistant de lancement, assurez-vous de sélectionner une AMI Amazon Linux et d'assigner une adresse IP publique à votre instance. Assurez-vous que les règles de votre groupe de sécurité autorisent le trafic SSH entrant depuis la plage d'adresses IP pour votre réseau local, et le trafic SSH sortant vers la plage d'adresses IP de votre sous-réseau privé (vous pouvez également utiliser 0.0.0.0/0 pour le trafic SSH entrant et sortant pour ce test).

  2. Lancez une instance dans votre sous-réseau privé. Dans l'assistant de lancement, assurez-vous de sélectionner une AMI Amazon Linux. N'assignez pas d'adresse IP publique à votre instance. Assurez-vous que les règles de votre groupe de sécurité autorisent le trafic SSH entrant depuis l'adresse IP privée de votre instance que vous avez lancée dans le sous-réseau public, et tout le trafic ICMP sortant. Vous devez choisir la même paire de clés que vous avez utilisée pour lancer votre instance dans un sous-réseau public.

  3. Configurez le transfert de l'agent SSH sur votre ordinateur local et connectez-vous à votre hôte bastion dans le sous-réseau public. Pour plus d'informations, consultez Pour configurer le transfert de l'agent SSH pour Linux ou macOS ou Configurer le transfert de l'agent SSH pour Windows (PuTTY).

  4. Depuis votre hôte bastion, connectez-vous à votre instance du sous-réseau privé, puis testez la connexion Internet depuis votre instance du sous-réseau privé. Pour plus d'informations, consultez Pour tester la connexion Internet.

Pour configurer le transfert de l'agent SSH pour Linux ou macOS

  1. Depuis votre machine locale, ajoutez votre clé privée à l'agent d'authentification.

    Pour Linux, utilisez la commande suivante.

    ssh-add -c mykeypair.pem

    Pour macOS, utilisez la commande suivante.

    ssh-add -K mykeypair.pem
  2. Connectez-vous à votre instance dans le sous-réseau public à l'aide de l'option -A pour activer le transfert de l'agent SSH et utilisez l'adresse publique de l'instance, comme dans l'exemple suivant :

    ssh -A ec2-user@54.0.0.123

Configurer le transfert de l'agent SSH pour Windows (PuTTY)

  1. Téléchargez et installez Pageant depuis la PuTTY download page, s'il n'est pas déjà installé.

  2. Convertissez votre clé privée au format .ppk. Pour plus d'informations, consultez Conversion de votre clé privée à l’aide de PuTTYgen dans le Amazon EC2 Guide de l'utilisateur pour les instances Linux.

  3. Démarrez Pageant, cliquez avec le bouton droit sur l'icône Pageant de la barre des tâches (il peut être masqué) et choisissez Add Key. Sélectionnez le fichier .ppk que vous avez créé, entrez la phrase secrète si nécessaire, puis choisissez Ouvrir.

  4. Démarrez une session PuTTY et connectez-vous à votre instance dans le sous-réseau public à l'aide de son adresse IP publique. Pour plus d'informations, consultez Connexion à votre instance Linux. Dans la catégorie Auth, assurez-vous d'avoir sélectionné l'option Allow agent forwarding, puis laissez la zone Private key file for authentication vide.

Pour tester la connexion Internet

  1. Depuis votre instance dans le sous-réseau public, connectez-vous à votre instance dans votre sous-réseau privé en utilisant son adresse IP privée, comme illustré dans l'exemple suivant.

    ssh ec2-user@10.0.1.123
  2. Depuis votre instance privée, vérifiez que vous pouvez vous connecter à Internet en exécutant la commande ping pour un site web dont l'ICMP est activé.

    ping ietf.org
    PING ietf.org (4.31.198.44) 56(84) bytes of data. 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=1 ttl=47 time=86.0 ms 64 bytes from mail.ietf.org (4.31.198.44): icmp_seq=2 ttl=47 time=75.6 ms ...

    Appuyez sur Ctrl+C sur votre clavier pour annuler la commande ping. Si la commande ping échoue, consultez Les instances ne peuvent pas accéder à Internet.

  3. (Facultatif) Si vous n'avez plus besoin de vos instances, mettez-les hors service. Pour plus d'informations, consultez Résilier votre instance dans le Amazon EC2 Guide de l'utilisateur pour les instances Linux.

Contrôle de l'utilisation de passerelles NAT

Par défaut, les utilisateurs IAM ne sont pas autorisés à utiliser des passerelles NAT. Vous pouvez créer une stratégie utilisateur IAM qui autorise les utilisateurs à créer, modifier, décrire et supprimer des passerelles NAT. Pour le moment, nous ne prenons pas en charge de permissions au niveau des ressources pour aucune des opérations de l'API ec2:*NatGateway*. Pour de plus amples informations sur les stratégies IAM pour Amazon VPC, veuillez consulter Identity and Access Management pour Amazon VPC.

Balisage d'une passerelle NAT

Vous pouvez baliser votre passerelle NAT afin de l'identifier ou de la classer en fonction des besoins de votre organisation. Pour plus d'informations sur l'utilisation des balises, consultez Balisage de vos ressources Amazon EC2 dans le Amazon EC2 Guide de l'utilisateur pour les instances Linux.

Les balises de répartition des coûts sont prises en charge pour les passerelles NAT. Par conséquent, vous pouvez également utiliser des balises pour organiser votre facture AWS et refléter votre propre structure de coût. Pour plus d’informations, consultez Utilisation des balises de répartition des coûts dans le AWS Billing and Cost Management Guide de l'utilisateur. Pour plus d'informations sur la configuration d'un rapport de répartition des coûts avec des balises, consultez le Rapport de répartition des coûts mensuel dans À propos de la facturation de compte AWS.

Présentation des API et de l'interface de ligne de commande (CLI)

Vous pouvez exécuter les tâches décrites sur cette page à l'aide de la ligne de commande ou de l'API. Pour plus d'informations sur les interfaces de ligne de commande et une liste des opérations de l'API disponibles, consultez Accès à Amazon VPC.

Créer une passerelle NAT

Baliser une passerelle NAT

Décrire une passerelle NAT

Supprimer une passerelle NAT