2017-09-13 3 views
0

Ich habe einen ECS-Cluster, wo ich ein paar Dienste ausgeführt habe. Alle haben ihren eigenen Load Balancer, also habe ich für jeden Dienst eine URL wie http://my-service-1234554321.eu-west-1.elb.amazonaws.com. Aber ich möchte nur einen Dienst von all diesen (zB 10) Diensten für die ganze Welt öffnen, während alle anderen ich verborgen bleiben möchte und nur über Dienste in diesem Cluster über HTTP auf sie zugreifen kann. Ist es möglich und wie kann ich das tun?Microservice-Sicherheit mit AWS

Antwort

0

, wenn Sie diese .htaccess wie folgt sind (Deny all, allow only one IP through htaccess) werden Sie wahrscheinlich bekommen, was Sie brauchen :)

Wenn die anderen Dienste sind Loadbalancer für eine Haupt dns positionned sind, werden sie nicht der Lage sein, zu balancieren richtig so stellen Sie sicher, einige der „private“ Server aus dem SRV-Datensatz für die Haupt-URL sind :)

+1

äh, das fragt der Fragesteller nicht. Die verknüpfte Antwort dient zum Zulassen einer bestimmten Client-IP. Die Frage ist, wie man einen einzelnen Serverdienst für alle IP – Vorsprung

+0

ooh, mein baaad erlaubt. : '( –

0

Elastic Load Balancer internet facing (aus dem Internet für den Verkehr geöffnet) entweder sein oder internal Verblendung (Annahme von Datenverkehr aus innerhalb einer VPC).

Wenn Sie den Lastenausgleich für Ihren Dienst erstellen, geben Sie das Schema als internal für die Dienste an, auf die Sie nur innerhalb des Clusters zugreifen möchten. Für den Dienst, der extern sein muss, legen Sie ihn als internet facing fest.

In der ECS-Dokumentation wird das Load Balancer-Schema here festgelegt.

Denken Sie daran, dass ein Load Balancer nicht gleichzeitig internet facing und internal sein kann. Wenn Sie entscheiden, dass Sie zu einem späteren Zeitpunkt interne Dienste über das Internet bereitstellen möchten, müssen Sie wahrscheinlich einen zweiten internet facing ELB dafür erstellen.

+0

Und ich kann einige Routen nicht so einrichten, dass sie "intern" und einige "internet" sind? –

+0

Intern/extern Ist ein Attribut des gesamten Balancers. –

+0

@ Michael-sqlbot - sqlbot Ich meine, ist es möglich, 2 zu verwenden Load Balancer für einen Dienst: 'Internet' für die Routen'/api/* 'und' internal' für die Routen '/ some-route/*' –