应用程序负载均衡器使用子域进行服务分段

目前,我正在使用现有应用程序中的子域进行服务分割。

For example: www.example.com -> static website delivered from s3 admin.example.com -> ELB1 to ec2 group 1 accounts.example.com -> ELB2 to ec2 group 2 search.example.com -> ELB3 to ec2 group 3 

你可以看到,我需要3 ELB来实现这一点。 有了新的应用程序负载平衡器,我希望在1负载平衡器上使用路由规则来做到这一点。

 For example : www.example.com -> static website delivered from s3 admin.example.com -> ELB1 to ec2 group 1 accounts.example.com -> ELB1 to ec2 group 2 search.example.com -> ELB1 to ec2 group 3 

我不能重写我的应用程序来做到这一点。 我希望通过应用程序负载平衡器上的路由规则来实现这一点。

我知道我可以指定域名后部分的规则。 我可以指定子域的规则吗?

已经阅读: https : //blogs.aws.amazon.com/application-management/post/Tx3RG2S7V2LM4Y2/Introducing-Application-Load-Balancer-Unlocking-and-Optimizing-Architectures

好消息,AWS已经开始支持基于主机的路由。

资料来源: https : //aws.amazon.com/about-aws/whats-new/2017/04/elastic-load-balancing-adds-support-for-host-based-routing-and-increased-rules-on-其应用的负载均衡器/

您现在可以拥有基于主机的路由。

创build规则文档指出,“path模式”是当前规则可以基于的唯一可能字段:

http://docs.aws.amazon.com/cli/latest/reference/elbv2/create-rule.html

这表明提供对子域的访问的“主机”或类似命名的字段不是路由的选项。

但是,如果ec group 1 2和3上的应用程序可以支持在任意path和域上部署,则可以创build一个新的应用程序域,比如app.example.com,路由/pipe理ec group 1, /账户到EC组2,和/使用ALBsearch到EC组3,并且可以告诉现有子域301redirect到它们各自的新域+路由(admin.example.com – > 301到app.example.com / admin等)。