Amazon Web Services 即亚马逊云服务,前面我们讲到的RightScale是个统一云管理平台,也就是通过RightScale来管理AWS上的一切服务,当然RightScale也可以管理其他诸如Rackspace,CloudStack,Google Compute Engine等等云服务。

现在我们单独来介绍AWS的一项服务ELB(Elastic Load Balancing),即弹性负载均衡。根据AWS官方文档介绍如下:

Elastic Load Balancing 在多个 Amazon EC2 实例间自动分配应用程序的传入流量。使用 Elastic Load Balancing,您可以提高应用程序的容错性能,同时提供持续响应应用程序传入流量所需要的负载均衡容量。Elastic Load Balancing 可以检测出池内的不健壮实例,并自动更改路由,使其指向健壮实例,直到不健壮实例恢复健壮为止。客户可以在单个可用区域或多个可用区域中启用 Elastic Load Balancing,以提高应用程序性能的一致性。在 Amazon Virtual Private Cloud (VPC) 中也可以使用 Elastic Load Balancing 来在不同的应用程序层内部分配流量。


下面我们来逐步配置一个ELB,

首先登录AWS Console,然后在页面左上角点击Services会看到下拉菜单,选择EC2,因为ELB是内置于EC2服务里的,

Amazon Web Services - ELB 服务介绍_第1张图片

进入了EC2管理页面后,点击Load Balancers选项,

Amazon Web Services - ELB 服务介绍_第2张图片

然后我们开始创建一个新的ELB,取个好记的名字以标记该ELB,然后选择该ELB所对应的VPC(虚拟云端局域网),这是一个面向Internet的负载均衡,所以我们不勾选"Create an internal load balancer",选择要监听或转发的端口,如有443端口的话,可以直接在这里配置好SSL证书,则无需在APP服务器里再去配置证书了,非常方便。

Amazon Web Services - ELB 服务介绍_第3张图片

这一步设置健康检查,是ELB侦测后端app服务响应的,这里配置为检查80端口和web根目录的index.php文件,并且可以设置响应时间和检查间隔时间,点击下一步

Amazon Web Services - ELB 服务介绍_第4张图片

这里设置ELB所属的子网,由于App服务器都是在VPC网段里,所以这里我们要选择当前app实例所在的子网段,确定后点下一步

Amazon Web Services - ELB 服务介绍_第5张图片

这一步设置安全策略,也就是ELB面向公网开放的访问规则,这个需要在Security Group里设置,我们选定已设定好的Security Group,目前是面向公网开放80和443端口,然后继续,

Amazon Web Services - ELB 服务介绍_第6张图片

好了,轮到我们选择要加入ELB的服务器实例了,这也是最核心的部分,我们选择2个app实例作为负载均衡转发的对象,当然前提是已先建立好2个运行web服务的app实例,然后下一步,

Amazon Web Services - ELB 服务介绍_第7张图片

确认以上的所有设置,如没问题的话则点击创建,

Amazon Web Services - ELB 服务介绍_第8张图片


最后,我们可以看到该ELB已创建成功,2个实例已经正常工作,ELB创建成功后会生成一个比较长的域名供外部访问,如图看到的DNS Name,而我们可以创建一个CNAME类型的网站域名指向该ELB域名即可,这样外部通过访问网站域名则是指向ELB的域名,并且ELB将以轮询的形式转发外部请求给该2个实例,如需要额外修改或添加端口的话,可以直接编辑相关选项并保存配置即可。

Amazon Web Services - ELB 服务介绍_第9张图片

ELB作为AWS提供的一项负载均衡服务,的确大大减轻了运维人员的配置和维护的负担,并且不会存在单点故障,因此无需担心,操作简便灵活,上手非常轻松。