Was ist der Unterschied zwischen dem Festlegen von AWS Load Balancer auf VPC-intern und dem Festlegen entsprechender eingehender Regeln?

1

Ich richte einen API-Endpunkt ein, auf den ich nur von anderen Anwendungen in meiner VPC aus zugreifen möchte.

Die App ist auf Elastic Beanstalk und es scheint, dass ich meinen Load Balancer entweder auf Intern oder Öffentlich einstellen kann. AWS gibt diese Erklärung:

Make your load balancer internal if your application serves requests only from connected VPCs. Public load balancers serve requests from the Internet.

Ich hatte vor, den Load Balancer / die App zu veröffentlichen und nur eingehende Regeln festzulegen, um den Datenverkehr von anderen Anwendungen innerhalb der VPC zu beschränken.

Was ist der Unterschied zwischen der Auswahl dieser Option und der Veröffentlichung des Lastenausgleichs und dem Festlegen der Sicherheitsgruppe, dass nur eingehende Anforderungen von meiner VPC zugelassen werden? Ist es nicht effektiv das gleiche?

bones225
quelle

Antworten:

1

Es ist nicht gleichbedeutend.

Wenn Sie den Load Balancer auf "Intern" einstellen, erhalten die Load Balancer-Netzwerkschnittstellen nur private IP-Adressen entsprechend den Verfügbarkeitszonen und Subnetzen, in denen Sie sie platzieren. Nur Systeme, die eine interne IP-Adresse verwenden, die an die Load Balancer-IPs weitergeleitet werden kann, können dies um auf den Load Balancer zuzugreifen. Dies bedeutet, dass sich die Clients in derselben VPC befinden oder über VPN, Direct Connect usw. verbunden sein müssen.

Wenn Sie den Load Balancer auf Öffentlich einstellen, erhält der Load Balancer öffentliche IP-Adressen für die externen Schnittstellen und private IP-Adressen für die internen Schnittstellen entsprechend den Verfügbarkeitszonen und Subnetzen, in denen Sie ihn platzieren. Aus diesem Grund werden eingehende Anforderungen an den Load gesendet Balancer wird über das öffentliche Internet mit öffentlichen IP-Adressen betrieben - auch wenn es von einem Client stammt, der sich in derselben Verfügbarkeitszone befindet wie der Load Balancer. Dies bedeutet auch, dass sowohl der Load Balancer als auch die Clientsysteme Zugang zum öffentlichen Internet benötigen. Wenn sie sich in AWS befinden, bedeutet dies, dass sie in einem Subnetz platziert werden müssen, das als öffentlich konfiguriert ist und über ein Internet-Gateway verfügt. Wenn Sie den Zugriff auf Basis einer Sicherheitsgruppe filtern möchten, müssen Sie ihn auf Basis der öffentlichen IP-Adressen Ihrer Client-Systeme filtern.

Auf der internen Seite der Dinge (dh zwischen dem Load Balancer und dem Server) ändert sich nichts. Der Server / Dienst sieht nur Verbindungen von den internen IP-Adressen des Load Balancers.

Der große Unterschied besteht also direkter darin, dass die Verbindungen zwischen dem Client und einem internen Load Balancer privat sind und in Ihrer VPC verbleiben, oder dass die Verbindungen zwischen dem Client und dem öffentlichen Load Balancer öffentlich sind und das öffentliche Internet durchlaufen, auch wenn dies bedeutet befindet sich irgendwo im AWS-Rechenzentrum. Dies wirkt sich direkt auf Ihre Sicherheitsgruppen aus, wenn diese private oder öffentliche IP-Adressen verwenden.

Appleoddity
quelle
Super hilfreich, danke. Bei Sicherheitsgruppen sieht es also so aus, als würde der Datenverkehr die VPC verlassen und dann in die VPC zurückkehren. Wenn Sie es intern lassen, müssen Sie den Datenverkehr nicht mehr verlassen.
Bones225
@ bones225 ja. Genau.
Appleoddity