Cas d'utilisation de la passerelle NAT - Amazon Virtual Private Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Cas d'utilisation de la passerelle NAT

Voici des exemples de cas d'utilisation de passerelles NAT publiques et privées.

Accéder à Internet à partir d'un sous-réseau privé

Vous pouvez utiliser une passerelle NAT publique pour permettre aux instances d'un sous-réseau privé d'envoyer du trafic sortant vers Internet, tout en empêchant Internet d'établir des connexions avec les instances.

Présentation

Le diagramme suivant illustre ce cas d'utilisation. Il existe deux zones de disponibilité, avec deux sous-réseaux dans chaque zone de disponibilité. La table de routage de chaque sous-réseau détermine la manière dont le trafic est acheminé. Dans la zone de disponibilité A, les instances du sous-réseau public peuvent accéder à Internet via un acheminement vers la passerelle Internet, tandis que les instances du sous-réseau privé n'ont aucun acheminement vers Internet. Dans la zone de disponibilité B, le sous-réseau public contient une passerelle NAT et les instances du sous-réseau privé peuvent accéder à Internet via un acheminement vers la passerelle NAT du sous-réseau public. Les passerelles NAT privées et publiques mappent l'adresse IPv4 privée source des instances à l'adresse IPv4 privée de la passerelle NAT privée. Dans le cas d'une passerelle NAT publique, la passerelle Internet mappe ensuite l'adresse IPv4 privée de la passerelle NAT publique à l'adresse IP Elastic associée à la passerelle NAT. Lors de l'envoi du trafic de réponse aux instances, qu'il s'agisse d'une passerelle NAT publique ou privée, la passerelle NAT retraduit l'adresse en adresse IP source d'origine.

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

Notez que si les instances du sous-réseau privé de la zone de disponibilité A doivent également accéder à Internet, vous pouvez créer une route à partir de ce sous-réseau vers la passerelle NAT de la zone de disponibilité B. Vous pouvez également améliorer la résilience en créant une passerelle NAT dans chaque zone de disponibilité contenant des ressources qui nécessitent un accès à Internet. Pour obtenir un exemple de diagramme, consultez Exemple : VPC avec des serveurs dans des sous-réseaux privés et NAT.

Routage

Voici la table de routage associée au sous-réseau public dans la zone de disponibilité A. La première entrée est l'acheminement local ; cela permet aux instances du sous-réseau de communiquer avec d'autres instances du VPC à l'aide d'adresses IP privées. La deuxième entrée envoie tout le reste du trafic de sous-réseau à la passerelle Internet, ce qui permet aux instances du sous-réseau d'accéder à Internet.

Destination Cible
Bloc d'adresse du VPC locale
0.0.0.0/0 internet-gateway-id

Voici la table de routage associée au sous-réseau privé dans la zone de disponibilité A. L'entrée est l'acheminement local, qui permet aux instances du sous-réseau de communiquer avec d'autres instances du VPC à l'aide d'adresses IP privées. Les instances de ce sous-réseau n'ont pas accès à Internet.

Destination Cible
Bloc d'adresse du VPC local

Voici la table de routage associée au sous-réseau public dans la zone de disponibilité B. La première entrée est l'acheminement local ; cela permet aux instances du sous-réseau de communiquer avec d'autres instances du VPC à l'aide d'adresses IP privées. La deuxième entrée envoie tout le reste du trafic de sous-réseau à la passerelle Internet, ce qui permet à la passerelle NAT du sous-réseau d'accéder à Internet.

Destination Cible
Bloc d'adresse du VPC locale
0.0.0.0/0 internet-gateway-id

Voici la table de routage associée au sous-réseau privé dans la zone de disponibilité B. La première entrée est l'itinéraire local ; cela permet aux instances du sous-réseau de communiquer avec d'autres instances du VPC à l'aide d'adresses IP privées. La deuxième entrée envoie tout le reste du trafic du sous-réseau vers la passerelle NAT.

Destination Cible
Bloc d'adresse du VPC locale
0.0.0.0/0 nat-gateway-id

Pour plus d’informations, consultez Utiliser des tables de routage.

Tester la passerelle NAT publique

Après avoir créé votre passerelle NAT et mis à jour vos tables de routage, vous pouvez effectuer un test ping d'adresses distantes à partir d'une instance de votre sous-réseau privé afin de vérifier s'il peut se connecter à Internet. Pour obtenir un exemple montrant la façon de procéder, consultez Tester la connexion Internet.

Si vous ne pouvez pas vous connecter à Internet, vous pouvez également tester si le trafic Internet est acheminé via la passerelle NAT :

  • Tracez la route du trafic à partir d'une instance dans 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 (généralement le premier).

  • 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 la passerelle NAT.

Si ces tests échouent, veuillez consulter Résoudre les problèmes des passerelles NAT.

Tester la connexion Internet

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

  1. Lancez une instance dans votre sous-réseau public (utilisez-la comme hôte bastion). 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.

  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

Vous pouvez utiliser le client OpenSSH disponible sous Windows ou installer votre client SSH préféré (par exemple, PuTTY).

OpenSSH

Installez OpenSSH pour Windows comme décrit dans cet article : Bien démarrer avec OpenSSH pour Windows. Ajoutez ensuite votre clé à l'agent d'authentification. Pour plus d'informations, consultez Authentification basée sur une clé dans OpenSSH pour Windows.

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

  2. Convertissez votre clé privée au format .ppk. Pour plus d'informations, consultez la section Conversion de votre clé privée à l'aide de PuttyGen dans le guide de l'utilisateur Amazon EC2.

  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 de plus ample informations, veuillez consulter 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 de plus amples informations, veuillez consulter Résilier une instance dans le Guide de l'utilisateur Amazon EC2.

Accédez à votre réseau à l'aide d'adresses IP autorisées

Vous pouvez utiliser une passerelle NAT privée pour activer la communication entre vos VPC et votre réseau sur site à l'aide d'un groupe d'adresses autorisées. Au lieu d'attribuer à chaque instance une adresse IP distincte dans la plage d'adresses IP autorisées, vous pouvez acheminer le trafic du sous-réseau destiné au réseau interne via une passerelle NAT privée dotée d'une adresse IP dans la plage d'adresses IP autorisées.

Présentation

Le schéma suivant montre comment les instances peuvent accéder aux ressources locales via AWS VPN. Le trafic provenant des instances est acheminé vers une passerelle réseau privé virtuel, via la connexion VPN, vers la passerelle client, puis vers la destination dans le réseau sur site. Cependant, supposons que la destination n'autorise le trafic qu'à partir d'une plage d'adresses IP spécifique, telle que 100.64.1.0/28. Cela empêcherait le trafic de ces instances d'atteindre le réseau sur site.

Accès à un réseau local à l'aide d'une AWS VPN connexion.

Le schéma suivant illustre les principaux composants pour la configuration de ce scénario. Le VPC a sa plage d'adresses IP d'origine plus la plage d'adresses IP autorisée. Le VPC possède un sous-réseau de la plage d'adresses IP autorisée avec une passerelle NAT privée. Le trafic des instances destiné au réseau sur site est envoyé à la passerelle NAT avant d'être acheminé vers la connexion VPN. Le réseau sur site reçoit le trafic des instances avec l'adresse IP source de la passerelle NAT, qui provient de la plage d'adresses IP autorisée.

Le trafic provenant du sous-réseau VPC est acheminé via une passerelle NAT privée en utilisant l'adresse IP de la passerelle NAT comme adresse source.

Ressources

Créez ou mettez à jour des ressources comme suit :

  • Associez la plage d'adresses IP autorisées au VPC.

  • Créez un sous-réseau dans le VPC à partir de la plage d'adresses IP autorisée.

  • Créez une passerelle NAT privée dans le nouveau sous-réseau.

  • Mettez à jour la table de routage du sous-réseau avec les instances pour envoyer le trafic destiné au réseau sur site à la passerelle NAT. Ajoutez un acheminement à la table de routage pour le sous-réseau avec la passerelle NAT privée qui envoie le trafic destiné au réseau sur site à la passerelle réseau privé virtuel.

Routage

Voici la table de routage associée au premier sous-réseau. Il existe un acheminement local pour chaque CIDR de VPC. Les acheminements locaux permettent aux ressources du sous-réseau de communiquer avec d'autres ressources du VPC à l'aide d'adresses IP privées. La troisième entrée envoie le trafic destiné au réseau sur site à la passerelle NAT privée.

Destination Cible
10,0.0.0/16 locale
100,64,1,0/24 local
192.168.0.0/16 nat-gateway-id

Voici la table de routage associée au deuxième sous-réseau. Il existe un acheminement local pour chaque CIDR de VPC. Les acheminements locaux permettent aux ressources du sous-réseau de communiquer avec d'autres ressources du VPC à l'aide d'adresses IP privées. La troisième entrée envoie le trafic destiné au réseau sur site à la passerelle réseau privé virtuel.

Destination Cible
10,0.0.0/16 locale
100,64,1,0/24 local
192.168.0.0/16 vgw-id

Activer la communication entre des réseaux qui se chevauchent

Vous pouvez utiliser une passerelle NAT privée pour activer la communication entre les réseaux même s'ils ont des plages d'adresses CIDR qui se chevauchent. Par exemple, supposons que les instances du VPC A aient besoin d'accéder aux services fournis par les instances du VPC B.

Deux VPC avec des plages d'adresses CIDR qui se chevauchent.

Présentation

Le schéma suivant illustre les principaux composants pour la configuration de ce scénario. Tout d'abord, votre équipe de gestion des adresses IP détermine quelles plages d'adresses peuvent se chevaucher (plages d'adresses non routables) et lesquelles ne le peuvent pas (plages d'adresses routables). L'équipe de gestion des adresses IP alloue des plages d'adresses du groupe de plages d'adresses routables aux projets à la demande.

Chaque VPC a sa plage d'adresses IP d'origine, qui n'est pas routable, plus la plage d'adresses IP routables qui lui est attribuée par l'équipe de gestion des adresses IP. Le VPC A possède un sous-réseau de sa plage routable avec une passerelle NAT privée. La passerelle NAT privée obtient son adresse IP à partir de son sous-réseau. Le VPC B possède un sous-réseau provenant de sa plage routable avec un Application Load Balancer. L'Application Load Balancer obtient ses adresses IP à partir de ses sous-réseaux.

Le trafic d'une instance du sous-réseau non routable du VPC A destiné aux instances du sous-réseau non routable du VPC B est envoyé via la passerelle NAT privée, puis acheminé vers la passerelle de transit. La Transit Gateway envoie le trafic à l'Application Load Balancer, qui achemine le trafic vers l'une des instances cibles dans le sous-réseau non routable de VPC B. Le trafic de la Transit Gateway à l'Application Load Balancer a l'adresse IP source de la passerelle NAT privée. Par conséquent, le trafic de réponse de l'équilibreur de charge utilise l'adresse de la passerelle NAT privée comme destination. Le trafic de réponse est envoyé à la passerelle de transit, puis acheminé vers la passerelle NAT privée, qui traduit la destination vers l'instance dans le sous-réseau non routable du VPC A.

Un VPC avec une passerelle NAT privée et une passerelle de transit pour permettre la communication entre les VPC avec un bloc d'adresses CIDR qui se chevauche.

Ressources

Créez ou mettez à jour des ressources comme suit :

  • Associez les plages d'adresses IP routables attribuées à leurs VPC respectifs.

  • Créez un sous-réseau dans le VPC A à partir de sa plage d'adresses IP routables et créez une passerelle NAT privée dans ce nouveau sous-réseau.

  • Créez un sous-réseau dans le VPC B à partir de sa plage d'adresses IP routables et créez un Application Load Balancer dans ce nouveau sous-réseau. Enregistrez les instances dans le sous-réseau non routable avec le groupe cible pour l'équilibreur de charge.

  • Créez une passerelle de transit pour connecter les VPC. Assurez-vous de désactiver la propagation de l'acheminement. Lorsque vous attachez chaque VPC à la passerelle de transit, utilisez la plage d'adresses routables du VPC.

  • Mettez à jour la table de routage du sous-réseau non routable dans le VPC A pour envoyer tout le trafic destiné à la plage d'adresses routables du VPC B vers la passerelle NAT privée. Mettez à jour la table de routage du sous-réseau routable dans le VPC A pour envoyer tout le trafic destiné à la plage d'adresses routables du VPC B vers la passerelle de transit.

  • Mettez à jour la table de routage du sous-réseau routable dans le VPC B pour envoyer tout le trafic destiné à la plage d'adresses routables du VPC A vers la passerelle de transit.

Routage

Voici la table de routage pour le sous-réseau non routable dans le VPC A.

Destination Cible
10,0.0.0/16 locale
100,64,1,0/24 local
100,64,2,0/24 nat-gateway-id

Voici la table de routage pour le sous-réseau routable dans le VPC A.

Destination Cible
10,0.0.0/16 locale
100,64,1,0/24 local
100,64,2,0/24 transit-gateway-id

Voici la table de routage pour le sous-réseau non routable dans le VPC B.

Destination Cible
10,0.0.0/16 locale
100,64,2,0/24 local

Voici la table de routage pour le sous-réseau routable dans le VPC B.

Destination Cible
10,0.0.0/16 locale
100,64,2,0/24 local
100,64,1,0/24 transit-gateway-id

Voici la table de routage de passerelle de transit.

CIDR Réseau de transit par passerelle Type de routage
100,64,1,0/24 Attachement pour le VPC A Statique
100,64,2,0/24 Attachement pour le VPC B Statique