AWS VPC – Passerelle Internet vs. NAT

Qu’est-ce qu’une passerelle Internet? Qu’est-ce qu’une instance NAT? Quels services offrent-ils?

En lisant la documentation AWS VPC, je suppose qu’ils mappent les adresses IP privées sur les adresses Internet pour les demandes sortantes et acheminent les réponses entrantes depuis Internet vers le demandeur sur le sous-réseau.

Alors, quelles sont les différences entre eux? Quels scénarios utilise-t-on une instance NAT au lieu (ou en plus) d’une passerelle Internet? S’agit-il essentiellement d’instances EC2 exécutant certaines applications réseau ou s’agit-il d’un matériel spécial tel qu’un routeur?

Au lieu de simplement pointer vers les liens de la documentation AWS, pouvez-vous les expliquer en ajoutant des informations de base sur ce que sont les sous-réseaux publics et privés? Aussi, quand dois-je utiliser une passerelle NAT au lieu d’une instance NAT?

PS Je suis nouveau sur AWS VPC, donc je comparerais des pommes à des oranges ici.

Passerelle Internet

Une passerelle Internet est une connexion logique entre un Amazon VPC et Internet . Ce n’est pas un périphérique physique. Un seul peut être associé à chaque VPC. Cela ne limite pas la bande passante de la connectivité Internet. (La seule limitation de la bande passante est la taille de l’instance Amazon EC2, et elle s’applique à tout le trafic – interne au VPC et à Internet.]

Si un VPC ne possède pas de passerelle Internet, les ressources du VPC ne sont pas accessibles depuis Internet (à moins que le trafic ne circule via un réseau d’entreprise et VPN / Direct Connect).

Un sous-réseau est considéré comme un sousréseau public s’il possède une table de routage qui dirige le trafic vers la passerelle Internet.

Instance NAT

Une instance NAT est une instance Amazon EC2 configurée pour transférer le trafic vers Internet. Il peut être lancé depuis une AMI existante ou peut être configuré via des données utilisateur comme ceci:

#!/bin/sh echo 1 > /proc/sys/net/ipv4/ip_forward echo 0 > /proc/sys/net/ipv4/conf/eth0/send_redirects /sbin/iptables -t nat -A POSTROUTING -o eth0 -s 0.0.0.0/0 -j MASQUERADE /sbin/iptables-save > /etc/sysconfig/iptables mkdir -p /etc/sysctl.d/ cat < /etc/sysctl.d/nat.conf net.ipv4.ip_forward = 1 net.ipv4.conf.eth0.send_redirects = 0 EOF 

Les instances d’un sous-réseau privé souhaitant accéder à Internet peuvent voir leur trafic lié à Internet transféré vers l’instance NAT via une configuration de table de routage. L’instance NAT enverra alors la demande à Internet (car elle se trouve dans un sous-réseau public) et la réponse sera renvoyée à l’instance privée.

Le trafic envoyé à une instance NAT est généralement envoyé à une adresse IP non associée à l’instance NAT elle-même (elle sera destinée à un serveur sur Internet). Par conséquent, il est important de désactiver l’option Vérification de la source / destination sur l’instance NAT, sinon le trafic sera bloqué.

Passerelle NAT

AWS a introduit un service de passerelle NAT pouvant remplacer une instance NAT. Les avantages de l’utilisation d’un service de passerelle NAT sont les suivants:

  • C’est un service entièrement géré – créez-le et cela fonctionne automatiquement, y compris le basculement
  • Il peut éclater jusqu’à 10 Gbps (une instance NAT est limitée à la bande passante associée au type d’instance EC2)

Toutefois:

  • Les groupes de sécurité ne peuvent pas être associés à une passerelle NAT
  • Vous aurez besoin d’un dans chaque AZ car ils ne fonctionnent que dans une seule AZ

En ce qui concerne la passerelle NAT et l’instance NAT, l’une ou l’autre fonctionnera. Une instance NAT peut être un peu moins chère, mais la passerelle NAT est entièrement gérée par AWS, elle a donc l’avantage de ne pas avoir besoin de gérer une instance EC2 uniquement pour NATing.

Cependant, pour les instances devant être disponibles sur Internet, la passerelle / les instances NAT ne sont pas ce que vous recherchez. Un NAT permettra aux instances privées (sans IP publique) d’accéder à Internet, mais pas l’inverse. Ainsi, pour les instances EC2 devant être disponibles sur Internet, vous devez atsortingbuer une adresse IP publique. Il y a une solution de contournement si vous avez vraiment besoin de garder les instances EC2 privées – vous pouvez utiliser un équilibreur de charge élastique pour proxy les requêtes.

Passerelles Internet

La passerelle Internet est la manière dont votre VPC se connecte à Internet. Vous utilisez une passerelle Internet avec une table de routage pour indiquer au VPC comment le trafic Internet parvient à Internet.

Une passerelle Internet apparaît dans le VPC comme un nom. Amazon gère la passerelle et vous n’avez rien à dire (à part l’utiliser ou non; rappelez-vous que vous pourriez vouloir un sous-réseau complètement segmenté qui ne peut pas du tout accéder à Internet).

Un sous-réseau public désigne un sous-réseau dont le trafic Internet est acheminé via la passerelle Internet d’AWS. Toutes les instances d’un sous-réseau public peuvent être associées à une adresse IP publique (par exemple, une instance EC2 avec l’option “associer l’adresse IP publique” activée).

Un sous-réseau privé signifie que les instances ne sont pas accessibles au public depuis Internet. Ils n’ont pas d’adresse IP publique. Par exemple, vous ne pouvez pas y accéder directement via SSH. Les instances sur les sous-réseaux privés peuvent toujours accéder à Internet elles-mêmes (par exemple, en utilisant une passerelle NAT).

La passerelle Internet est utilisée pour connecter un vpc à Internet et la passerelle NAT est utilisée pour connecter le sous-réseau privé à Internet (ce qui signifie que le trafic arrive à l’instance de sous-réseau privé qui sera transmise à la passerelle NAT). vous devez transférer le trafic dans la table de routage à NAT

Tableau des itinéraires 0.0.0.0/0