+86 13541016684Mon. - Fri. 10:00-22:00

开始学习Amazon ELB(弹性负载均衡)

开始学习Amazon ELB(弹性负载均衡)

开始学习Amazon ELB(弹性负载均衡)

ELB(Elastic Load Balancing)

Amazon ELB是一个系统及网站的关口,即客户的访问(进口)及系统的相应结果(出口)都要经过ELB。

使用Amazon ELB可提高系统的系统的可用性及维护性!

创建Amazon ELB

  1. 点击:Services页面的EC2
  2. 点击:[NETWORK & SECURITY]下面的[Load Balancers]
  3. 点击:[Create Load Balancer]

CreateLoadBalancer

1 .定义负载均衡(Load Balancer)

定义负载均衡的时候,需定义ELB和EC2之间的通信方式,一般有2中方式HTTP及HTTPS。

Load Balancer Protocol Load Blancer Port Instance Protocol Instance Port
HTTP 80 HTTP 80
HTTPS 443 HTTP 80

在这里选择客户访问ELB的80端口,ELB再把数据转送(Forward)到EC2的80端口。

ELB以HTTPS(通常是443端口)方式处理的时候,需要在ELB上配置SSL证明书。

  1. Load Blanser name:awsgood
  2. Create LB Instance:在这里使用默认
  3. Create an internal load banacer:有效
  4. Enable advanced VPC configuration Listener Configuration:在这里不选择
  5. 最后点击[Next:Assing Security Groups]

DefineLoadBalancer

2. 定义安全组(Security Group)

在定义负载均衡的时候,ELB仅以HTTP(80端口)方式接收客户端的请求,因此安全组里也只允许HTTP(TCP协议的80端口)。

Type Protocol Port Range Source
Custom TCP Rule TCP 80 Anywhere 0.0.0.0/0
  1. 选择Create a new security group(在这里新建安全组)
  2. Security group name:awsgood for ELB(可任意填写)
  3. Description:This Security Group for ELB(可任意填写)
  4. 点击:Next:Configure Security Settings

AssignSecurityGroups

3. 设置安全

在这里没有选择HTTPS因此无设定页面,点击[Next:Configure health Check]。

ConfigureSecuritySettings

4. 配置Health Check

ELB需要确认管理下的EC2是不是在一个可提供服务器的状态下,这个管理机制就是Health Check(可用性检查)。

参数名 默认值 内容
Ping Protocol HTTP Health Check使用的协议
Ping Port 80 Health Check使用的端口
Ping Path /index.html ELB确认EC2可用性时访问的路径
Response Timeout 5 响应超时时间(单位:秒)
Helth Check Interval 30 Health Check的间隔(单位:秒)
Unhealthy Threshold 2 ELB确认EC2,连续失败多少次?会判定为EC2异常(OutOfService)
Healthy Threshold 10 ELB确认EC2,连续成功几回?判定为正常(InService)

ConfigureHealthCheck

5. 添加EC2实例

添加ELB管理的EC2实例。在这里只添加了一个Amazon EC2实例,创建ELB之后也可以添加EC2实例。

创建实例的方法,参照 : 5分钟创建Amazon EC2实例

参数名 说明
Enable Cross-Zone Load Balancing ELB管理下的EC2跨AZ(AvailabilityZone)的时候,以EC2实例为单位提供进行负载均衡。
Enable Connection Draining ELB管理下的EC2不能提供服务时(状态为OutOfService),以确立连接的Connection的维持时间(单位:秒)

AddEC2Intances

6. 定义标签

可定义任意的标签。

  1. Nmae:awsgood-ELB
  2. 点击:Review and Create

AddTags

7. 确认配置及创建ELB

确认ELB的配置正确以后,点击[Create]。

Review1

确认ELB

创建ELB以后查看其正确性。

  1. 选择创建ELB
  2. 点击Instance
  3. 查看Status为InService

CheckPoint如Instance的Status为OutOfService时,需查看Health Check的配置。

根据Health Check的配置,有时Status变为InService需要可能需要一点时间。如果确认Health Check的配置没有问题,并且过了一定时间(根据Health Check的配置不同)以后,状态还为OutOfService时候,可尝试以下操作。

  1. 点击该实例下面的[Edit Instances]
  2. 为选择该实例的状态下,点击[Save]
  3. 再次点击该实例下面的[Edit Instances]
  4. 选择该实例以后,点击[Save]

其实以上的操作就是把该实例从ELB的管理下删除/添加的操作。

万一EC2实例还是在[OutOfService]状态的话,需确认EC2的安全组(SecurityGroup)配置及Health Check配置里指定的路径是不是能访问。