我可以为单个实例提供弹性 IP。没问题。
但我有一个 Elastic Beanstalk 应用程序。它可以根据需要创建和删除实例。它有一个负载均衡器。我如何让这些功能(Elastic IP 和 Elastic Beanstalk)协同工作?
最终,我想要做的就是通过我的域名调用我的服务器,如下所示:mydomain.com/someApiCall,并且我不想担心我的弹性 IP 会“分离”。
答案1
目前这是不可能的,实际上这是弹性负载平衡 (ELB)在使用中,参见例如为什么亚马逊不允许为弹性负载均衡器分配弹性 IP?:
弹性负载均衡器只是 EC2 内托管的单个软件负载均衡器的集合,其中的 DNS 负载均衡流量。该池可以包含多个 IP,每个可用区域至少一个,具体取决于流量水平。
D.Svanlunds 的回答负载均衡器和弹性 IP很好地总结了为什么 ELB 是这么设计的,而 Shlomo Swidler 的“Elastic Load Balancing” 中的“Elastic”:ELB 弹性及其测试方法对 ELB 架构及其在此背景下测试 Web 应用程序的含义进行了早期但深入的分析。
更新
关于您的评论:您正在与您的AWS Elastic Beanstalk通过映射到的 DNS 名称应用程序弹性负载均衡器,你可以将一个CNAME 记录反过来像往常一样,看到Elastic Load Balancer 概述:
Elastic Load Balancing 会自动为每个负载均衡器生成一个 DNS 名称。您可以使用 CNAME 将任何其他域名(例如 www.example.com)映射到自动生成的 DNS 名称,也可以使用亚马逊 53 号公路负载均衡器的 DNS 名称的别名。
更多详细信息请参阅将域名与 Elastic Load Balancing 结合使用, 哪个描述如何将您的 Elastic Load Balancing 实例与自定义域名关联 - 包括子域名和区域顶点。
答案2
但我有一个 Elastic Beanstalk 应用程序。它可以根据需要创建和删除实例。它有一个负载均衡器。我如何让这些功能(Elastic IP 和 Elastic Beanstalk)协同工作?
从...开始2017 年 9 月您可以使用网络负载均衡器在 beanstalk 中。它支持负载均衡器的静态 IP 地址。您还可以为负载均衡器启用的每个子网分配一个弹性 IP 地址。
答案3
如果您通过 mydomain.com/someApiCall 访问您的应用程序,则 Elastic IP 甚至不会出现在图片中。ElasticBeanstalk 为您提供如下所示的 URL:
http://myapp.elasticbeanstalk.com
您只需将您的域名转发至 myapp.elasticbeanstalk.com