Amazon web services 如何使用路由53在AWS中使用单个弹性IP地址为多个子域提供服务?
我在AWS上有一个弹性IP地址,我想使用该IP地址根据子域将流量路由到多个不同的EC2实例。基本上,与apachehttpd服务器中的虚拟主机相同。例如:Amazon web services 如何使用路由53在AWS中使用单个弹性IP地址为多个子域提供服务?,amazon-web-services,amazon-ec2,network-programming,amazon-elb,amazon-route53,Amazon Web Services,Amazon Ec2,Network Programming,Amazon Elb,Amazon Route53,我在AWS上有一个弹性IP地址,我想使用该IP地址根据子域将流量路由到多个不同的EC2实例。基本上,与apachehttpd服务器中的虚拟主机相同。例如: example.com-ELB:xxx.xxx.xxx.xxx test.example.com指向EC2实例ID 1 build.example.com指向EC2实例ID 2 每个域的所有流量都将转到xxx.xxx.xxx.xxx,然后根据子域名路由53将流量发送到正确的实例 我已经看过53号公路的文件了,我看不出这是怎么做到的。我也看
- example.com-ELB:xxx.xxx.xxx.xxx
- test.example.com指向EC2实例ID 1
- build.example.com指向EC2实例ID 2
任何想法或帮助都会很好。提前感谢。对于要将流量重定向到的每个不同EC2实例,您需要1个弹性IP地址
注意:由于您的EC2实例需要直接访问,因此它们需要驻留在公共子网内。您不需要为每台服务器提供弹性ip。每个服务器都已经有了一个IP,所以您可以使用它(如果您确实想通过IP地址对服务器进行寻址),但您可能应该在您的域中为每个服务器设置一个cname,然后通过dns名称而不是IP地址对服务器的地址进行寻址 i、 e: 等 您不需要使用任何EIP 也许你可以更好地解释为什么你认为所有的流量都需要通过一个IP地址
我不能确定为什么AWS限制你只有5个EIP,但我很确定这是因为如果你发现你需要数百个EIP,那么你可能是做错了——强迫你请求超过5个,这让他们能够与你展开讨论,并帮助你以更好的方式进行讨论。弹性IP地址只能与单个EC2实例相关联。因此,如果需要将子域重定向到2个不同的EC2实例,则需要2个弹性IP地址。我是否可以将弹性IP分配给域或面向Internet的ELB,然后通过实例id或专用IP在AWS内部路由流量?不使用ELB。您可以使用nginx、HAProxy或其他负载平衡器来实现这一点。谢谢Matt。我希望不必走那条路线,但如果看起来这是唯一的解决办法。谢谢马特。我正在尝试设置它,这样我就不必每次需要添加新服务器时都返回Amazon获取新的弹性IP地址(初始限制为5个弹性IP地址)。如果我有100台独特的服务器,我认为你说的对吗。然后,我需要从Amazon获得100个唯一的弹性IP地址,以便公开访问?弹性IP地址仅在您希望EC2实例的IP地址保持一致时才需要。如果您只需要公共访问,那么自动分配的公共IP地址也可以使用。但是,如果实例停止并重新启动,此IP将发生更改。使用非弹性IP地址时,应仅保留内部使用。(例如开发/测试服务器)。这是事实,取决于用例。尽管值得注意的是,不建议在非弹性IP上记录别名:这通常是一种不好的做法,因为此IP的任何更改(例如停止/启动计算机)都可能会在传播新dns值时导致站点停机。afaik在AWS的限制保护用户免受不良行为(如您所说)的影响,避免在10分钟内收到10万美元的账单,以防您被黑客攻击或行为不当,并帮助AWS管理其资源感谢反馈。我之所以希望通过一个弹性IP地址来路由所有流量,是为了不必向亚马逊索要太多额外的EIP,因为正如你所说的,如果我必须这样做,那么很可能我做错了。以及我希望链接到实例ID的原因(可能不可能)因此,如果服务器重新启动并且实例获得新的公共IP和/或公共DNS,则无需我的手动干预,仍然可以访问该实例。如果需要,您可以向引导过程添加一点脚本,用正确的IP地址更新节点的route53记录。dns传播需要几分钟的时间,但除非您经常重新启动实例,否则这不重要。谢谢。这听起来是解决这个问题的好办法。
server1.example.com
server2.example.com
server3.example.com