Share transfer bandwidth because only one HAProxy droplet has high WAN traffic.

Posted June 5, 2016 4.8k views
NetworkingLoad Balancing

I’m using a droplet as a HA Proxy which catchs all requests and redirect them to other droplets through Private Network. So that, the HA Proxy droplet has very high transfer traffic, It not reasonable to pay for extra transfer on the droplet meanwhile other droplets even never use WAN transfer bandwidth.

There is any feature or a better configuration to solve this case?

Thank you,

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
2 answers

Have you been charged for over bandwidth? So far i know DO still didnt started charging for extra bandwidth usage.

Hi Giang,

If you are sending the traffic between your HA Proxy droplet and your other droplets via the private network that will not be counted towards your bandwidth usage as that is only for public transit, not for internal use.

So if you route it over the private network you won’t have any charges for it. =]

  • Hi Molsey,

    Thank you but this is not my question, my question is, for example:

    • I have 2 droplets, 1 HA Proxy, 1 Web Server. Each one have 2T WAN transfer bandwidth.
    • By end of month, because all users will access through HA Proxy, so the HA Proxy droplet’s bandwidth will over.
    • But the Web Server droplet still have 2T bandwidth, can I share this bandwidth to HA Proxy droplet, as well as other droplets inside my account?

    Thank you,

    • With HAProxy after inbound traffic is routed to the web servers, the web servers then themselves send replies back to the users, so you would be utilizing the 1TB allotment per web server since they are directly serving the traffic.

      • What you just described is Direct Routing. HAProxy is not capable of Direct Routing (like Keepalived or SeeSaw via LVS). Their own documentations claim this, and empirical testing proves such.

        Doing tcpdump -i eth0 on the load balanced web server sees no traffic, because it sends back data to the HAProxy server over eth1 (private network). Hence, the HAProxy droplet is the one incurring all the public network outbound bandwidth usage.

        LVS using Keepalived for DR doesn’t sound like it works well, because we would need to use virtual IPs, which I’m guessing doesn’t properly get routed between droplets – since thousands of customers would be contending for them otherwise, and highly unreliable in case of IP conflicts.

        So there really needs to be an option for aggregating a cluster’s worth of bandwidth, or load balancing isn’t feasible – at least not without having as many load balancers as web servers.