Amazon web services 如何使用路由53在AWS中使用单个弹性IP地址为多个子域提供服务?

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号公路的文件了,我看不出这是怎么做到的。我也看

我在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号公路的文件了,我看不出这是怎么做到的。我也看了亚马逊ELB,但不确定这是否有效

是否有人知道如何使用AWS工具(53号公路和/或ELB)进行设置?如果可以避免的话,我宁愿不必编写脚本或使用反向代理


任何想法或帮助都会很好。提前感谢。

对于要将流量重定向到的每个不同EC2实例,您需要1个弹性IP地址

  • 为example.com创建您的CNAME或ALIAS记录,并将其指向您的ELB
  • 对于每个需要子域的不同EC2实例,请执行以下操作:
  • 分配一个弹性IP地址
  • 将该弹性IP地址分配给EC2实例
  • 在路由53中创建一条A记录,将subdomain.example.com指向该弹性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