web-dev-qa-db-ger.com

AWS Load Balancer mit einer statischen IP-Adresse

Ich habe ein Setup in der Amazon Cloud mit einigen EC2-Instances, die durch einen Load Balancer laufen.

Es ist wichtig, dass die Site über eine eindeutige (statische) IP-Adresse oder einen Satz von IP-Adressen verfügt, da Drittanbieter-APIs verwendet werden, die nur Anfragen von IP-Adressen akzeptieren, die der Whitelist hinzugefügt wurden. 

Wenn wir diesen Dritten also keine statische IP-Adresse oder einen Bereich von IPs geben können, von dem die Anforderungen der Site immer stammen, können wir sie nicht anrufen.

Jeder weiß, wie man das erreichen kann, da ich weiß, dass elastische IPs nicht mit Load Balancern kompatibel sind?

Wenn ich die IP des DNS-Namens des Load-Balancers nachschlagen würde (z. B. dualstack.awseb-BAMobile-ENV-xxxxxxxx.eu-west-1.elb.amazonaws.com löst den 200.200.200.2004 aus), wäre diese IP statisch?

Jede Hilfe/Beratung wird sehr geschätzt, Jungs.

42
user965904

Die IP-Adressen Ihres Load Balancer sind nicht statisch. In jedem Fall wird Ihre IP-Adresse für den eingehenden Load Balancer nicht für ausgehende Verbindungen verwendet.

Sie können den tatsächlichen Instanzen hinter dem Load Balancer elastische IPs zuweisen, die dann für ausgehende Anforderungen verwendet werden. Du bekommst 5 elastische Ips, und ich glaube, du kannst mehr davon beantragen, wenn du sie brauchst.

Wenn Sie eine VPC verwenden und sich Ihre Instanzen in einem privaten Subnetz befinden, können sie außerdem nur über die von Ihnen eingerichteten NAT -Instanzen auf das Internet zugreifen und Sie können dem NAT -Instanzen

18

Sie können eine additional ENI (Elastic Network Interface) an eine Instanz in Ihrer VPC anhängen. Auf diese Weise leitet der ELB (Elastic Load Balancer) die eingehenden Internetanfragen an den Webserver weiter, und die zusätzliche ENI wird für die Verbindung zu Ihren Anforderungen von Drittanbietern (oder internen) verwendet (Verwaltungsnetzwerk)

Weitere Details dazu finden Sie in den VPC-Dokumentationen

8
Guy

Dies ist eine alte Frage, aber die Dinge haben sich jetzt geändert.

Jetzt können Sie eine Netzwerk-ELB erstellen, um eine LB mit einer statischen IP-Adresse zu erhalten.

aus https://docs.aws.Amazon.com/elasticloadbalancing/latest/network/introduction.html

  • Unterstützung für statische IP-Adressen für den Load Balancer. Sie können auch Jedem aktivierten Subnetz eine elastische IP-Adresse zuweisen Balancer.

https://aws.Amazon.com/blogs/aws/new-network-load-balancer-effortless-scaling-to-millions-of-requests-per-second/

5
Anshu Prateek

Die einzige Möglichkeit, die mir dabei bewusst ist, besteht darin, Ihre Instanzen in einer VPC einzurichten und dedizierte NAT -Instanzen zu haben, durch die der gesamte ausgehende Datenverkehr geleitet wird.

Hier ist ein Link zur AWS-Dokumentation zum Einrichten von NAT -Instanzen:

http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html

5
Mike Brant

Sie KÖNNEN den Instanzen eine elastische IP-Adresse anhängen, ABER NICHT an die ELB (die der Client sieht).

Sie können einen vollständigen Load Balancer für die umgekehrte Proxy-Ebene 7 verwenden, z. B. HAProxy :

Oder eine kommerzielle Implementierung wie Loadbalancer.org oder Riverbed (Zeus)

Beide befinden sich im AWS Marketplace :

4

Sie können einen DNS-Dienst wie DNSMadeeasy verwenden, der "ANAME" -Datensätze zulässt. Diese verhalten sich wie ein A-Datensatz, können jedoch auf einen FQDN oder eine IP-Adresse gerichtet werden. In diesem Fall können Sie also auf die ELB-DNS verweisen.

Dave

0
Dave Meadowhill

Ihre ausgehenden Anfragen an Ihre APIs von Drittanbietern gehen NICHT über die ELB/ALB aus. Das ist für eingehende Verbindungen. Wenn Sie eine eingehende statische IP-Adresse benötigen, müssen Sie wahrscheinlich auf den Loadbalancer verzichten (oder herausfinden, wie Sie Anshus Vorschlag zum Anbringen einer elastischen IP-Adresse an die Loadbalancer implementieren. Das Dokument enthält nur wenige Details). Update: Ich habe eine Dokumentation gefunden, dass ALB statische Adressen verwendet (und ich habe gerade versucht, eine elastische IP-Adresse an eine zu binden, um sicher zu gehen, dass diese fehlgeschlagen ist.) Wenn Sie über ausgehende Verbindungen sprechen, siehe unten:

  • Wenn Ihr Server in einem öffentlichen Subnetz bereitgestellt wird, können Sie diesem Host eine Elastische IP-Adresse zuordnen. Ausgehende Kommunikationen gehen über diese Adresse hinaus.
  • Wenn Ihr Server in einem privaten Subnetz bereitgestellt wird, ist ein Ein NAT - Gateway angeschlossen. Der gesamte ausgehende Datenverkehr von Ihrem privaten Subnetz wird über diese Schnittstelle ausgegeben.
0
jorfus

Sie können die bereits erwähnte Appliance loadbalancer.org in AWS verwenden. Es würde die AWS NAT -Instanz ersetzen und eine größere Funktionalität bieten und sowohl Layer4 als auch Layer7 zusammen mit einer SSL-Terminierung und einem WAF enthalten. 

Am besten erhalten Sie in Ihrer 30-tägigen Testversion von AWS kostenlosen Support, der Sie bei der Inbetriebnahme unterstützt. 

Ja, ich bin voreingenommen, da ich für loadbalancer.org arbeite. Ich würde jedoch sagen, dass nichts gewagtes nichts gewagt hat. 

0
Andrew Smalley