Amazon Virtual Private Cloud
Guide de l'utilisateur

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 nombre limité de passerelles NAT que vous pouvez créer dans chaque zone de disponibilité. Pour plus d'informations, consultez Limites Amazon VPC.

Note

Si vous avez des ressources dans plusieurs zones de disponibilité et qu'elles partagent une passerelle NAT, lorsque la zone de disponibilité de la passerelle NAT est arrêtée, 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.

  • 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 et 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.

Utilisation d'une passerelle NAT avec des points de terminaison VPC, AWS Site-to-Site VPN, AWS Direct Connect ou un appairage de VPC

Une passerelle NAT ne peut pas envoyer de trafic sur des points de terminaison VPC, des connexions AWS Site-to-Site VPN, AWS Direct Connect ou des connexions d'appairage de VPC. Si vos instances du sous-réseau privé doivent accéder à des ressources sur un point de terminaison VPC, une connexion Site-to-Site VPN ou AWS Direct Connect, utilisez la table de routage du sous-réseau privé pour acheminer le trafic directement vers ces périphériques.

Par exemple, la table de routage de votre sous-réseau privé a les routes suivantes : le trafic lié à Internet (0.0.0.0/0) est acheminé vers une passerelle NAT, le trafic Amazon S3 (pl-xxxxxxxx ; une plage d'adresses IP spécifique pour Amazon S3) est acheminé vers un point de terminaison d'un VPC, et le trafic 10.25.0.0/16 est acheminé vers une connexion d'appairage de VPC. Les plages d'adresses IP pl-xxxxxxxx et 10.25.0.0/16 sont plus spécifiques que 0.0.0.0/0 ; quand vos instances envoient du trafic vers Amazon S3 ou le VPC appairé, le trafic est envoyé vers le point de terminaison d'un VPC ou la connexion d'appairage de VPC. Quand vos instances envoient du trafic vers Internet (autre que les adresses IP Amazon S3), ce trafic est envoyé vers 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.

Bonne pratique lors de l'envoi de trafic à Amazon S3 ou à DynamoDB

Pour éviter les frais de traitement des données pour les passerelles NAT lors de l'accès à Amazon S3 et DynamoDB, 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 de 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 Scénario 2 : 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. Lorsque vous avez terminé, choisissez Create a NAT Gateway.

  4. 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. Pour Destination, tapez 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 retrait 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 petit moment (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 d'Internet depuis une instance dans 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 (vous pouvez également utiliser 0.0.0.0/0 pour ce test), et le trafic SSH sortant vers la plage d'adresses IP de votre sous-réseau privé.

  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, par exemple :

    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 Converting Your Private Key Using PuTTYgen dans le manuel 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 le mot de passe 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 Starting a PuTTY Session. 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, par exemple :

    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é, par exemple :

    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 Des instances dans un sous-réseau privé 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 Terminate Your Instance dans le manuel Amazon EC2 Guide de l'utilisateur pour les instances Linux.

Résolution des problèmes de passerelles NAT

Les rubriques suivantes vous aident à résoudre des problèmes courants que vous pouvez rencontrer quand vous créez ou utilisez une passerelle NAT.

La passerelle NAT passe en statut d'échec

Si vous créez une passerelle NAT et qu'elle passe en statut Failed, alors il y a eu une erreur quand elle a été créée. Pour voir le message d'erreur, allez sur la console Amazon VPC, choisissez Passerelles NAT, sélectionnez votre passerelle NAT, puis consultez le message d'erreur dans la zone Statut dans le volet des détails.

Note

Une passerelle NAT en échec est automatiquement supprimée après une courte période de temps, normalement environ une heure.

Le tableau ci-après répertorie les causes possibles de l'échec, comme mentionné dans la console Amazon VPC. Après avoir appliqué une des étapes correctives indiquées, vous pouvez à nouveau essayer de créer une passerelle NAT.

Erreur affichée Raison Étapes correctives
Le sous-réseau ne possède pas assez d'adresses libres pour créer cette passerelle NAT Le sous-réseau que vous avez spécifié ne possède aucune adresse IP privée libre. La passerelle NAT nécessite une interface réseau avec une adresse IP privée allouée à partir de la plage du sous-réseau. Vous pouvez vérifier combien d'adresses IP sont disponibles dans votre sous-réseau en allant sur la page Sous-réseaux dans la console Amazon VPC et en consultant la zone Adresses IP disponibles dans le volet des détails pour votre sous-réseau. Pour créer des adresses IP libres dans votre sous-réseau, vous pouvez supprimer des interfaces réseau inutilisées ou mettre fin à des instances dont vous n'avez pas besoin.
Le réseau vpc-xxxxxxxx n'a pas de passerelle Internet attachée Une passerelle NAT doit être créée dans un VPC avec une passerelle Internet. Créez et attachez une passerelle Internet à votre VPC. Pour plus d'informations, consultez Création et attachement d'une passerelle Internet.
L'adresse IP Elastic eipalloc-xxxxxxxx n'a pas pu être associée à cette passerelle NAT L'adresse IP Elastic que vous avez spécifiée n'existe pas ou n'a pas pu être trouvée. Vérifiez l'ID d'allocation de l'adresse IP Elastic pour vous assurer de l'avoir entrée correctement. Assurez-vous d'avoir spécifié une adresse IP Elastic qui est dans la même région dans laquelle vous créez la passerelle NAT.
L'adresse IP Elastic eipalloc-xxxxxxxx est déjà associée L'adresse IP Elastic que vous avez spécifiée est déjà associée à une autre ressource, et ne peut être associée à la passerelle NAT. Vous pouvez vérifier quelle ressource est associée à l'adresse IP Elastic en allant sur la page Adresses IP Elastic dans la console Amazon VPC et consulter les valeurs spécifiées pour l'ID d'instance ou l'ID d'interface réseau. Si vous n'avez pas besoin de l'adresse IP Elastic pour cette ressource, vous pouvez la dissocier. Sinon, vous pouvez allouer une nouvelle adresse IP Elastic à votre compte. Pour plus d'informations, consultez Utilisation d'adresses IP Elastic.
L'interface réseau eni-xxxxxxxx créée et utilisée en interne par cette passerelle NAT est en état non valide. Veuillez réessayer. Il y a eu un problème lors de la création ou de l'utilisation de l'interface réseau pour la passerelle NAT. Vous ne pouvez pas corriger cette erreur. Essayez de créer une nouvelle passerelle NAT.

Vous avez atteint la limite de votre adresse IP Elastic ou de votre passerelle NAT

Si vous avez atteint la limite de votre adresse IP Elastic, vous pouvez dissocier une adresse IP Elastic d'une autre ressource ou vous pouvez demander une augmentation de la limite à l'aide du formulaire Amazon VPC Limits.

Si vous avez atteint la limite de votre passerelle NAT, vous pouvez effectuer l'une des actions suivantes :

  • Demandez une augmentation de la limite à l'aide du Amazon VPC Limits form. La limite par passerelle NAT est appliquée par zone de disponibilité.

  • Vérifiez le statut de votre passerelle NAT. Un statut Pending, Available ou Deleting compte dans votre limite. Si vous avez récemment supprimé une passerelle NAT, attendez quelques minutes pour que le statut passe de Deleting à Deleted, puis essayez de créer une nouvelle passerelle NAT.

  • Si vous n'avez pas besoin que votre passerelle NAT soit dans une zone de disponibilité spécifique, essayez de créer une passerelle NAT dans une zone de disponibilité dans laquelle vous n'avez pas atteint votre limite.

Pour plus d'informations, consultez Limites Amazon VPC.

La zone de disponibilité n'est pas prise en charge (NotAvailableInZone)

Dans certains cas, vous essayez peut-être de créer la passerelle NAT dans une zone de disponibilité limitée —, soit une zone dans laquelle votre capacité de développement est limitée. Nous ne pouvons pas prendre en charge de passerelles NAT dans ces zones. Vous pouvez créer une passerelle NAT dans une autre zone de disponibilité et l'utiliser pour des sous-réseaux privés dans la zone limitée. Vous pouvez également déplacer vos ressources dans une zone de disponibilité non limitée afin que vos ressources et votre passerelle NAT soient dans la même zone de disponibilité.

Vous avez créé une passerelle NAT et elle n'est plus visible

Il y a peut-être eu une erreur quand votre passerelle NAT a été créée et elle a échoué. Une passerelle NAT avec failed comme statut est visible dans la console Amazon VPC pendant un petit moment (généralement une heure), puis elle est automatiquement supprimée. Consultez les informations dans La passerelle NAT passe en statut d'échec, et essayez de créer une nouvelle passerelle NAT.

La passerelle NAT ne répond pas à la commande ping

Si vous essayez d'effectuer un test ping de l'adresse IP Elastic ou de l'adresse IP privée de la passerelle NAT depuis Internet (par exemple, depuis votre ordinateur familial) ou depuis une instance de votre VPC, vous n'obtenez pas de réponse. Une passerelle NAT fait uniquement passer du trafic depuis une instance d'un sous-réseau privé vers Internet.

Pour tester si votre passerelle NAT fonctionne, consultez Test d'une passerelle NAT.

Des instances dans un sous-réseau privé ne peuvent pas accéder à Internet

Si vous avez suivi les étapes précédentes pour tester votre passerelle NAT et que la commande ping échoue, ou que vos instances ne peuvent pas accéder à Internet, vérifiez les informations suivantes :

  • Vérifiez que votre passerelle NAT est en état Available. Dans la console Amazon VPC, allez sur la page NAT Gateways et consultez les informations du statut dans le volet des détails. Si la passerelle NAT est en état d'échec, il y a peut-être eu une erreur quand elle a été créée. Pour plus d'informations, consultez La passerelle NAT passe en statut d'échec.

  • Vérifiez que vous avez correctement configuré vos tables de routage:

    • La passerelle NAT doit être dans un sous-réseau public avec une table de routage qui route le trafic Internet vers une passerelle Internet. Pour plus d'informations, consultez Création d'une table de routage personnalisée.

    • Votre instance doit être dans un sous-réseau privé avec une table de routage qui route le trafic Internet vers la passerelle NAT. Pour plus d'informations, consultez Mise à jour de votre table de routage.

    • Vérifiez qu'aucune autre entrée de la table de routage achemine tout ou une partie du trafic Internet vers un autre périphérique au lieu de la passerelle NAT.

  • Assurez-vous que les règles du groupe de sécurité pour votre instance privée autorisent le trafic Internet sortant. Afin que la commande ping fonctionne, les règles doivent également autoriser le trafic ICMP sortant.

    Note

    La passerelle NAT elle-même autorise le trafic sortant et le trafic reçu en réponse à une demande sortante (elle est donc avec état).

  • Assurez-vous que les listes ACL réseau qui sont associées au sous-réseau privé et aux sous-réseaux publics n'ont pas de règles qui bloquent le trafic Internet entrant ou sortant. Afin que la commande ping fonctionne, les règles doivent également autoriser le trafic ICMP entrant et sortant.

    Note

    Vous pouvez autoriser les journaux de flux à vous aider à diagnostiquer les connexions abandonnées à cause de la liste ACL réseau ou des règles du groupe de sécurité. Pour plus d'informations, consultez Journaux de flux VPC.

  • Si vous utilisez la commande ping, assurez-vous d'avoir effectué un test ping du site Web dont l'ICMP est activé. Si ce n'est pas le cas, vous ne recevez pas de paquets de réponse. Pour le tester, exécutez la même commande ping depuis le terminal de la ligne de commande sur votre propre ordinateur.

  • Vérifiez que votre instance peut effectuer un test ping sur d'autres ressources ; par exemple, d'autres instances dans le sous-réseau privé (en supposant que les règles du groupe de sécurité le permettent).

  • Assurez-vous que votre connexion utilise uniquement un protocole TCP, UDP ou ICMP.

Échec de la connexion TCP à un point de terminaison spécifique

Si une connexion TCP vers un hôte ou un point de terminaison spécifique échoue alors que les connexions TCP aux autres points de terminaison fonctionnent normalement, vérifiez si le point de terminaison auquel vous tentez de vous connecter répond avec des paquets TCP fragmentés. Une passerelle NAT ne prend pas en charge la fragmentation IP pour TCP à ce stade. Pour plus d'informations, consultez Comparaison d'instances NAT et de passerelles NAT.

Pour vérifier si le point de terminaison envoie des paquets TCP fragmentés, utilisez une instance dans un sous-réseau public avec une adresse IP publique afin d'effectuer les opérations suivantes :

  • Déclencher une réponse suffisamment importante pour entraîner la fragmentation du point de terminaison concerné.

  • Utiliser l'utilitaire tcpdump pour vérifier que le point de terminaison envoie des paquets fragmentés.

Important

Vous devez utiliser une instance dans un sous-réseau public pour effectuer ces vérifications. Vous ne pouvez pas utiliser l'instance à partir de laquelle la connexion initiale échouait ou une instance dans un sous-réseau privé derrière une passerelle NAT ou une instance NAT.

Si le point de terminaison envoie des paquets TCP fragmentés, vous pouvez utiliser une instance NAT au lieu d'une passerelle NAT.

Note

De plus, une passerelle NAT ne prend pas en charge la fragmentation IP pour le protocole ICMP. Les outils de diagnostic qui envoient ou reçoivent des paquets ICMP volumineux signaleront la perte de paquets. Par exemple, la commande ping -s 10000 example.com ne fonctionne pas derrière une passerelle NAT.

La sortie traceroute n'affiche pas l'adresse IP privée de la passerelle NAT

Votre instance peut accéder à Internet, mais quand vous exécutez la commande traceroute, la sortie n'affiche pas l'adresse IP privée de la passerelle NAT. Dans ce cas, votre instance accède à Internet en utilisant un périphérique différent, comme une passerelle Internet. Dans la table de routage du sous-réseau dans lequel se situe votre instance, vérifiez les informations suivantes :

  • Assurez-vous qu'une route envoie le trafic Internet vers la passerelle NAT.

  • Assurez-vous qu'il n'y a pas de route plus spécifique qui envoie du trafic Internet vers d'autres périphériques, comme une passerelle réseau privé virtuel ou une passerelle Internet.

La connexion Internet est abandonnée après 350 secondes

Si une connexion utilisant une passerelle NAT est inactive pendant 350 secondes ou plus, la connexion expire. Pour empêcher l'abandon de la connexion, vous pouvez initier plus de trafic sur la connexion ou utiliser une connexion active TCP sur l'instance avec une valeur inférieure à 350 secondes.

La connexion IPsec ne peut pas être établie

Actuellement, les passerelles NAT ne prennent pas en charge le protocole IPsec ; cependant, vous pouvez utiliser NAT-Traversal (NAT-T) pour encapsuler le trafic IPsec dans UDP, qui est un protocole pris en charge pour les passerelles NAT. Veillez à tester votre configuration NAT-T et IPsec pour vérifier que votre trafic IPsec n'est pas supprimé.

Impossible d'établir plus de connexions pour une destination

Vous avez peut-être atteint la limite de connexions simultanées. Pour plus d'informations, consultez Limitations et règles appliquées aux passerelles NAT. Si vos instances du sous-réseau privé créent un grand nombre de connexions, vous pouvez atteindre cette limite. Vous pouvez effectuer l'une des actions suivantes :

  • Créez une passerelle NAT par zone de disponibilité et répartissez vos clients sur ces zones.

  • Créez des passerelles NAT supplémentaires dans le sous-réseau public et divisez vos clients sur plusieurs sous-réseaux privés, chacun avec une route vers une passerelle NAT différente.

  • Limitez le nombre de connexions que vos clients peuvent créer vers la destination.

  • Fermez les connexions inactives pour libérer de la capacité.

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 plus d'informations sur les politiques IAM pour Amazon VPC, consultez Contrôle de l'accès aux ressources 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 la section 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, ce qui signifie que 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 A propos de la facturation de compte AWS.

Présentation des API et de l'interface 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