我可以将Amazon ELB用于我的RDS实例以实现负载平衡吗?

时间:2013-04-16 09:54:35

标签: amazon-ec2 load-testing amazon-rds amazon-elb

我有两个问题:

  1. 我可以在RDS实例上使用ELB进行负载平衡吗?
  2. 我可以在EC2实例上安装多个服务器并为所有服务器运行单个ELB实例吗?

3 个答案:

答案 0 :(得分:7)

1 - 如果您的意思是只有一个RDS实例,那么在它前面的负载平衡请求就没有意义了。如果您的意思是拥有多个RDS实例,那么对负载均衡请求也没有多大意义,因为您的数据库服务器很可能在给定的时间点内具有不同的数据。我可以看到这个规则的唯一例外是你有只读RDS实例。在这种情况下,您可能会受益于在他们面前使用ELB。如果您的应用程序是写密集型的,则应该使用更大的RDS实例或转移到noSQL数据库。不要尝试将请求加载到读/写DMBS,因为您必须自己处理同步和许多其他(非平凡)方面。

2 - 是的,这是完全可行的。当然,对于Web服务器。一般不适用于DBMS。

答案 1 :(得分:0)

  1. 尽管将ELB附加到RDS的所有原因,AWS目前还没有提供将ELB连接到RDS的功能。 ELB仅使用EC2实例。

  2. 是/否,您可以在EC2实例上安装不同的服务,但无法在EC2实例上安装具有不同端口的相同服务。 ELB负载平衡相同服务到相同端口,但它可以在ELB上提供多个服务。它还只提供一个健康检查功能,因此如果一个服务已经死亡,这是健康检查点,ELB将同时阻止所有其他服务。

答案 2 :(得分:0)

对于问题1,我可以想到两个选择。一种是通过将数据库放入该实例的AMI来将其放入EC2实例。您需要将写操作写入所有数据库,或者让它们共享EFS中驻留的数据。另一种选择是使用Route 53和专用托管区域在RDS实例之间提供负载平衡。同样,如果他们使用EBS,则除非数据库驻留在EFS中,否则将需要对所有数据库进行所有写操作。

最终,您将需要尝试不同的配置并评估性能,以了解哪种配置最适合您的特定需求。

对于问题2,我不明白您的要求,因为我想到了服务器与EC2实例之间的一对一关系。它们之间有什么区别,因此您将一件事称为服务器,另一件事称为EC2实例? ELB在同一VPC和区域内的多个可用性区域上工作。