我在AWS云(ElasticBeansTalk)中部署了多个Tomcat实例。 EC2中有负载均衡器,但仅用于平衡AWS tomcats之间的负载。现在我想集成托管在私有服务器上的一些tomcats。我的想法是使用来自亚马逊的Route53,但显然我不能在同一个(子)域中添加2个不同的cnames。有没有办法整合这些山猫?
答案 0 :(得分:1)
CNAME
是指向"规范"的指针。 (实际)主机名,因此,根据定义,任何主机名只能有一个这样的值。
Route 53引入了Alias
概念来解决这个问题,所以您可能需要做的是创建加权资源记录集,使用别名A
记录来引用您的ELB,而不是CNAME。
http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/WeightedResourceRecordSets.html
根据云和私人机器的位置,机器容量,可用性,您想要混合事物的动机,连接成本与正常运行时间的价值以及可能的许多其他因素,与DNS的负载平衡可能太原始了,所以你可以考虑使用EC2托管的http反向代理(独立,或ELB本身),以做出更多有害的平衡决策。
我通过在EC2上运行的一组HAProxy实例路由我的大部分Web请求,即使目标计算机不是云托管的,因为我在这种方法中看到的灵活性和可用性优势,这对我来说超过了EC2实例和带宽的成本。到目前为止,我从未发生由该部分堆栈引起的中断事件。