Ich habe eine harte Zeit herauszufinden, wie die richtigen SecurityGroup Regeln für meine LoadBalancer. Ich habe ein Diagramm gemacht, um zu versuchen und dieses Problem zu veranschaulichen, bitte unten einen Blick auf das Bild nehmen:So konfigurieren Sie AWS Internet mit LB SecurityGroup für interne und externe Anfragen
Ich habe eine Internet mit Blick auf LoadBalancer („Service A LoadBalancer“ im Diagramm), das angefordert wird "Inhouse" und von einem unserer ECS-Services ("Task B" im Diagramm). Für die Inhouse-Anfragen kann ich eine SecurityGroup-Regel für "Service A LoadBalancer" konfigurieren, die eine eingehende Anfrage an den LoadBalancer auf Port 80 von der CIDR für unsere internen IPs erlaubt. Kein Problem dort. Aber für den anderen ECS-Dienst, Aufgabe B, wie würde ich eine Regel hinzufügen (für "Service A SecurityGroup" im Diagramm), die nur Anfragen von Task B erlaubt? (oder nur von Aufgaben im ECS-Cluster). Da es sich um einen Internet Loadbalancer handelt, werden Anfragen von der öffentlichen IP der Maschine EC2 gestellt, nicht von der privaten (soweit ich das beurteilen kann?).
Ich kann natürlich eine Regel machen, die Anfragen auf Port 80 von 0.0.0.0/0 erlauben, und das würde funktionieren, aber das ist bei weitem nicht restriktiv genug. Und da es sich bei LoadBalancer um ein Internet handelt, wird das Hinzufügen einer Regel, die Anfragen von der "Cluster SecurityGroup" (im Diagramm) erlaubt, nicht abgeschnitten. Ich gehe davon aus, dass die LB nicht darauf schließen kann, von welcher SecurityGroup die Anfrage stammt, da sie auf das Internet ausgerichtet ist - und dass dies funktionieren würde, wenn es sich um einen internen LoadBalancer handeln würde. Aber ich kann keinen internen LoadBalancer verwenden, da dieser auch von außerhalb von AWS (Inhouse) angefordert wird.
Jede Hilfe würde geschätzt werden.
Dank Frederik
Danke für Ihre Antwort. Ich habe auch über beide Arten von LB nachgedacht (wir benutzen ALB), aber ich glaube, dass es nicht möglich ist, mehrere TargetGroups für den spezifischen ECS Service einzurichten. Da ECS dem Container die Zielgruppe zuweist (wir verwenden dynamische Port-Mapping, also ephemere Ports), müsste ich ihn im Wesentlichen zwei Zielgruppen zuweisen (eine für die interne LB und eine für die Internet-Ausrichtung). aber ECS erlaubt nur eine TG für den Service zu setzen, ODER, weisen Sie die Zielgruppe zwei LBs zu. Ich glaube, dass keine dieser Möglichkeiten möglich ist, wie haben Sie das gemacht? –
Zumindest haben wir andere Szenarien, in denen ein Service (Task) sowohl von einem anderen Service (der wiederum eine interne LB erfordert) als auch von einer Website, ClientSide, aufgerufen wird. In diesen Situationen wird die VPN-Lösung es nicht schneiden. –
Wir verwenden in diesem Beispiel auch ALB. Es ist zwar richtig, dass ein ECS-Service nur einer Zielgruppe zugeordnet werden kann, aber Sie können derselben Zielgruppe mehrere ALB-Listener-Regeln zuordnen. So machen wir das. Wir haben zwei Dienste, die auf internen und externen ALBs stehen. Dieselbe Zielgruppe wird nur mit Listener-Regeln für jeden internen und externen ALB verknüpft. Ich konnte bestätigen, dass wir heute Morgen so vorgehen.Sie können auch ein Limit erreichen, dass der ALB nur 10 Regeln unterstützt (gerade jetzt). Aus diesem Grund führen wir auch mehrere ALBs pro Cluster aus. – aaa572