2016-08-01 1 views
62

Qu'est-ce qu'une passerelle Internet? Qu'est-ce qu'une instance NAT? Quels services offrent-ils? Je comprends qu'ils lisent à la fois la documentation AWS VPC, qu'ils mappent des adresses IP privées à des adresses Internet routables pour les requêtes sortantes et acheminent les réponses entrantes d'Internet vers le demandeur sur le sous-réseau.AWS VPC - Passerelle Internet et NAT

Alors, quelles sont les différences entre eux? Dans quels scénarios est-ce que j'utilise une instance NAT au lieu de (ou en plus) une passerelle Internet? S'agit-il essentiellement d'instances EC2 exécutant des applications réseau ou s'agit-il de matériel spécial comme un routeur? Plutôt que de simplement pointer vers les liens vers la documentation AWS, pouvez-vous les expliquer en ajoutant quelques informations sur les sous-réseaux public et privé, afin que tout débutant ayant une connaissance limitée du réseau puisse les comprendre facilement? Quand dois-je utiliser une passerelle NAT au lieu d'une instance NAT?

P.S. Je suis nouveau à AWS VPC, donc je pourrais comparer des pommes à des oranges ici.

Répondre

70

passerelle Internet

Une passerelle Internet est un connexion logique entre une Amazone VPC et Internet. C'est pas un périphérique physique. Un seul peut être associé à chaque VPC. Il ne pas limiter la bande passante de la connectivité Internet. (La seule limitation de la bande passante est la taille de l'instance Amazon EC2 et s'applique à tout le trafic interne au VPC et à Internet.)

Si un VPC ne avoir une passerelle Internet, puis les ressources du VPC ne peuvent pas être accessibles à partir de l'Internet (à moins que le flux de trafic via un réseau d'entreprise et VPN/Direct Connect).

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

NAT Instance

Un NAT instance est une instance Amazon EC2 configuré pour transférer le trafic sur Internet. Il peut être lancé à partir d'un AMI existant, 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 <<EOF > /etc/sysctl.d/nat.conf 
net.ipv4.ip_forward = 1 
net.ipv4.conf.eth0.send_redirects = 0 
EOF 

instances dans un sous-réseau privé qui veulent accéder à Internet peuvent avoir leur trafic lié Internet transmis au NAT instance via une configuration de table de routage. L'instance NAT effectuera ensuite la requête sur Internet (puisqu'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 sera généralement envoyé à une adresse IP qui n'est pas 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 Source/Destination Check sur l'instance NAT sinon le trafic sera bloqué.

passerelle NAT

AWS a introduit une NAT Gateway Service qui peut prendre la place d'une instance NAT. Les avantages de l'utilisation d'un service de passerelle NAT sont:

  • Il est un service entièrement géré - il suffit de créer et il fonctionne automatiquement, y compris fail-over
  • Il peut éclater jusqu'à 10 Gbps (NAT instance est limitée à la bande passante associée au type d'instance EC2)

Cependant:

  • Groupes de sécurité ne peut pas être associé à un NAT Passerelle
  • Vous aurez besoin d'un dans chaque AZ, car ils ne fonctionnent que dans un seul AZ
37

En ce qui concerne la passerelle NAT par rapport à l'instance NAT, l'une ou l'autre fonctionne. Une instance NAT peut être un peu moins chère, mais la passerelle NAT est entièrement gérée par AWS, donc elle a l'avantage de ne pas avoir besoin de maintenir une instance EC2 juste pour le NATing. Cependant, pour les instances qui doivent être disponibles sur Internet, les passerelles/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 qui doivent être disponibles sur Internet, vous devez attribuer une adresse IP publique. Il existe une solution de contournement si vous devez vraiment garder les instances EC2 privées - vous pouvez utiliser un équilibreur de charge élastique pour proxy les demandes.

passerelles Internet

La passerelle Internet est la façon dont votre VPC se connecte à Internet. Vous utilisez une passerelle Internet avec une table de routage pour indiquer au VPC comment le trafic Internet arrive sur Internet.

Une passerelle Internet apparaît dans le VPC sous la forme d'un nom. Amazon gère la passerelle et il n'y a rien dans quoi vous avez vraiment un mot à dire (autre que de l'utiliser ou non, n'oubliez pas que vous pourriez vouloir un sous-réseau complètement segmenté qui ne peut pas accéder à Internet du tout). Un sous-réseau public désigne un sous-réseau dont le trafic Internet est acheminé via la passerelle Internet d'AWS. Toute instance au sein d'un sous-réseau public peut se voir attribuer une adresse IP publique (par exemple, une instance EC2 avec "l'adresse IP publique associée" 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 eux-mêmes (c'est-à-dire en utilisant une passerelle NAT).

+10

Meilleure réponse en termes de NAT vs passerelle Internet. – Tagar

0

passerelle Internet est utilisé pour connecter un vpc à la passerelle Internet et NAT est utilisé pour connecter le sous-réseau privé à la Internet (ce qui signifie que le trafic arrive à l'instance de sous-réseau privé qui transmettra à la passerelle NAT). vous devez transmettre le trafic dans la table de routage NAT

table Route 0.0.0.0/0