201 votes

AWS VPC - Internet Gateway vs NAT

Ce qui est une Passerelle Internet? Ce qui est une Instance NAT? Quels services offrent-ils?

La lecture AWS VPC de documentation, je pense qu'elle à la fois la carte des adresses IP privées de trajet d'internet-mesure des adresses pour les demandes sortantes et l'itinéraire de la future réponses à partir de l'internet pour le demandeur sur le sous-réseau.

Quelles sont donc les différences entre eux? Dans quels cas dois-je utiliser une Instance NAT au lieu de (ou en plus) d'une Passerelle Internet? Sont-ils essentiellement des instances EC2 exécutant certaines applications de réseau ou sont-ils un matériel spécial comme un routeur?

Au lieu de simplement en pointant à AWS, des liens vers la documentation, pouvez-vous expliquer ces avec l'ajout d'un peu de fond sur ce qui est public et privé sous-réseaux afin de n'importe quel débutant avec une connaissance limitée de la mise en réseau peut comprendre ces facilement? Aussi quand dois-je utiliser une Passerelle NAT au lieu d'une instance NAT?

P. S. je suis nouveau sur AWS VPC, donc j'ai peut-être comparer des pommes à des oranges ici.

222voto

John R Points 11

Passerelle Internet

Une Passerelle Internet est une connexion logique entre Amazon VPC et Internet. C'est pas un périphérique physique. Un seul peut être associé à chaque VPC. Il n'est pas de limiter la bande passante de la connexion Internet. (La seule limitation de bande passante, il est de la taille de l'instance Amazon EC2, et il s'applique à l'ensemble du trafic -- interne de la VPC et à l'Internet.)

Si un VPC ne pas avoir une Passerelle Internet, alors les ressources de la VPC ne peut pas être accessible à partir de l'Internet (à moins que le flux de trafic par l'intermédiaire d'un réseau d'entreprise et VPN/Direct Connect).

Un sous-réseau est réputé être un sous-réseau Public s'il possède une Table de routage qui dirige le trafic vers la Passerelle Internet.

NAT Exemple

Un NAT Instance est une instance Amazon EC2 configuré pour rediriger le trafic Internet. Il peut être lancé à partir d'un AMI, ou peut être configuré à l'aide de Données de l'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

Les Instances dans un sous-réseau privé qui veulent accéder à l'Internet peuvent avoir leur site Internet lié au trafic transmis à l'Instance NAT via un Itinéraire de configuration de la Table. L'Instance NAT va alors faire la demande sur Internet (depuis qu'il est 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é à l'Instance NAT lui-même (il sera destiné à un serveur sur Internet). Par conséquent, il est important d'éteindre la Source/Destination, Cochez l'option sur l'Instance NAT sinon, le trafic sera bloqué.

Passerelle NAT

AWS a introduit une Passerelle NAT Service qui peut prendre la place d'une Instance NAT. Les avantages de l'utilisation d'une Passerelle NAT service sont les suivants:

  • C'est un service entièrement géré -- viens de le créer et il fonctionne automatiquement, y compris le fail-over
  • Il peut en rafale jusqu'à 10 Gbit / s (une Instance NAT est limitée à la largeur de bande associée à l'instance EC2 type)

Cependant:

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

119voto

error2007s Points 8234

Aussi loin que passerelle NAT vs NAT exemple, les deux marchent. Une instance NAT peut être un peu moins cher, mais la passerelle NAT est entièrement géré par AWS, il a l'avantage de ne pas avoir à maintenir une instance EC2 juste pour Nat.

Toutefois, pour les instances qui doivent être disponibles à l'Internet, la passerelle NAT/instances ne sont pas ce que vous cherchez. Un NAT permettra d'instances privées (sans IP publique) pour accéder à Internet, mais pas l'inverse. Ainsi, pour les instances EC2 qui doivent être disponibles à l'Internet, vous devez attribuer une adresse IP publique. Il existe une solution de contournement si vous avez vraiment besoin de garder les instances EC2 privé, vous pouvez utiliser un elastic load balancer à la procuration de la demande.

Les Passerelles Internet

La Passerelle Internet est de savoir comment votre VPC se connecte à internet. Vous utilisez une Passerelle Internet avec une table de routage pour dire la VPC comment internet du trafic de l'internet.

Une Passerelle Internet apparaît dans la VPC comme juste un nom. Amazon gère la passerelle et il n'y a rien de vraiment avoir un mot à dire dans (autre que de l'utiliser ou pas; souvenez-vous que vous pourriez vouloir un complètement sectorielle de sous-réseau qui ne peuvent pas accéder à internet).

Un sous-réseau public désigne un sous-réseau qui a internet le trafic acheminé via AWS de la Passerelle Internet. Toute instance au sein d'un sous-réseau public peut avoir une adresse IP publique (par exemple, une instance EC2 avec "associer une adresse ip publique" est activé).

Un sous-réseau privé signifie que les instances ne sont pas publiquement accessibles depuis l'internet. Ils n'ont PAS une 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 à l'internet eux-mêmes (c'est à dire en utilisant une Passerelle NAT).

11voto

GNK Points 176

Passerelle Internet est utilisé pour connecter un vpc à internet et passerelle NAT est utilisé pour connecter le sous-réseau privé à internet (ce qui signifie ce que jamais trafic arrive en instance de sous-réseau privé qui transmettra à la passerelle NAT). vous avez besoin transférer le trafic dans la table de routage nat

Parcours tableau 0.0.0.0/0

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X