IBM Cloud Load Balancer(CLB) Introduction.
They have couple of other LBaaS services but here we are going talk to about the Cloud Load Balancers.IBM CLB offers couple of variations which user can apply at the time of CLB creation. For e.g.
- Select which data center one wants to create the CLB in.
- User can select a private CLB or Public CLB. Public CLB can be reached from the public networks where as private CLB can only reached within ones private network.
- For Public CLB one can select which public VLAN one can use. There is an option to use the IBMs public VLAN where customer doesn't have any control or user can select to get the public VAN from their own account, where customer have absolute control over it.
- Which private VLAN to use.
- Customize CIPHER for SSL HTTPS support (Can be only done as part of edit CLB)
CLB are billed in the following ways.
1. Service usage hours.
2. The outbound public bandwidth charges.(not applicable to private CLBs).
3. Total Data Processed (total of bytes in and bytes out).
Creating CLB
IBM's CLB can be created or managed though GUI or APIs. Here I am going to show how create/manage the CLBs through GUI.1. goto https://control.softlayer.com/network/loadbalancing/cloud and click on Order IBM Cloud Load Balancer or directly goto https://control.softlayer.com/network/loadbalancing/cloud/create
you will land in the following page.
2. Select data center in which you want to create the CLB. Please note based on the data center prices may vary. Click next.
3. In this page one can chose to create a public CLB or Private CLB, select the private VLAN and chose from where to get the public IPs. as shown below and click next.
Troubleshooting tip: If you decided to use your own public subnet for public IP make, sure you have opened the proper ports else creation will fail. Same thing with the private subnet.
4. In the next screen one is going to enter a name, a description and create front end and backend protocol. as shown in the image below.
Some points to be noted.
- Name has to fit a valid domain name as it's used in the returned CLB dns name.
- At the time of creation of CLB user can max add 2 protocols (i.e. 2 listeners and 2 backend pool). One can add more after CLB is create successfully.
- In this below image I am creating 2 protocols, one with HTTP frontend protocol with port 80 and other one is a HTTPS with port 443. Please note if you want to create a HTTPS load balancer one must have a cert in the IBMs cert service.
- For the backends I am using HTTP protocol along with port 80.
- There are dropdown options for load balancing method, session stickiness(only SOURCE IP is supported) and one can enter max connection anywhere from 1-15k
So lets click next and see.
5. Managing health monitors. Health monitors are used to monitor the health of the members added to the backend pool(shown in next step).
As shown in the below image we can see there is only one health monitor created even though we added 2 backend protocols(pools). This is because both the backend protocols have same protocol and port so only one health monitor created for both. If we had 2 different backend protocol or port then we will have 2 health monitors. To put it in the general term for every different backend protocol and port a new health monitor will be created.
One can edit following properties of the load balancer. I am just going to retain the original values.
- INTERVAL (SEC)
- TIMEOUT (SEC)
- MAX TRIALS
- PATH
Some of the things to keep in mind to avoid problems.
- HTTP health monitor expects a status code of 200, there is no way to configure this.
- Make sure the backend members can respond with 200 status code for PATH provided here for backend protocol HTTP and backend port configured in above step.
- For TCP a hand shake will be attempted to determine if the backend member is health on configured port.
Troubleshooting tip: Sometimes when the backend member's health is shown as unhealthy even though one made sure that the members are responding properly. In this case one can have any of the following problems.
- Backend member's private VLAN is different from the CLB's private VLAN, in this case if the VLAN spanning is not enabled there is no way for CLB to reach those members in the different private VLAN. https://knowledgelayer.softlayer.com/fr/procedure/enable-or-disable-vlan-spanning
- Firewall is blocking the traffic on your private network from CLB to backend members.
6. Time to add some backend members. One can add both bare metal and virtual servers as the backend members to the load balancer. All the members added here will be added to both the backend pools(in this example), in general term to all the backend pools created in step 4. If load balancing algorithm is weighted round robin weight of members can be edited too.
7. Order verification page. Verify once and click create to create the CLB. Wait for it to take back to the CLB page, if you can't find the newly created CLB refresh the page, it sometimes takes some seconds to appear there. Wait for the LB to become active.
8. CLB summary page.
9. Data flowing through the CLB. Since the load balancing algorithm is round robin request are sent to the members in one after the other.
- Request over HTTPS port 443
- Request over HTTP port 80
Please note that it's a personal blog. Any comments and questions are welcome. Happy to help :)
Comments
Post a Comment