负载平衡器如何将请求路由到应用程序服务器?

时间:2018-07-19 19:55:26

标签: amazon-web-services amazon-ec2 load-balancing elastic-load-balancer

我是AWS的新手,并试图了解负载均衡器如何将请求路由到真实服务器。我有两个问题:

问题1:

假设我有一个在198.1.1.1:80上运行的Web应用程序。用户使用www.example.com向我的应用程序发出请求。现在,在197.5.3.5上创建了负载均衡器并设置了安全组之后,我希望请求首先进入负载均衡器。

现在,通过输入www.example.com,请求将在内部从197.5.3.5路由到198.1.1.1:80。为了将www.example.com路由到负载平衡器服务器(197.5.3.5**),需要进行哪些更改?另外,从域名到IP地址的转换是如何发生的?我是域名资源记录和DNS服务器的新手。

问题2

我正在从头开始设置EC2实例,负载平衡器和安全组。在这种情况下,我应该将负载均衡器IP(197.5.3.5)与www.example.com关联吗?在这种情况下,我还需要了解:为了将www.example.com路由到负载均衡器服务器(197.5.3.5),需要进行什么更改?

2 个答案:

答案 0 :(得分:1)

创建弹性负载平衡器后,系统会为您提供 DNS名称,类似于:

myelb-756456754.us-west-2.elb.amazonaws.com

您应该使用CNAME记录将您的www.example.com域指向Load Balancer DNS名称。当用户转到域名时,它将解析为负载均衡器服务器之一的IP地址。 IP地址不应该被缓存,因为可以添加和删除负载平衡服务器。负载平衡器应始终通过其DNS名称(或您的域名,解析为负载平衡器DNS名称)进行引用。

如果您在EC2实例上使用自己的负载均衡器,则:

  • 为您的负载平衡实例创建一个弹性IP地址(以确保该地址将来不会更改)
  • 使用A记录将www.example.com定向到弹性IP地址
  • 配置您的负载均衡器以将流量发送到实例(使用您已加载的任何软件)

您的安全组配置应为:

  • 一个允许来自0.0.0.0/0(所有地方)的HTTP和HTTPS流量的负载均衡器安全组应与负载均衡器关联。
  • 允许来自 Load Balancer Security Group 的端口80(及其他端口)通信的 Application Security Group 应与Load Balancer后面的每个EC2实例相关联。

请注意,应用程序安全组正在接受来自 Load Balancer安全组(或更准确地说,来自与该group_关联的实例的通信)的流量。

答案 1 :(得分:0)

对于项目1,您需要更新DNS以指向负载均衡器的地址。 ELB后面将有X台机器,所有机器都运行同一网站。

第2项是同一件事-您需要将实例“添加”到ELB。