目前,我正在使用现有应用程序中的子域进行服务分割。
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等)。