如何将Elastic IP附加到Elastic Beanstalk应用程序?


9

我可以给单个实例一个弹性IP。没问题。

但是我有一个Elastic Beanstalk应用程序。它可以根据需要创建和删除实例。它具有负载均衡器。我如何才能使这些功能(Elastic IP和Elastic Beanstalk)协同工作?

最终,我要做的就是通过这样的域通过mydomain.com/someApiCall来对服务器进行调用,而我不必担心我的Elastic IP会“分离”。

Answers:


8

当前这是不可能的,实际上是对所使用的弹性负载平衡(ELB)的限制,请参阅例如Amazon为什么不允许将弹性IP分配给弹性负载平衡器?

弹性负载平衡器只是EC2中托管的各个软件负载平衡器的集合,其中DNS负载平衡流量在其中。该池可以包含许多IP,每个IP可用区中至少一个IP,具体取决于流量级别。

D.Svanlunds对负载均衡器和弹性IP的回答很好地总结了为何以这种方式设计ELB,而Shlomo Swidler的“弹性负载平衡”中的“弹性”:ELB弹性及其测试方法提供了早期但深入的知识ELB体系结构的分析以及在这种情况下测试Web应用程序的含义。


更新资料

关于您的评论:您正在通过映射到Elastic Load Balancer的DNS名称与AWS Elastic Beanstalk应用程序进行通信,您可以像往常一样依次映射CNAME记录,请参阅Elastic Load Balancing概述

Elastic Load Balancing自动为每个负载均衡器生成一个DNS名称。您可以使用CNAME将其他任何域名(例如www.example.com)映射到自动生成的DNS名称,或将Amazon Route 53别名用作负载均衡器的DNS名称。

可以在将域名与Elastic Load Balancing结合使用中找到更多详细信息,它描述了如何将Elastic Load Balancing实例与自定义域名(包括子域名和区域顶点)相关联


如果无法通过负载均衡器定向请求,如何使用Beanstalk创建API?如何与Beanstalk应用正确通信?
Geoff Noble

1
@GeoffNoble:我不确定我是否可以遵循,为什么对由Elastic Beanstalk上托管的API提供的example.com/resource的调用无法按预期进行?我已经扩展了有关将域名与弹性负载平衡配合使用的答案,以期阐明基本概念-祝您好运!
Steffen Opel

1

但是我有一个Elastic Beanstalk应用程序。它可以根据需要创建和删除实例。它具有负载均衡器。我如何才能使这些功能(Elastic IP和Elastic Beanstalk)协同工作?

2017年9月开始,您可以在beantalk中使用网络负载平衡器。它为负载均衡器支持静态IP地址。您还可以为负载均衡器启用的每个子网分配一个弹性IP地址。


0

如果您通过mydomain.com/someApiCall访问您的应用程序,则弹性IP甚至不在图中。ElasticBeanstalk为您提供了一个如下所示的URL:

http://myapp.elasticbeanstalk.com

您可以将您的域名转发到myapp.elasticbeanstalk.com

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.