Comment attacher une adresse IP élastique à une application Elastic Beanstalk?

9

Je peux donner à une seule instance une adresse IP élastique. Aucun problème.

Mais j'ai une application Elastic Beanstalk. Il peut créer et supprimer des instances selon les besoins. Il a un équilibreur de charge. Comment puis-je faire fonctionner ensemble ces fonctionnalités (Elastic IP et Elastic Beanstalk)?

En fin de compte, tout ce que je veux faire est d'appeler mon serveur via mon domaine comme ceci: mydomain.com/someApiCall et je ne veux pas m'inquiéter que mon IP Elastic se "détache".

Geoff Noble
la source

Réponses:

8

Ce n'est actuellement pas possible et constitue en fait une limitation de l' Elastic Load Balancing (ELB) utilisé, voir par exemple pourquoi Amazon ne permet-il pas d'attribuer une IP Elastic à un Elastic Load Balancer? :

L'équilibreur de charge élastique est simplement une collection d'équilibreurs de charge logiciels individuels hébergés dans EC2, avec un trafic d'équilibrage de charge DNS entre eux. Le pool peut contenir de nombreuses adresses IP, au moins une par zone de disponibilité, et en fonction des niveaux de trafic.

La réponse de D.Svanlunds aux équilibreurs de charge et à l'IP élastique fournit un bon résumé de la raison pour laquelle ELB est conçu de cette façon, et «l'élastique» de Shlomo Swidler dans «Elastic Load Balancing»: ELB Elasticity et comment le tester fournit un premier mais en profondeur analyse de l'architecture ELB et des implications pour tester une application web dans ce contexte.


Mise à jour

Concernant votre commentaire: vous communiquez avec votre application AWS Elastic Beanstalk via le nom DNS mappé sur Elastic Load Balancer , auquel vous pouvez mapper un enregistrement CNAME à son tour comme d'habitude, consultez Vue d'ensemble d'Elastic Load Balancing :

Elastic Load Balancing génère automatiquement un nom DNS pour chaque équilibreur de charge. Vous pouvez mapper tout autre nom de domaine (tel que www.example.com) au nom DNS généré automatiquement à l'aide de CNAME ou utiliser un alias Amazon Route 53 pour le nom DNS de l'équilibreur de charge.

Pour plus de détails, consultez Utilisation de noms de domaine avec Elastic Load Balancing , qui décrit comment associer votre instance Elastic Load Balancing à un nom de domaine personnalisé, y compris les noms de sous-domaine et l'apex de zone .

Steffen Opel
la source
Comment puis-je créer une API avec Beanstalk si je ne peux pas diriger les demandes via l'équilibreur de charge? Comment puis-je communiquer correctement avec mon application Beanstalk?
Geoff Noble
1
@GeoffNoble: Je ne suis pas sûr de pouvoir suivre, pourquoi un appel à example.com/resource fourni par une API hébergée sur Elastic Beanstalk ne fonctionnerait-il pas comme prévu? J'ai élargi ma réponse concernant l' utilisation des noms de domaine avec l'équilibrage de charge élastique pour clarifier, espérons-le, le concept sous-jacent - bonne chance!
Steffen Opel
1

Mais j'ai une application Elastic Beanstalk. Il peut créer et supprimer des instances selon les besoins. Il a un équilibreur de charge. Comment puis-je faire fonctionner ensemble ces fonctionnalités (Elastic IP et Elastic Beanstalk)?

A partir de Septembre 2017 , vous pouvez utiliser équilibreur de charge réseau au sein Beanstalk. Il prend en charge les adresses IP statiques pour l'équilibreur de charge. Vous pouvez également attribuer une adresse IP Elastic par sous-réseau activé pour l'équilibreur de charge.

ALex_hha
la source
0

Si vous accédez à votre application via mydomain.com/someApiCall, l'adresse IP élastique n'est même pas dans l'image. ElasticBeanstalk vous donne une URL qui ressemble à ceci:

http://myapp.elasticbeanstalk.com

vous pouvez simplement transférer votre domaine vers myapp.elasticbeanstalk.com

Dexin Wang
la source