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
, 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 :)
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.
Und ich kann einige Routen nicht so einrichten, dass sie "intern" und einige "internet" sind? –
Intern/extern Ist ein Attribut des gesamten Balancers. –
@ 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/*' –
- 1. Cloudflare Mit AWS ELB mit AWS certs
- 2. Invoke AWS Lambda mit AWS API Gateway
- 3. aws Rechnungsinformationen mit aws java sdk
- 4. AWS API Gateway mit AWS WAF
- 5. Verbindung mit Mysqldb auf AWS mit AWS Lambda-Funktion
- 6. CasperJs mit AWS Lambda
- 7. Eureka mit AWS ECS
- 8. Segel mit AWS XRAY
- 9. AWS SES mit Powershell
- 10. AWS ElasticGPU Mit Linux
- 11. Umgebungsvariablen mit AWS CodeDeploy
- 12. AWS Cognito mit Express
- 13. AWS S3 mit Grails
- 14. Redisson mit AWS Elasticache
- 15. Dynamische Website mit AWS
- 16. Anmelden mit AWS
- 17. AWS user_data mit Packer
- 18. AWS iot mit esp8266
- 19. Fehler mit AWS Lambda
- 20. Authentifizierung mit AWS Incognito
- 21. Laravel API mit AWS
- 22. AWS mit Moodle mit Lastausgleich
- 23. Verbinden mit AWS mit MQTT.js
- 24. AWS IoT-Taste verbindet sich nicht mit AWS IoT
- 25. Abmelden von AWS S3 mit AWS SDK iOS
- 26. Transfer von AWS S3 zu OneDrive mit AWS Lambda
- 27. Aws :: Fehler :: MissingCredentialsError in PostsController # Update mit Paperclip und AWS
- 28. Wie authentifiziert man Nicht-AWS-Apps mit AWS Directory Service?
- 29. Anmelden bei der AWS-Konsole mit AWS SDK iOS
- 30. Automatisierung mit AWS Elastic Beanstalk vs AWS CodeDeploy
ä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
ooh, mein baaad erlaubt. : '( –