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

Geo*_*ble 9 amazon-web-services amazon-elastic-ip amazon-beanstalk

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

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

最终,我想要做的就是通过我的域调用我的服务器,如下所示:mydomain.com/someApiCall,我不想担心我的弹性 IP 变得“分离”。

Ste*_*pel 8

这目前是不可能的,实际上是使用中的Elastic Load Balancing (ELB)的限制,请参阅例如为什么亚马逊不允许将弹性 IP 分配给弹性负载均衡器?

弹性负载均衡器只是托管在 EC2 中的单个软件负载均衡器的集合,其中包含 DNS 负载均衡流量。该池可以包含多个 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 实例与自定义域名相关联 - 包括子域名和区域顶点