Eucalyptus Elastic Load Balancer Implementation


Eucalyptus Versions: 3.3.0 and Greater 

Eucalyptus Load Balancer Implementation

The Eucalyptus Elastic Load Balancer was introduced in Eucalyptus 3.3.0 [1].  It provides the feature that is present in Amazon Web Services, that has the same name - Elastic Load Balancer [2].  From a cloud user perspective, when the a load balancer is deployed, the only resource that is viewed is the load balancer itself.  Example below:

$ eulb-describe-lbs --region account1-user01@
LOAD_BALANCER    MyLoadBalancer    2014-01-24T19:26:05.851Z
$ euca-describe-instances --region account1-user01@

However, from a cloud administrator point-of-view, not only can the load balancer resource be viewed, but also the instances associated with the load balancer resource can be viewed:

$ eulb-describe-lbs verbose --region admin@ --show-long
LOAD_BALANCER    MyLoadBalancer            {interval=30,target=TCP:80,timeout=5,healthy-threshold=3,unhealthy-threshold=2}    LayinDaSmackDown                {protocol=HTTP,lb-port=80,instance-protocol=HTTP,instance-port=80}                    {owner-alias=441445882805,group-name=euca-internal-961915002812-MyLoadBalancer        2014-01-24T19:26:05.851Z
$ euca-describe-instances --region admin@
RESERVATION    r-197E482B    441445882805    euca-internal-961915002812-MyLoadBalancer
INSTANCE    i-B1954449    emi-B41335F3    euca-172-17-126-170.eucalyptus.internal    running        0        m1.small    2014-01-24T19:26:17.335Z    LayinDaSmackDown    eki-71583A4F    eri-DD0D37F3        monitoring-enabled            instance-store                    paravirtualized        8363df9f-846e-4318-828e-a725dfde9e14_LayinDaSmackDown_1                arn:aws:iam::441445882805:instance-profile/internal/loadbalancer/loadbalancer-vm
TAG    instance    i-B1954449    Name    loadbalancer-resources
TAG    instance    i-B1954449    aws:autoscaling:groupName    asg-euca-internal-elb-961915002812-MyLoadBalancer
TAG    instance    i-B1954449    euca:node    node1

One thing to notice here is that the instance associated with the load balancer has a tag value for aws:autoscaling:groupName.  This is due to the method of deployment used for Eucalyptus Elastic Load Balancers.

Each load balancer deployed by a user is part of an Eucalyptus Autoscaling group.  This design was chosen to provide additional quality of service for the load balancer.  The autoscaling group associated with the load balancer is only viewable by the cloud administrator.

$ euscale-describe-auto-scaling-groups --region account1-user01@

$ euscale-describe-auto-scaling-groups --region admin@
AUTO-SCALING-GROUP    asg-euca-internal-elb-961915002812-MyLoadBalancer    lc-euca-internal-elb-961915002812-MyLoadBalancer-8a133686    LayinDaSmackDown        1    1    1    Default

INSTANCE    i-B1954449    LayinDaSmackDown    InService    Healthy    lc-euca-internal-elb-961915002812-MyLoadBalancer-8a133686

When the 
--availability-zones option is used with the eulb-create-lb command, the minimum and maximum size of the autoscaling group will match the number of arguments passed.

For additional design information regarding the Eucalyptus Elastic Load Balancer, please reference the wiki on Github under the eucalyptus/architecture repository [3][4].


[1]  Eucalyptus Elastic Load Balancer 3.3 Design
[2]  AWS Elastic Load Balancer
[3]  Eucalyptus Elastic Load Balancer 3.3 API Parameters
[4]  Eucalyptus Elastic Load Balancer 3.3 Benchmarking

Have more questions? Submit a request


Powered by Zendesk