AWS VPC - warum überhaupt ein privates Subnetz?


8

In Amazon VPC ermöglicht der Assistent zum Erstellen von VPCs das Erstellen eines einzelnen "öffentlichen Subnetzes" oder das Erstellen eines "öffentlichen Subnetzes" und eines "privaten Subnetzes" durch den Assistenten. Anfänglich schien die Option für öffentliches und privates Subnetz aus Sicherheitsgründen gut zu sein, sodass Webserver in das öffentliche Subnetz und Datenbankserver in das private Subnetz gestellt werden konnten.

Inzwischen habe ich jedoch erfahren, dass EC2-Instanzen im öffentlichen Subnetz nur über das Internet erreichbar sind, wenn Sie der EC2-Instanz ein Amazon ElasticIP zuordnen. Mit nur einer einzigen öffentlichen Subnetzkonfiguration könnte man sich also einfach dafür entscheiden, den Datenbankservern kein ElasticIP zuzuordnen und am Ende dieselbe Art von Sicherheit zu erhalten.

Kann jemand die Vorteile einer öffentlichen + privaten Subnetzkonfiguration erklären? Haben die Vorteile dieser Konfiguration eher mit der automatischen Skalierung zu tun, oder ist es tatsächlich weniger sicher, ein einziges öffentliches Subnetz zu haben?


EC2-Instanzen im öffentlichen Subnetz können auch ohne ElasticIP über das Internet erreicht werden - sie erhalten trotzdem eine öffentliche IP-Adresse. Der Unterschied zwischen dieser öffentlichen IP-Adresse und einem ElasticIP besteht einfach darin, dass sich die öffentliche IP-Adresse beim Neustart Ihrer Instanz ändern kann, während ein ElasticIP so lange bleibt, wie Sie möchten.
offby1

Antworten:


4

Es ist eine Sicherheitsgrenze, ein privates Subnetz zu haben, das Sie mit verschiedenen Sicherheitsgruppen aus dem öffentlichen Subnetz steuern können. Wenn eine Ihrer Instanzen im öffentlichen Subnetz gehackt wurde, ist es umso schwieriger, Instanzen im privaten Subnetz zu hacken, wenn Sie in Ihren Zugriffsrichtlinien nicht zu liberal sind.


1
Vielen Dank. VPC mit öffentlichem + privatem Subnetz scheint der richtige Weg zu sein, wenn AWS eine NAT-Instanz kostenlos einbinden würde. Ich denke an kleine Bereitstellungen und habe versucht herauszufinden, ob die monatlichen Kosten einer NAT-Instanz die Vorteile der 2-Subnetz-Konfiguration wert sind.
JKim

2
@jkim Es ist jetzt wesentlich günstiger, da sie endlich t1.microeine VPC unterstützen.
Jeffrey Hantin

2

Neben den Auswirkungen auf die Sicherheit kommt noch ein weiterer Aspekt ins Spiel: Wenn Sie Instanzen ohne elastische IP-Adressen den Zugriff auf das Internet ermöglichen möchten, benötigen Sie möglicherweise zwei (oder mehr) verschiedene Subnetze.

Um die AWS-Dokumentation zu umschreiben: Innerhalb einer VPC gibt es drei Möglichkeiten, Instanzen den Internetzugang zu ermöglichen:

  1. Elastische IPs - aber Sie bekommen standardmäßig nur 5, denke ich, und dann müssen Sie für mehr bezahlen
  2. Weiterleiten des Datenverkehrs über ein virtuelles privates Gateway - Dies erfordert eine Hardware-VPN-Verbindung zu Ihrem Unternehmens- (oder Heim-) Netzwerk
  3. Richten Sie eine NAT-Instanz ein und leiten Sie den gesamten ausgehenden Datenverkehr über das NAT weiter

Die dritte Option ist insofern interessant, als die NAT-Instanz in einem "öffentlichen" Subnetz sitzen muss, in dem der gesamte ausgehende Verkehr an ein Internet-Gateway geleitet wird, alle anderen Instanzen jedoch in einem "privaten" Subnetz, in dem sich der gesamte ausgehende Verkehr befindet an die NAT-Instanz weitergeleitet.

Kurz gesagt, wenn Sie ein NAT verwenden möchten, benötigen Sie mindestens 2 Subnetze.


Danke Tom. Ich denke, es ist auch möglich, 1 öffentliches Subnetz zu haben, aber nur der NAT-Instanz ein ElasticIP zuzuweisen. Die anderen Instanzen im öffentlichen Subnetz haben einen ausgehenden Internetzugang über das Internet-Gateway, und der eingehende Zugriff kann über Port Forwards auf der NAT-Instanz konfiguriert werden. Ich hatte das Gefühl, dass 2 Subnetze der "richtige" Weg sind, aber keinen kristallklaren Grund dafür sehen.
JKim
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.