Wie hänge ich eine Elastic IP an eine Elastic Beanstalk-App an?

9

Ich kann einer einzelnen Instanz eine elastische IP geben. Kein Problem.

Aber ich habe eine Elastic Beanstalk App. Es kann nach Bedarf Instanzen erstellen und entfernen. Es hat einen Load Balancer. Wie kann ich diese Funktionen (Elastic IP und Elastic Beanstalk) zusammenarbeiten lassen?

Letztendlich möchte ich nur über meine Domain wie folgt auf meinen Server telefonieren: mydomain.com/someApiCall, und ich möchte mir keine Sorgen machen, dass meine elastische IP "getrennt" wird.

Geoff Noble
quelle

Antworten:

8

Dies ist derzeit nicht möglich und stellt tatsächlich eine Einschränkung des verwendeten Elastic Load Balancing (ELB) dar . Siehe z. B. Warum erlaubt Amazon nicht, einem Elastic Load Balancer eine Elastic IP zuzuweisen? ::

Der elastische Lastausgleich ist einfach eine Sammlung einzelner in EC2 gehosteter Software-Lastausgleicher, zwischen denen sich der DNS-Lastausgleichsverkehr befindet. Der Pool kann viele IPs enthalten, mindestens eine pro Verfügbarkeitszone und abhängig vom Verkehrsaufkommen.

Die Antwort von D.Svanlunds auf Load Balancer und elastische IP bietet eine gute Zusammenfassung, warum ELB auf diese Weise entwickelt wurde, und Shlomo Swidlers The „Elastic“ in „Elastic Load Balancing“: ELB Elasticity and How to Test bietet eine frühe, aber gründliche Beschreibung Analyse der ELB-Architektur und der Auswirkungen auf das Testen einer Webanwendung in diesem Zusammenhang.


Aktualisieren

Zu Ihrem Kommentar: Sie kommunizieren mit Ihrer AWS Elastic Beanstalk- Anwendung über den DNS-Namen, der dem Elastic Load Balancer zugeordnet ist, dem Sie wie gewohnt einen CNAME-Eintrag zuordnen können (siehe Übersicht über den Elastic Load Balancing) :

Elastic Load Balancing generiert automatisch einen DNS-Namen für jeden Load Balancer. Sie können dem automatisch generierten DNS-Namen mithilfe von CNAME einen anderen Domainnamen (z. B. www.example.com) zuordnen oder einen Amazon Route 53- Alias ​​für den DNS-Namen des Load Balancers verwenden.

Weitere Informationen finden Sie unter Verwenden von Domänennamen mit elastischem Lastausgleich. Hier wird beschrieben, wie Sie Ihre Instanz für den elastischen Lastausgleich einem benutzerdefinierten Domänennamen zuordnen - einschließlich Subdomänennamen und der Zonenspitze .

Steffen Opel
quelle
Wie kann ich mit Beanstalk eine API erstellen, wenn ich keine Anforderungen über den Load Balancer leiten kann? Wie kommuniziere ich richtig mit meiner Beanstalk-App?
Geoff Noble
1
@GeoffNoble: Ich bin nicht sicher, ob ich folgen kann. Warum sollte ein Aufruf von example.com/resource, der von einer auf Elastic Beanstalk gehosteten API bereitgestellt wird, nicht wie erwartet funktionieren? Ich habe meine Antwort bezüglich der Verwendung von Domainnamen mit elastischem Lastausgleich erweitert, um hoffentlich das zugrunde liegende Konzept zu klären - viel Glück!
Steffen Opel
1

Aber ich habe eine Elastic Beanstalk App. Es kann nach Bedarf Instanzen erstellen und entfernen. Es hat einen Load Balancer. Wie kann ich diese Funktionen (Elastic IP und Elastic Beanstalk) zusammenarbeiten lassen?

Ab September 2017 können Sie den Network Load Balancer in Beanstalk verwenden. Es unterstützt statische IP-Adressen für den Load Balancer. Sie können auch eine elastische IP-Adresse pro Subnetz zuweisen, die für den Load Balancer aktiviert ist.

ALex_hha
quelle
0

Wenn Sie über mydomain.com/someApiCall auf Ihre App zugreifen, ist die elastische IP nicht einmal im Bild. Der ElasticBeanstalk gibt Ihnen eine URL, die so aussieht:

http://myapp.elasticbeanstalk.com

Sie können Ihre Domain einfach an myapp.elasticbeanstalk.com weiterleiten

Dexin Wang
quelle