Elastic Load Balancing sowohl interne als auch internet-orientierte
Wir versuchen, zu verwenden Elastic Load Balancing in AWS auto-scaling, so dass wir skalieren können, in die und aus, wie gebraucht.
Unsere Anwendung besteht aus mehreren kleineren Anwendungen, Sie sind alle auf dem gleichen Subnetz und der gleichen VPC.
Wir wollen unseren ELB zwischen unsere apps und den rest.
Problem ist, dass wir wollen, dass der load balancer arbeiten beide intern zwischen verschiedenen apps über eine API und auch internet verbundenen, weil unsere Anwendung noch einige Nutzung, die getan werden sollte extern und nicht über die API.
Ich dies gelesen habe Frage aber ich konnte nicht herausfinden, wie genau es dort tun, wird es nicht wirklich geben keine Schritte, oder vielleicht habe ich verstehe es sehr gut.
Können, haben wir ein ELB, der sowohl interne als auch externe?
Für den Datensatz, ich nur Zugriff auf das Netzwerk über einen VPN -.
InformationsquelleAutor engma | 2016-04-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es nicht möglich, für einen Elastic Load Balancer haben beide eine öffentliche IP-Adresse und eine private IP-Adresse. Es wird der eine oder andere, aber nicht beides.
Wenn Sie möchten, dass Ihre ELB, um eine private IP-Adresse, dann kann es nicht hören, Anforderungen aus dem internet.
Wenn dein ELB ist öffentlich zugänglich, Sie können noch so nennen, um es von Ihrem internen EC2-instances mit den öffentlichen Endpunkt. Es gibt jedoch einige Vorbehalte, das geht mit diesem:
Gibt es 3 alternative Szenarien:
Das ist eigentlich nicht wahr, @DaryL schon geschrieben in seiner Antwort. Sie können lookup-die internen ip-Adressen über die AWS-API-und SDK, und dann erstellen Sie Ihre eigenen DNS-Eintrag in Route53 an diese Adressen. Aktualisierung alle 5 Minuten sollte genug sein, aber es ist sicher etwas zu setzen, wie HAProxy in zwischen, um sicherzustellen, dass alle IPs sind noch am Leben. Oder verwenden Sie Route53 healthchecks, aber ich denke, das kann ziemlich teuer werden.
InformationsquelleAutor Matt Houser
Stimme ich mit @MattHouser Antwort. Tatsächlich, in einer VPC, Ihren ELB haben alle Ihre internen Schnittstellen aufgelistet in der Netzwerk-Schnittstellen mit der Öffentlichen IP UND Primäre private IP.
Getestet hab ich die private IP von meinem öffentlichen ELB es funktioniert und es ist genau wie das äußere.
Das problem ist : diese IPs sind nicht aufgeführt, die irgendwo in einem up-to-date Weise wie auf einer privaten ELB DNS. So haben Sie es selbst tun.
Habe ich eine kleine POC Skript auf dieser, mit einem internen Route53 gehostete zone : https://gist.github.com/darylounet/3c6253c60b7dc52da927b80a0ae8d428
Seien Sie vorsichtig, auf das AWS-forum-thread, Sie reden über die öffentlichen IPs. Das Skript, das ich geben anmelden private ELB IPs in einer privaten zone Route53. Beide öffentlichen und privaten ELB IPs dynamisch sind, so müssen Sie starten Sie dieses Skript regelmäßig in einen crontab zum Beispiel. Ich habe es in der Produktion seit 1 Jahr ohne jedes problem und ich starte das Skript alle 5 Minuten in eine crontab.
InformationsquelleAutor DaryL
Die standard-AWS-Lösung wäre eine zusätzliche interne ELB.
Sieht aus wie @DaryL hat einen interessanten workaround, aber es konnte nicht für 5 Minuten, wenn der DNS nicht aktualisiert. Auch gibt es keine Möglichkeit, eine separate Sicherheits-Gruppe für die internen IP-Adressen, da Sie teilen sich die ENI und die Sicherheit der externen IP des ELB.
InformationsquelleAutor AstroTom
Stand ich vor der gleichen Herausforderung, und ich kann bestätigen, die beste Lösung bisher ist, zwei verschiedene ALBs, eine Internetverbindung und die andere interne. Befestigen Sie die beiden ALBs zu einem einzigen Autoskalierender-Gruppe, so dass Sie Zugriff auf die gleichen cluster.
Stellen Sie sicher, dass die Netzwerk-Optionen (Subnetze, Sicherheits-Gruppen) sowohl in ALBs sind die gleichen, damit beide Zugriff auf den gleichen cluster-Instanzen. Autoskalierender und Starten Sie die Konfiguration funktioniert nahtlos mit ALBs an die gleichen AutoSacling Gruppe. Dies funktioniert auch mit ALBs erstellt von ElasticBeanstalk Umgebungen.
InformationsquelleAutor Mauricio Sánchez